2010-06-09 121 views
94

如何強制我的數據庫脫機,而不考慮已經使用它的用戶?如何強制SQL Server 2008數據庫脫機

我想:

ALTER DATABASE database-name SET OFFLINE; 

但後7分鐘仍然掛。

我想要這個,因爲我需要測試場景。

如果這甚至是可能的?

回答

160

轉到離線見http://www.blackwasp.co.uk/SQLOffline.aspx

USE master 
GO 
ALTER DATABASE YourDatabaseName 
SET OFFLINE WITH ROLLBACK IMMEDIATE 
GO 

轉到網上

USE master 
GO 
ALTER DATABASE YourDatabaseName 
SET ONLINE 
GO 
+8

@radbyx:MSDN說,使用'master'的操作時,DB的狀態 – abatishchev 2010-06-10 15:36:03

+15

@radbyx:如果您使用MY_DATABASE,然後ALTER DATABASE MY_DATABASE SET OFFLINE將失敗,因爲*您正在使用它!是的,我剛剛被這個... ... – TarkaDaal 2012-03-29 12:04:19

+10

Didnt爲我工作: 消息5061,級別16,狀態1,行1 ALTER DATABASE失敗,因爲鎖不能放在數據庫'MyDatabase'上。稍後再試。 消息5069,級別16,狀態1,行1 ALTER DATABASE語句失敗。 – Andez 2012-07-09 11:02:36

20

您需要使用WITH ROLLBACK IMMEDIATE來啓動其他連接,而不考慮已經在使用它的人或者是誰。

或使用WITH NO_WAIT不會掛起並且不殺死現有連接。有關詳細信息,

相關問題