Microsoft 將 Microsoft SQL Server 2008 Service Pack 3 發佈為一個可下載的檔案。 因為修正程式是累加的,所以每個新發行版本本都包含舊版 SQL Server 2008 Service Pack 3 修復程式版本中包含的所有熱修復程式及所有安全性修正程式。
徵狀
請試想下列案例:
-
您可以在 Microsoft SQL Server 2008 或 Microsoft SQL Server 2008 R2 的兩個實例上設定資料庫鏡像。
-
您可以在資料庫鏡像合作關係中,在主體伺服器上的主體伺服器上,設定事務性複製發佈。 複製初始化完成,然後與訂閱者同步處理。
-
複製的資料庫會從主體伺服器容錯移轉到鏡像伺服器。 注意: 發生這種情況時,前一個鏡像伺服器會切換角色,而且資料庫會以讀寫模式連線為新的主體資料庫。
-
您可以在新的主體實例上,將專案新增到出版物。 複製初始化完成,然後與訂閱者同步處理。
-
您可以在出版物中新增另一個文章。
在這種情況下,您會收到下列錯誤訊息。錯誤訊息 1
沒有訂閱需要初始化,因此沒有產生快照。
錯誤訊息 2
Msg 14058、Level 16、State 1、程式 sp_MSrepl_addsubscription_article、資料行331Cannot 建立訂閱,因為訂閱已存在於訂閱資料庫中。 在每個訂閱資料庫中,只能有一個訂閱同一個發佈。 刪除訂閱並視需要再次新增。 如果問題持續發生,複製中繼資料可能不正確;如需疑難排解資訊,請參閱線上書籍
注意如果您已容錯移轉至原始的主體實例,然後再新增相同的文章,則仍會發生此問題。
解決方案
累積更新資訊
SQL Server 2008 R2 Service Pack 2
此問題的修正程式是在累積更新3中第一次發行。如需有關如何取得適用于 SQL Server 2008 R2 Service Pack 2 之累積更新套件的詳細資訊,請按一下下列文章編號,以查看 Microsoft 知識庫中的文章:
2754552 SQL Server 2008 R2 Service Pack 2 的累積更新套件3 注意: 因為組建是累加的,所以每個新的修正程式版本都包含舊版 SQL Server 2008 R2 Service Pack 2 (修正版本)所包含的所有修復程式及所有安全修正程式。 我們建議您考慮套用包含此熱修復程式的最新修正版本。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:
2730301 在發行 SQL Server 2008 R2 Service Pack 2 之後發行的 SQL Server 2008 R2 組建
SQL Server 2008 R2 Service Pack 1
此問題的修正程式是在累積更新9中第一次發行。如需有關如何取得適用于 SQL Server 2008 R2 Service Pack 1 之累積更新套件的詳細資訊,請按一下下列文章編號,以查看 Microsoft 知識庫中的文章:
2756574 SQL Server 2008 R2 Service Pack 1 的累積更新套件9注意: 因為組建是累加的,所以每個新的修正程式版本都包含先前 SQL Server 2008 R2 Service Pack 1 修正版本中所包含的所有修復程式及所有安全修正程式。 我們建議您考慮套用包含此熱修復程式的最新修正版本。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:
2567616 在發行 SQL Server 2008 R2 Service Pack 1 之後發行的 SQL Server 2008 R2 組建
SQL Server 2008 Service Pack 3
此問題的修正程式會在 SQL Server 2008 的累積更新7(Service Pack 3)中首次發行。如需有關如何取得 SQL Server 2008 Service Pack 3 的累積更新套件的詳細資訊,請按一下下列文章編號,以查看 Microsoft 知識庫中的文章:
2738350 SQL Server 2008 的累積更新套件 7 Service Pack 3注意: 因為組建是累加的,所以每個新的修正版本都包含舊版 SQL Server 2008 Service Pack 3 修復程式版本中所包含的所有修復程式及所有安全性修正程式。 我們建議您考慮套用包含此熱修復程式的最新修正版本。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:
2629969 在發行 SQL Server 2008 Service Pack 3 之後發行的 SQL Server 2008 組建
狀態
Microsoft 已確認<適用於>一節中所列的 Microsoft 產品確實有上述問題。
其他相關資訊
如需有關如何設定複製與資料庫鏡像的詳細資訊,請移至下列 MSDN 網站:
如何設定複製與資料庫鏡像如需有關資料庫鏡像的詳細資訊,請移至下列 MSDN 網站:
因應措施
若要解決此問題,請判斷sys 伺服器是否正常。在您新增文章前, server_id資料行與syssubscriptionssrvid 欄會與活動資料庫實例相符。注意事項
-
如果兩個數據行不相符,您應該將本文從欄相符的實例新增到發佈中。 您可能需要將停機時間排程,以將資料庫容錯移轉到合作夥伴實例。
-
如果syssubscriptions資料表中有多個srvid值,請移除具有不同srvid值的專案,將資料庫容錯移轉到合作夥伴實例,然後再次新增該文章。