徵狀

請試想下列案例:

  • 您擁有在 Microsoft SQL Server 2012 或 SQL Server 2014 中啟用快照隔離或已讀承諾快照隔離層級的資料庫。

  • 資料庫包含包含多欄叢集索引的非空白資料表。 叢集索引的前導鍵會設定為 NOT Null。

  • 您開始事務並將資料行新增至資料表。 此資料行的值已更新。

  • 您可以變更叢集索引的前導鍵,以允許 Null 值。

  • 您為叢集索引的前導鍵插入包含 Null 值的資料列,然後中止事務。

在這種情況下,復原會使資料庫成為置疑,而且只有使用 DBCC CHECKDB 的「修復」 REPAIR_ALLOW_DATA_LOSS 命令。 此外,您可能會收到下列錯誤訊息:

Msg 3316、Level 21、State 2、Line 135 在您復原資料庫 ' %1!」中的記錄作業期間,記錄的記錄識別碼% S_LSN 發生錯誤。 找不到列。 從完整備份還原資料庫,或修復資料庫。

解決方案

SQL Server 2014 的 Service pack 資訊

若要解決此問題,請取得 SQL Server 2014 的 Service Pack 1。

如需 SQL Server 2014 Service Pack 1 (SP1)的詳細資訊,請參閱 在 Sql server 2014 Service pack 1 中修正的錯誤

SQL Server 2012 的 Service pack 資訊

若要解決此問題,請取得最新的 Microsoft SQL Server 2012 service pack。如需詳細資訊,請按一下下列文章編號,以查看 Microsoft 知識庫中的文章:

2755533 如何取得最新的 SQL Server service pack 2012

狀態

Microsoft 已確認<適用於>一節所列的 Microsoft 產品確實有上述問題。

需要更多協助?

擴展您的技能
探索訓練
優先取得新功能
加入 Microsoft 測試人員

這項資訊有幫助嗎?

您對語言品質的滿意度如何?
以下何者是您會在意的事項?

感謝您的意見反應!

×