针对 SQL Server 2008 SQL Server 2005
use master
declare @databasename varchar(255)
set@databasename='[数据库名]'
-- 将目标数据库置为单用户状态
exec sp_dboption@databasename, N'single', N'true'
-- 修复数据库dbcc checkdb(@databasename,REPAIR_REBUILD)
-- 将目标数据库置为多用户状态
exec sp_dboption@databasename, N'single', N'false'
针对 SQL Server 2012
USE master;
GO
ALTER DATABASE AdventureWorks2012
SET SINGLE_USERWITH ROLLBACK IMMEDIATE;
GO
ALTER DATABASE AdventureWorks2012
SET READ_ONLY;
GO
ALTER DATABASE AdventureWorks2012
SET MULTI_USER;
GO