笔记46 SQL2005数据库置疑或者丢失日志文件的解决方法
笔记46 SQL2005数据库置疑或者丢失日志文件的解决方法
1 --SQL2005数据库置疑或者丢失日志文件的解决方法 2 USE master 3 --1.首先查看下数据库此时的状态 4 select name,state,state_desc from sys.databases where name='GPOSDB' 5 6 7 --2.设置数据库为紧急模式 8 ALTER DATABASE GPOSDB SET EMERGENCY 9 select name,state,state_desc from sys.databases where name='GPOSDB' 10 11 12 --3.设置数据库为单用户模式 13 ALTER DATABASE GPOSDB SET SINGLE_USER WITH ROLLBACK IMMEDIATE 14 15 16 --4.重建日志文件 17 DBCC CHECKDB('GPOSDB',REPAIR_ALLOW_DATA_LOSS) 18 19 20 --文件激活失败。物理文件名称'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\GPOSDB_log.ldf'可能不正确。 21 --将禁用数据库 "GPOSDB" 中的 Service Broker,因为数据库(5E61BFFB-E71A-4671-9599-F32BF58F1588)中的 Service Broker GUID 与 sys.databases (517126A5-3319-4BF4-A449-384D4DA1A578)中的不匹配。 22 --警告: 数据库 'GPOSDB' 的日志已重新生成。已失去事务的一致性。RESTORE 链已断开,服务器不再有以前的日志文件的上下文,因此您需要了解它们的内容。应运行 DBCC CHECKDB 验证物理一致性。数据库已置于 dbo-only 模式。在准备使数据库可用时,需要重置数据库选项,并删除所有多余的日志文件。 23 24 25 26 --5.检查数据库状态 27 select name,state,state_desc from sys.databases where name='GPOSDB' 28 29 --6.将数据库由单用户模式修改为多用户模式 30 ALTER DATABASE GPOSDB SET MULTI_USER 31 32 33 34 --数据库此时已可正常使用