KB3131443 - 修正: SQL Server でサブスクライバー データベースにスナップショットを適用すると「照合順序の競合を解決できません」というエラーが表示される

適用先
SQL Server 2012 Service Pack 3 SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use) SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use)

現象

たとえば次のようなシナリオを考えてみます。

  • 発行元がオンプレミス データベースであるトランザクション レプリケーション環境を設定します。
  • オンプレミスのデータベースは、Microsoft SQL Server 2012 Service Pack 3 (SP3)、SQL Server 2012 Service Pack 2 (SP2)、SQL Server 2014、または 2016 用の累積的な更新プログラム 7 を実行しているサーバーでホストされます。
  • サブスクライバーは Azure SQL データベースです。

ただし、サブスクライバー データベースにスナップショットを適用すると、ディストリビューション エージェントが失敗します。 また、次のようなエラー メッセージが表示されます。

注

等号演算で、"SQL_Latin1_General_CP1_CI_AS" と "Latin1_General_CI_AS" の間の照合順序の競合を解決できません。
(ソース: MSSQLServer、エラー番号: 468)

      

原因

この問題は、Azure SQL Database のカタログ データベースの照合順序が、発行元およびサブスクライバーのレプリケーション データベースの照合順序と異なるために発生します。

解決策

累積的な更新プログラムの情報

この問題は以下の更新プログラムで修正されています。

          

推奨事項: SQL Server の最新の累積的な更新プログラムをインストールする

SQL Server 用の新しい累積的な更新プログラムには、以前の累積的な更新プログラムに含まれていたすべての修正プログラムとすべてのセキュリティ修正プログラムが含まれています。 SQL Server の最新の累積的な更新プログラムを確認してください。

      

回避策

この問題を回避するには、次のいずれかを実行します。

  • SQL Server 2012 Service Pack 2 の累積的な更新プログラム 4 (ビルド 11.00.5569) に、SQL Server 2012 SP3 からダウングレードします。
  • 関係するデータベースの照合順序を、Azure SQL Database (SQL_Latin1_General_CP1_CI_AS) のサーバー照合順序と同じに変更します。

状態

Microsoft は、これが "適用対象" セクションに記載されている Microsoft 製品の問題であることを確認しました。

参考資料

マイクロソフトでソフトウェア更新プログラムの説明に使用する用語集を参照してください。