SQL Server 数据库移植后不能执行大数据量查询 解决方法

SQL Server 检测到基于一致性的逻辑 I/O 错误

SQL Server 检测到基于一致性的逻辑 I/O 错误

校验和不正确(应为: 0xd4eae74b,但实际为: 0xd4eb674b)。在文件 'D:/Program Files/Microsoft SQL Server/MSSQL.1/MSSQL/DATA/Vmanage.mdf' 中、偏移量为 0x000000005be000 的位置对数据库 ID 7 中的页 (1:735) 执行 读取 期间,发生了该错误。SQL Server 错误日志或系统事件日志中的其他消息可能提供了更详细信息。这是一个威胁数据库完整性的严重错误条件,必须立即纠正。请执行完整的数据库一致性检查(DBCC CHECKDB)。此错误可以由许多因素导致;有关详细信息,请参阅 SQL Server 联机丛书。

出现这种错误。客户直接说使程序原因。自己虽然直到不是程序的原因,但心里没底,没有遇到过这种问题。只好网上查资料了。大部分说是硬盘坏了,但是我感觉此问题是由于数据库操作的时候出现突然断电或关机造成的数据库与事物上的不一致。于是找到了网上的解决方法

use 【Vmanage】

go

ALTER DATABASE Vmanage SET SINGLE_USER   设置为单用户

DBCC CHECKDB (Vmanage, repair_allow_data_loss) with NO_INFOMSGS   允许丢失错误

go

ALTER DATABASE Vmanage SET MULTI_USER   设置为多用户

go

执行通不过,错误信息

消息 8921,级别 16,状态 1,第 3 行
检查已终止。收集事实数据时检测到错误。可能是 tempdb 空间用尽或某个系统表不一致。请检查前面的错误消息。
消息 824,级别 24,状态 2,第 3 行

我这里只有备份,看不到他的tempdb。而且是由于mdf错误,所以删除日志文件这条路也是行不通的。

但是让我发下数据库可以执行sql的查询命令,所以。我想是由于个别表的错误造成整体不能用。于是我用数据对拷,我用另一台机器装上sql数据库,新建数据表Vmanage,然后导入数据,当表(不要选视图表)全选之后他会弹出具体那个表错误,把错误的表先去掉选择,然后数据导入成功。然后根据以前的备份,恢复错误的表。

终于搞定,希望对大家有所帮助。

你可能感兴趣的:(SQL Server 数据库移植后不能执行大数据量查询 解决方法)