SQL Server 2008 – 更改表中主键的标识增量

我正在改变一个列的身份增量(使2而不是1)。 SQL Server在更改数据库时给我以下错误。 我在互联网上search,但一些人说,这可能是一个硬件问题,但我已经在不同的机器上尝试同样的事情,但它给了我同样的错误。 以下是错误…

无法修改表格。 SQL Server检测到基于逻辑一致性的I / O错误:不正确的校验和(预期:0x0c413292;实际:0x0c413282)。 它发生在文件'C:\ Program Files \ Microsoft SQL Server \ MSSQL10.MSSQLSERVER \ MSSQL \ DATA \ TimeCommerceV5.mdf'中偏移量为0x0000000a812000的数据库ID为7的页面(1:21513)中。 SQL Server错误日志或系统事件日志中的其他消息可能会提供更多详细信息。 这是一个严重的错误条件,威胁数据库的完整性,必须立即纠正。 完成完整的数据库一致性检查(DBCC CHECKDB)。 这个错误可能是由许多因素引起的; 有关更多信息,请参阅SQL Server联机丛书。

你有一个很好的备份? 它可能是时候使用它。 我怀疑这与改变身份增量有什么关系,而是由于尝试从坏页面复制/写入数据造成的。 DBCC CHECKDB产生了什么? 怎么样:

 DBCC PAGE(7, 1, 21513, 3); 

(从评论移动)投票移动到serverfault,我相信你正在给出的错误,你的立即行动是不要恐慌,立即备份数据库。 然后,您可以开始查找dbcc checkdb,并查看已损坏的内容。

我不能强调“不要恐慌”“立即备份数据库”必须是你的下两个步骤。

一旦完成,运行

 DBCC CHECKDB (YOURDBNAME) WITH ALL_ERRORMSGS, NO_INFOMSGS 

回到我们/ serverfault的输出,如果幸运的话,它只是一个非聚集索引已损坏。