数据库质疑或只有MDF文件资料

修复损坏数据库
本文提供了一套详细的步骤来解决SQL Server中数据库损坏的问题,包括配置系统表操作权限、设置数据库为紧急模式、重建日志文件、调整数据库访问权限、检查及修复数据库一致性等。

--允许进行系统表的操作

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值