你的位置:首页 > 技术支持 > 解决方案

数据库置疑修复的操作步骤

2024-11-27 23:59:37      点击:

发现数据库置疑、可疑,可疑复制以下内容粘贴到数据库查询窗口,按步骤操作,每一步都要单独执行。


--1 在发现置疑的数据库后,首先停止数据库服务,将该数据库对应的数据库文件及日志文件备份一份。

--2 如果在当前数据库服务器上处理置疑,在复制文件后重新启动数据库服务器开始第4步操作。

--3 如果要把备份文件转移到其他服务器上处理置疑,先按以下步骤在其他服务器上恢复该置疑数据库。

--3.1 创建一个新的数据库,命名为置疑的数据库的名称。

--3.2 停止SQL Server服务,用[复制来的旧数据库]MDF文件替换[新建的数据库]的MDF文件,删除[新建的数据库]的LDF文件。

--3.3 启动SQL Server服务。

--4 以下数据库需要有一定的数据库基础,其中‘dbname’是置疑的数据库名称,‘dbname_log’是日志文件逻辑名,‘E:\dbname_log.ldf’是日志文件存储路径,注意替换为对应的正确路径和名称。

--4.1 设置为紧急状态:

ALTER DATABASE dbname SET EMERGENCY

--4.2 设置为单用户模式:

ALTER DATABASE dbname SET SINGLE_USER

--4.3 重建日志文件:

ALTER DATABASE dbname REBUILD LOG ON (NAME=dbname_log, FILENAME='E:\dbname_log.ldf')

/*执行后,会有警告信息,属于正常情况继续逐步执行:

警告: 数据库 'xhtyjbbs' 的日志已重新生成。已失去事务的一致性。

RESTORE 链已断开,服务器不再有以前的日志文件的上下文,因此您需要了解它们的内容。应运行 DBCC CHECKDB 验证物理一致性。

数据库已置于 dbo-only 模式。在准备使数据库可用时,需要重置数据库选项,并删除所有多余的日志文件。*/

--4.4 检查数据库错误:

--可疑多次执行该语句,直到最终提示无错误。

DBCC CHECKDB(dbname, REPAIR_ALLOW_DATA_LOSS)

--4.5 恢复成多用户模式:

ALTER DATABASE dbname SET MULTI_USER

--4.6 重启数据库服务,在management studio中刷新数据库视图。

--4.7 设置数据库在线:

ALTER DATABASE dbname SET ONLINE



作者:陈旭

来源:金蝶云社区

原文链接:https://vip.kingdee.com/questions/152510203059869979/answers/152510233577625956?productLineId=7&isKnowledge=2&lang=zh-CN

著作权归作者所有。未经允许禁止转载,如需转载请联系作者获得授权。