5

我在运行查询或存储过程时遇到问题。每次运行查询时,我都会收到以下错误:

由于数据移动,无法使用 NOLOCK 继续扫描。

如果我删除WITH NOLOCK命令,我会得到一个不同的错误:

消息 824,第 24 级,状态 2,第 1 行

SQL Server 检测到基于逻辑一致性的 I/O 错误:pageid 不正确(预期为 1:19818941;实际为 1:19818957)。它发生在读取文件“E:\SQLDATA\MSCRM.mdf”中偏移量 0x000025cd37a000 的数据库 ID 9 中的页面 (1:19818941) 期间。SQL Server 错误日志或系统事件日志中的其他消息可能会提供更多详细信息。这是威胁数据库完整性的严重错误情况,必须立即纠正。完成完整的数据库一致性检查 (DBCC CHECKDB)。这个错误可能是由许多因素引起的;有关详细信息,请参阅 SQL Server 联机丛书。

我应该怎么做才能解决这个错误?

4

2 回答 2

8

首先,显然,尝试DBCC CHECKDB.

如果这不能解决问题,您可能需要从备份中恢复,然后手动复制最近的更改。希望您一直在进行夜间备份...?

于 2013-06-02T04:59:50.643 回答
0

如果错误以任何对象(Proc、触发器、函数)为前缀,那么您可以直接删除并再次创建该对象,或者在可能的情况下更改它。

于 2022-01-05T10:59:31.930 回答