SQL Server Management Studio 管理工具

by adonisy 23. 十月 2017 10:20

DB World 國際中文電子雜誌 
作 者:楊先民
審 稿:張智凱 

 前言

SQL Server 2016也上市了一段時間,其中的管理工具 SQL Server Management Studio變成是要獨立安裝,本期就來介紹一下,在 SQL Server Management Studio 的環境中,會出現可能疑似的 bug。

獨立安裝的管理工具

SQL Server 2016之後開始,管理工具需要獨立安裝

 

以前的 SQL Server,管理工具不是獨立安裝,如果管理工具有什麼 bug的話,必需等到下一版的 SQL Server有新的管理工具,印象中並沒有專門為管理工具設計的 Service pack之類的修補程式。

而 SQL Server自 SQL 2005之後的管理界面都幾乎沒變,有差的只有上面寫的是 2005、2008的字樣,所以之前就預料管理工具有可能會讓你獨立安裝。

再者,有些管理者只是想用管理工具,利用區域網路管理 SQL Server,以前 SQL Server的管理工具若是想裝在像是 Windows 7的作業系統上,必需把安裝光碟拿出來,然後只是為了安裝上面的管理工具,現在就比較單純了,因為可以直接從微軟的網站下載就好,而且還可以隨時更新到最新的版本,像我現在所下載到的是 17.3的版本。

 

這個 17.3的版本,可以管理到 SQL Server 2008的版本,所以現在管理工具就連 2016的字樣也沒有了,直接變成 V17.3的版本。

附帶一提,如果你的 SQL Server是英文版的話,SSMS管理工具也必需要安裝英文版的,而這裡有一個很自動的事情就是如果你的作業系統地區選項是中文,他會幫你自動的導向到中文的下載頁面,它可不會管你的 SQL Server是中文還是英文,所以記得到網站的時後,要下拉選擇適當的語系下載,不然它會直接不讓你裝。

 

 

第一次安裝的人常會搞不清楚,白花了很多時間,其實我也是那時才知道語系不同的管理工具不給安裝的,但是管理我印象中是沒有問題的啊...

目前已知的 bug

為什麼我會說目前管理工具已知的 bug呢?因為這些問題在之前的版本並沒有這樣的問題,只出現在新的管理工具之中,不知道什麼時後微軟才會發現這個問題,進而加以修復。

第一個 bug是出現在單一使用者模式,如果你是使用 Object Explorer,當資料庫設定成單一使用者模式的時後,馬上用同一個 Object Explorer設定回多使用者模式,整個管理工具會凍結住,然後出現錯誤訊息,一定得使用 alter database set multi_user的語法,才能將單一使用者模式切換回多使用者模式。

至於為什麼會有這個錯誤訊息,原因不明,因為用錯誤訊息去尋找,發現這個錯誤根本就像「這個應用程式即將關閉,請洽你的程式設計師」一樣常見,也沒有正確的原因。

而這個功能我確定在 2014之前的管理工具是可以使用的。

 

所幸 SSMS的 offline功能提供了「將使用目前資料庫的連結刪除」,不然管理工具根本等於廢了,利用圖形界面設定單一使用者模式,竟然得用SQL指令才能恢復,豈不怪哉?

我搜尋了一下網站,似乎並沒有有人提到這樣的問題?難到大家都沒有用這個功能嗎?

 

第二個疑似的 bug自然也是和連線問題有關,那就是還原資料庫時的問題。

我們在回復資料庫的時後,如果資料庫本身有問題的話,會先備份 tail log,讓資料庫變成 restoring 的狀態,然而這個動作在管理工具上會變的非常慢才會出現,當然有人會問,資料庫的資料本身已經壞掉了,是要如何備份 tail log 呢?其實還是可以的,就是用 backup device,用 backup device按右鍵可以選擇備份資料庫,這時畫面會凍結。


想要下拉到想還原的資料庫時,會凍結,大概要等個一陣子,至少1分鐘起跳,才能下拉到想還原的資料。

這個還不是最嚴重的,當 tail log備份完要將剩餘的資料還原時,選擇資料庫右鍵-->工作-->restore-->database時,此時也會凍結,而且這個凍結將不會恢復,就是一直等待等待沒完沒了。

什麼時後會恢復正常呢?當你用指令 restore完之後,凍結才會結束(眾人齊聲:裝笑偉)。

至於如果資料庫沒有壞掉,只想回復到之前某個時間點,需搭配使用單一使用者的話,就更不用說了,這整段都無法使用圖形界面,只能純指令回復資料庫。

所以也可以說,還原資料庫的圖形界面我正式宣告廢了...因為這些功能在舊的 SSMS上是很正常沒有問題的。

 

至於第三個應該不能算是 bug,只能算是使用者感觀的問題,那就是當你用管理者設定資料庫 offline時,此時資料庫不會立即顯示 offline,大概也要等個30秒左右才會顯示,如果你以為只有這樣的話,當你使用非管理者登入 SQL Server時,原本應該會顯示資料庫的名稱,但是此時也會凍結住,也是要等個好一陣子才會沒有問題,至於管理者以及之前版本的 SSMS 都沒有這樣的狀況出現。

目前是我在使用 SSMS 管理工具所遇到的狀況,也許在未來的某一天,微軟會發現有這樣的問題而加以改善吧,希望能夠快一點!

 



Tags:

SQL Server資料庫 | 楊先民Adonis Young

不允許評論

NET Magazine國際中文電子雜誌

NET Magazine國際中文電子版雜誌,由恆逸資訊創立於2000,自發刊日起迄今已發行超過500篇.NET相關技術文章,擁有超過40000名註冊讀者群。NET Magazine國際中文電子版雜誌希望藉於電子雜誌與NET Developer達到共同學習與技術新知分享,歡迎每一位對.NET 技術有興趣的朋友們多多支持本雜誌,讓作者群們可以有持續性的動力繼續爬文。<請加入免費訂閱>

月分類Month List