--允许进行系统表的操作
use master
declare @databasename varchar(255)
set @databasename='Blwy BarCode'
--1.如果用户库无法启动,打开sql server分析查询器,执行以下命令
EXEC sp_configure 'allow update',1 reconfigure with override
--2.将数据库设置成紧急模式
UPDATE sysdatabases set status=-32768 where dbid=DB_ID(@databasename)
--3.创建日志文件dbcc rebuild_log (@databasename,'D:\Blwy BarCode_log.ldf')
--4.修改只允许DBO访问--sp_dboption @databasename,'dbo use only','false'
--5.验证数据库一致性
dbcc checkdb(@databasename)
--6.第5步失败,则
exec sp_dboption @databasename, N'single', N'true' --将目标数据库置为单用户模式
dbcc checkdb(@databasename,REPAIR_ALLOW_DATA_LOSS)
dbcc checkdb(@databasename,REPAIR_REBUILD)
exec sp_dboption @databasename, N'single', N'false' --将目标数据库置为多用户模式
--7.恢复数据库的紧急模式
update sysdatabases set status=0 where name=@databasename
--8.恢复系统表操作的设置
exec sp_configure @databasename,0 reconfigure with override