The Will Will Web

記載著 Will 在網路世界的學習心得與技術分享

善用 SQL Server Management Studio 選項設定DB作業環境

我們每天與 SQL Server 資料庫為伍,絕對不能跟 Management Studio 不熟,就像我們一般日常做程式開發時一樣,開發工具的「選項」設定多少都會調整一下方便我們工作。但是工作環境切換到 Management Studio 之後我卻發現許多人不知道要善用 Management Studio 的 [選項] 設定,今天我就來分享一些我常用的 [選項] 設定值 (非預設值)。

... 繼續閱讀 ...

如何讓使用中的資料庫中斷所有連線以執行資料庫更新動作

最近有個專案由於需要對資料庫修正設定,必須開啟 SQL Server 2005 的查詢通知(Query Notification)功能,由於開啟查詢通知功能要啟用 Service Broker,而設定時需要中斷所有與該資料庫的連線才能設定成功,我們一般的實務作法是先將資料庫轉為「單人模式」再進行操作,但因為網站並沒有斷線,所以當透過 Management Studio 的 GUI 介面對資料庫切換至單人模式後,這個「單人」卻立即被網站的連線給搶走!

... 繼續閱讀 ...

SQL Server 透過 TCP/IP 遠端連線時如何使用非 1433 埠號

最近客戶提供了一台 SQL Server 2008 的測試機給我們,不過特別的是他們提供的 SQL Server 2008 並非使用預設的 1433 埠號(Port)。一般來說,網路連線到非預設埠號時,都會使用冒號 ( : ) 分隔,不過當我在 SQL Server Management Studio 中輸入 192.xxx.xxx.111:14333 這樣的格式連線時,卻會出現以下錯誤:

... 繼續閱讀 ...

讓 SQL Server 告訴你有哪些索引應該被重建或重組

我去年有一段時間睡覺前都在看 SQL Server 2005 證照的書(MCTS 70-431),從中學到許多資料庫實際運作的技術細節,例如: 索引的結構。當資料庫中的索引碎裂(index fragmentation)程度過高時,索引的效率就會大大降低,為了避免這個問題發生,就必須定時替資料庫健檢(維護資料庫),也就是進行索引重建(rebuild)或索引重組(reorganize)。

... 繼續閱讀 ...

在 SQL Server 中如何成功卸離資料庫

有時後我們為了要將資料庫的資料檔(*.mdf)與紀錄檔(*.ldf)複製出來,會需要先暫時卸離資料庫(Detach Database),因為卸離資料庫需要有資料庫的獨佔存取權,但是不管是在測試機或正式機上,資料庫往往都會因為還有連線存在導致資料庫無法卸離,對於這點我通常有兩種作法。

... 繼續閱讀 ...

SQL Server中秘密的PWDENCRYPT與PWDCOMPARE函數

前幾天有個客戶的網站出問題(不是我們開發的),請我們幫他看,主要的問題是他們的網站會員在進行查詢密碼時,會員收到信的時候在密碼的欄位竟然會出現 System.Binary[] 字樣。而我進去資料庫中查看時,發現該會員資料表中的密碼欄位是 varbinary 格式,而我當然不知道他儲存的是什麼值,進而查看他們資料庫中的 Stored Procedure 對於密碼欄位的操作方法,這才發現他們用來驗證會員是否正確登入的方法是使用 PWDCOMPARE 函數。

... 繼續閱讀 ...