如何强制SQL Server 2008数据库脱机


106

我如何不考虑使用什么数据库或谁正在使用数据库而强制使数据库脱机?

我试过了:

ALTER DATABASE database-name SET OFFLINE;

但是7分钟后它仍然挂着。

我想要这个,因为我需要测试场景。

如果可能的话?

Answers:


186

下线

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在操作数据库状态时使用
abatishchev 2010年

17
@radbyx:如果您使用MY_DATABASE,则ALTER DATABASE MY_DATABASE SET OFFLINE将失败,因为您正在使用它!是的,我只是被那个刺痛……
TarkaDaal 2012年

10
对我不起作用:消息5061,级别16,状态1,第1行ALTER DATABASE失败,因为无法在数据库“ MyDatabase”上放置锁。稍后再试。消息5069,级别16,状态1,第1行的ALTER DATABASE语句失败。
安德斯(Andez)

6
我见过很多情况,您仍然需要使用'sp_who2 active'/'sp_whoisactive'来查看预定作业机器或中间层设备的某些顽固连接,并使用SPID号运行KILL来摆脱它们
克里斯·伍德

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.