Applies ToSQL Server 2012 Service Pack 3 SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Enterprise Core SQL Server 2012 Standard SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Enterprise Core - 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) SQL Server 2016 Standard - duplicate (do not use) SQL Server 2016 Service Pack 1

現象

次のような状況で問題が発生します。

  • SQL Server 2005 のインスタンスで、パブリケーションデータベースからの列フィルターを含むパブリケーションを作成します。

  • パブリケーションデータベースのデータベースバックアップを SQL Server 2012、2014、または2016のインスタンスに復元します。

  • 子パッケージには、式で指定された接続文字列が含まれています。

  • たとえば、 RESTOREステートメントでKEEP_REPLICATIONオプションを使用して、レプリケーション設定を保持します。

このシナリオでは、SQL Server 2012、2014、または2016でレプリケーションが機能しません。

原因

この問題が発生するのは、article 列オブジェクトの長さが、SQL Server 2005 用の2バイトと SQL Server 2012、2014、2016用の4バイトのテーブルメタデータから取得されるためです。 このため、このオブジェクトにアーティクルの列 id を挿入しようとすると、最初の2バイトがそのままの状態でコピーされます。

解決方法

この問題は、SQL Server の次の累積的な更新プログラムで修正されました。

SQL Server 2016 SP1 の累積更新プログラム2

Sql server 2016 の累積更新プログラム4累積更新プログラム 3 (sql Server 2014 の累積更新プログラム 10 (sql server 2014 SP1)

SQL Server 2012 Service Pack 3 の累積更新プログラム5

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

Sql server 2016 の最新の累積的な更新プログラム sql SERVER2014 SP1/SP2の最新の累積更新プログラムsql server 2012 の最新の累積的な更新プログラム

状態

マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。

関連情報

Microsoft でソフトウェアの更新について説明する 用語 について説明します。

ヘルプを表示

その他のオプションが必要ですか?

サブスクリプションの特典の参照、トレーニング コースの閲覧、デバイスのセキュリティ保護方法などについて説明します。

コミュニティは、質問をしたり質問の答えを得たり、フィードバックを提供したり、豊富な知識を持つ専門家の意見を聞いたりするのに役立ちます。