強制關閉SQL Server數(shù)據(jù)庫連接的方法
如果需要解決分離數(shù)據(jù)庫時脫機處理太慢的問題,就會用到強制關閉SQL Server數(shù)據(jù)庫連接的方法,下面就將為您介紹該方法的步驟,希望對您有所啟迪.
在SQL Server中備份/還原/分離/脫機/刪除指定數(shù)據(jù)庫時, 如果有其他用戶正在使用此數(shù)據(jù)庫時, SQL Server為了防止數(shù)據(jù)異常, 會報錯而終止你的操作.
當然, 在SQL 2005里, 在做[分離/刪除]數(shù)據(jù)庫時提供了一個選項[關閉所以連接]供勾選(SQL 2000好像沒有哦), 然而[備份/還原]操作卻沒有此選擇, 也許你會說可以先[脫機數(shù)據(jù)庫]再做[備份還原]操作, 對, 但你會發(fā)現(xiàn)[脫機]處理太慢了J, 那在SQL2005以及SQL 2000下有哪些方法可以解決此問題呢?
2.解決方法:
1. 拔掉此機器的網線. 呵呵, 這種方法立竿見影, 但是可能對其他的連接造成影響.
2. 通知連接至此數(shù)據(jù)庫的用戶斷開SQL Server數(shù)據(jù)庫連接. 如果可能連接的用戶很多或不知道哪個用戶正在連接的話就不可行了.
3. 在SQL Server中用命令StopLogin強行斷開SQL Server數(shù)據(jù)庫連接.詳細說明如下:
使用說明:
StopLogin @Dname
其中@Dname為要強行斷開SQL Server數(shù)據(jù)庫連接的數(shù)據(jù)庫名稱, 如果您想斷開數(shù)據(jù)庫’DEMO’的所有連接,則只要在查詢分析器中執(zhí)行[StopLogin ’DEMO’]即可, 如果您要斷開所有數(shù)據(jù)庫的連接進行維護的話則只要執(zhí)行[StopLogin ’’]即可.
下面用例子說明:
EX1. 使用StopLogin強行斷開連接前后SQL的執(zhí)行結果對比
首先, 我們執(zhí)行如下SQL語句:
USE DEMO2
GO#p#
SELECT *** * FROM INVMB
執(zhí)行結果為:
查詢已成功執(zhí)行
下面我們來執(zhí)行如下SQL語句:
StopLogin 'DEMO2'
執(zhí)行結果為:
由于數(shù)據(jù)庫'DEMO2' 離線,無法打開該數(shù)據(jù)庫。
【編輯推薦】