SQL SERVER 2000数据库置疑 紧急模式
SQL SERVER 2000数据库,服务重启之后系统库以外的其它库都会出现置疑(置疑之前没有备份的库。除非是置疑前一秒刚备份完,或者是备份完没有再使用,可以直接恢复):
1、停掉SQL SERVER 服务(开始--控制面板--管理工具--服务--MSSQLSERVER--右键停止)
2、找到置疑库的数据文件mdf和ldf存放位置,备份此文件到其它文件夹
3、重启SQL SERVER服务
4、新建与置疑库同名的新库
5、停掉SQ L SERVER服务
6、用置疑库的mdf文件覆盖新同名库的mdf文件(ldf文件不用覆盖)
7、重启SQL SERVER服务
8、此时可以看出新建的库也是置疑状态
9、运行命令:
- use master
- go
- sp_configure 'allow updates',1 reconfigure with override
- go
- update sysdatabases set status =32768 where name='置疑的数据库名称'
- go
- sp_dboption '置疑的数据库名称', 'single user', 'true'
- go
- dbcc checkdb('置疑的数据库名称')
- go
- update sysdatabases set status =28 where name='置疑的数据库名称'
- go
- sp_configure 'allow updates', 0 reconfigure with override
- go
- sp_dboption '置疑的数据库名称', 'single user', 'false'
- go
但是也有情况,备份此库的时候提示为紧急状态下打开的数据库不可以备份操作,那么应该怎么解决这个问题呢:
11、停掉SQL SERVER服务,找到置疑库的ldf文件,并且删除
12、设置数据库允许直接操作系统表(此操作可以在SQL Server EnterpriseManager里面选择数据库服务器,按右键,选择“属性”,在“服务器设置”页面中将“允许对系统目录直接修改”一项选中。)
13、设置置疑的库为紧急修复模式
- update sysdatabases set status=-32768 where dbid=DB_ID('置疑的数据库名称')
14、重建数据库日志文件
- dbcc rebuild_log('置疑的数据库名称','(置疑的数据库路径)E:\Microsoft SQL Server\Data\置疑的数据库名称_log.ldf')
服务器: 消息 5030,级别 16,状态 1,行 1
未能排它地锁定数据库以执行该操作。
DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。
说明您的其他程序正在使用该数据库,如果刚才您在F步骤中使用SQL Server EnterpriseManager打开了eisdoc库的系统表,那么退出SQL Server EnterpriseManager就可以了。(关闭企业管理器,如果别的机器从网络访问数据库,也把网络关闭)
正确执行完成的提示应该类似于:
警告: 数据库 'eisdoc' 的日志已重建。已失去事务的一致性。应运行 DBCC CHECKDB以验证物理一致性。将必须重置数据库选项,并且可能需要删除多余的日志文件。
DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。
此时打开在SQL Server EnterpriseManager里面会看到数据库的状态为“只供DBO使用”。此时可以访问数据库里面的用户表了。
15、验证数据库一致性(可省略)
- dbcc checkdb('置疑的数据库名称')
CHECKDB 发现了 0 个分配错误和 0 个一致性错误(在数据库 '置疑的数据库名称' 中)。
DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。
16、设置数据库为正常状态(如果没有出错,那么现在就可以正常的使用恢复后的数据库啦。)
sp_dboption '置疑的数据库名称','dbo use only','false'
17、关闭“允许对系统目录直接修改”一项(参考第12项操作)
因为平时直接操作系统表是一件比较危险的事情。当然,我们可以在SQL Server EnterpriseManager里面恢复。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 提示词工程——AI应用必不可少的技术
· 地球OL攻略 —— 某应届生求职总结
· 字符编码:从基础到乱码解决
· SpringCloud带你走进微服务的世界