Microsoft 發佈 Microsoft SQL Server 2008 R2 或 Microsoft SQL Server 2008 修正成一個可下載的檔案。 因為修正程式是累加的,所以每個新發行版本本都包含舊版 SQL Server 2008 R2 或 SQL Server 2008 修正版本中所包含的所有熱修復程式及所有安全修正程式。
徵狀
請試想下列案例:
-
您在電腦上安裝 Microsoft SQL Server 2008 R2 或 Microsoft SQL Server 2008。
-
您可以設定對等事務性複製,然後在表格上啟用衝突偵測。
-
稍後,您會針對對等事務性複製停用衝突偵測。
-
您更新資料表的統計資料。
在這種情況下,更新會失敗,而且您會收到下列錯誤訊息:
Msg 0、Level 11、State 0、Line 0A 在目前命令上發生嚴重錯誤。 結果(如果有的話)應該捨棄。
此外,也會發生存取違規例外狀況,並會在 SQL Server 錯誤記錄資料夾中產生袖珍轉儲檔案。
原因
發生這個問題的原因是資料庫引擎正在嘗試載入無關聯的統計資料。 啟用 P2P 衝突偵測後,系統會在資料表的基本索引列集合中新增 MDColumnIdP2pCdId system 資料行。 複製相關查詢可能會自動在系統欄上建立統計資料。 停用 P2P 衝突偵測時,系統會從資料表中移除 [system] (系統)資料行。 不過,對應的統計資料仍會保留。 因此,更新統計資料會導致存取侵犯例外狀況,因為無法將統計資料新增至資料表。
解決方案
累積更新資訊
SQL Server 2008 R2 Service Pack 1
此問題的修正程式是在 SQL Server 2008 R2 Service Pack 1 的累積更新4中第一次發行。如需如何取得此累積更新套件的詳細資訊,請按一下下列文章編號,以查看 Microsoft 知識庫中的文章:
2633146 SQL Server 2008 R2 Service Pack 1 的累積更新套件4注意: 因為組建是累加的,所以每個新的修正程式版本都包含先前 SQL Server 2008 R2 修正版本中所包含的所有修復程式及所有安全性修正程式。 我們建議您考慮套用包含此熱修復程式的最新修正版本。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:
2567616 在發行 SQL Server 2008 R2 Service Pack 1 之後發行的 SQL Server 2008 R2 組建
SQL Server 2008 R2
此問題的修正程式是在累積更新9中第一次發行。如需有關如何取得 SQL Server 2008 R2 累積更新套件的詳細資訊,請按一下下列文章編號,以查看 Microsoft 知識庫中的文章:
2567713 SQL Server 2008 R2 的累積更新套件9 注意: 因為組建是累加的,所以每個新的修正程式版本都包含先前 SQL Server 2008 R2 修正版本中所包含的所有修復程式及所有安全性修正程式。 我們建議您考慮套用包含此熱修復程式的最新修正版本。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:
981356 在發行 SQL Server 2008 R2 之後發行的 SQL Server 2008 R2 組建
SQL Server 2008 Service Pack 2
此問題的修正程式是在 SQL Server 2008 的累積更新3(Service Pack 2)中第一次發行。如需此累積更新套件的詳細資訊,請按一下下列文章編號,以查看 Microsoft 知識庫中的文章:
2498535 SQL Server 2008 的累積更新套件 3 Service Pack 2注意: 因為組建是累加的,所以每個新的修正程式版本都包含先前 SQL Server 2008 修正版本中所包含的所有修復程式及所有安全性修正程式。 Microsoft 建議您考慮套用包含此熱修復程式的最新修正版本。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:
2402659 在發行 SQL Server 2008 Service Pack 2 之後發行的 SQL Server 2008 組建 Microsoft SQL Server 2008 修復程式是針對特定的 SQL Server service pack 建立的。 您必須將 SQL Server 2008 Service Pack 2 修補程式套用至 SQL Server 2008 Service Pack 2 的安裝。 根據預設,SQL Server service pack 中提供的任何熱修復程式都包含在下一個 SQL Server service pack 中。此問題的修正程式是在 SQL Server 2008 R2 的累積式更新套件6中第一次發行。如需如何取得此累積更新套件的詳細資訊,請按一下下列文章編號,以查看 Microsoft 知識庫中的文章:
2489376 SQL Server 2008 R2 的累積更新套件6注意: 因為組建是累加的,所以每個新的修正程式版本都包含先前 SQL Server 2008 R2 修正版本中所包含的所有修復程式及所有安全性修正程式。 我們建議您考慮套用包含此熱修復程式的最新修正版本。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:
981356 在發行 SQL Server 2008 R2 之後發行的 SQL Server 2008 R2 組建
狀態
Microsoft 已確認<適用於>一節中所列的 Microsoft 產品確實有上述問題。
其他相關資訊
如需有關如何使用 [設定對等拓撲嚮導] 設定及維護對等複寫拓撲的詳細資訊,請造訪下列 Microsoft 開發人員網路(MSDN)網站:
操作方法:設定對等事務性複製(SQL Server Management Studio)如需有關衝突偵測的詳細資訊,請造訪下列 MSDN 網站:
對等複製中的衝突偵測如需有關軟體更新術語的詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:
824684 描述 Microsoft 軟體更新所使用的標準術語說明