SQL Server 2008数据库置疑修复解决方法

2019-09-08 09:25:25
文件版本 :
立即下载

一、问题现象:

数据库置疑,分离都操作不了。报错:

更改 对于 数据库“AIS20170806201931”失败。  (Microsoft.SqlServer.Smo)


有关帮助信息,请单击: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=10.50.1600.1+((KJ_RTM).100402-1539+)&EvtSrc=Microsoft.SqlServer.Management.Smo.ExceptionTemplates.FailedOperationExceptionText&EvtID=更改+Database&LinkId=20476


------------------------------

其他信息:


执行 Transact-SQL 语句或批处理时发生了异常。 (Microsoft.SqlServer.ConnectionInfo)


------------------------------


传递给数据库 'AIS20170806201931' 中的日志扫描操作的日志扫描号 (14568:10748:1) 无效。此错误可能指示数据损坏,或者日志文件(.ldf)与数据文件(.mdf)不匹配。如果此错误是在复制期间出现的,请重新创建发布。否则,如果该问题导致启动期间出错,请从备份还原。

恢复期间出错,导致数据库 'AIS20170806201931' (数据库 ID 10)无法重新启动。请诊断并纠正这些恢复错误,或者从已知的正确备份中还原。如果无法更正错误,或者为意外错误,请与技术支持人员联系。

无法打开数据库 'AIS20170806201931'。恢复操作已将该数据库标记为 SUSPECT。有关详细信息,请参阅 SQL Server 错误日志。

ALTER DATABASE 语句失败。 (Microsoft SQL Server,错误: 9003)


有关帮助信息,请单击: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&EvtSrc=MSSQLServer&EvtID=9003&LinkId=20476


------------------------------

按钮:


确定

------------------------------

二、解决办法:

1:重新建立一个,一样的数据库,路径名称,文件都一样哈;

2:关掉SQLSERVER服务;

3:把源文件COPY过来;

4:开启SQLSERVER服务;

5:执行下面的1到4步。OK


--1、修改数据库为紧急模式

ALTER DATABASE 数据库名 SET EMERGENCY

--2、使数据库变为单用户模式

ALTER DATABASE 数据库名 SET SINGLE_USER

--3、修复数据库日志重新生成,此命令检查的分配,结构,逻辑完整性和所有数据库中的对象错误。当您指定“REPAIR_ALLOW_DATA_LOSS”作为DBCC CHECKDB命令参数,该程序将检查和修复报告的错误。但是,这些修复可能会导致一些数据丢失。

DBCC CheckDB (数据库名, REPAIR_ALLOW_DATA_LOSS)

--4、使数据库变回为多用户模式

ALTER DATABASE 数据库名 SET MULTI_USER