开发者社区> 问答> 正文

SQL Server:列可为空性不一致

我有一个SQL Server 2005数据库,只能使用

Restore Database The_DB_Name
From Disk = 'C:\etc\etc'
With Continue_After_Error

有人告诉我源数据库很好。还原报告

警告:在数据库“ The_DB_Name”中对象ID nnnnn的索引“ IDX_Comp_CompanyId”(index_id = 2)的元数据中检测到列可空性不一致。索引可能已损坏。运行DBCC CHECKTABLE以验证一致性。

DBCC CHECKTABLE (Company)

消息8967,级别16,状态216,行1在DBCC中发生内部错误,阻止了进一步处理。请联系客户支持服务。

消息8921,级别16,状态1,第1行 检查已终止。收集事实时检测到故障。可能tempdb空间不足或系统表不一致。检查以前的错误。

Alter Index IDX_Comp_CompanyId On dbo.Company
Rebuild

给我

消息824,级别24,状态2,第1行 SQL Server检测到基于逻辑一致性的I / O错误:错误的pageid(预期为1:77467;实际为45:2097184)。它是在读取文件ID C:\ etc \ etc.mdf中偏移量0x00000025d36000的数据库ID 20中的页面(1:77467)时发生的。SQL Server错误日志或系统事件日志中的其他消息可能会提供更多详细信息。这是严重的错误情况,威胁数据库的完整性,必须立即更正。完成完整的数据库一致性检查(DBCC CHECKDB)。此错误可能是由多种因素引起的;有关更多信息,请参见SQL Server联机丛书。

我有多少麻烦?

展开
收起
心有灵_夕 2019-12-28 23:05:16 867 0
1 条回答
写回答
取消 提交回答
  • 索引中的损坏几乎不像基表中的损坏那样严重,因为可以重建索引。

    比较源数据库和目标数据库之间的表和索引定义。同时检查两个服务器的版本。(备份还原到服务器后会自动升级吗?)删除并重新创建索引,然后重新运行CheckTable。

    2019-12-28 23:05:30
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
SQL Server在电子商务中的应用与实践 立即下载
GeoMesa on Spark SQL 立即下载
原生SQL on Hadoop引擎- Apache HAWQ 2.x最新技术解密malili 立即下载