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