修正: ディストリビューション エージェントが SQL Server 2005: サブスクライバーにスナップショットを適用しようと、エラー メッセージ「変数を宣言して、スカラー"@Variable"」

Bug #: 50001158 (SQL 修正プログラム)

現象

以下の事例で説明します。Microsoft SQL Server 2005 でトランザクション レプリケーションを構成します。スナップショットを作成する、初期正常にパブリッシャーにします。このシナリオでは、ディストリビューション エージェントがサブスクライバーにスナップショットを適用しようとすると、次のエラー メッセージが表示されます。
エラー: 137、重大度: 15、状態: 2

スカラー変数"@Variable"を宣言する必要があります。
この問題は、次の条件に該当する場合に発生します。
  • トランザクション レプリケーションには、計算列があるテーブルを基に作成した資料が含まれています。
  • 計算列が並べ替えられた後は、主キー列が並べ替えられます。
  • Syscolumnsシステム テーブルから主キー列の列 ID は、計算列の列 Id よりも大きいことを確認できます。
  • パブリケーションでは、同時実行スナップショット処理を使用します。

原因

ディストリビューション エージェントは、サブスクライバー上のデータを挿入するストアド プロシージャを作成します。ただし、ストアド プロシージャでは、不適切なパラメーターの番号があります。

解決策

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

この問題に対する修正は、累積的な更新 2 で初めてリリースされました。この累積的な更新プログラム パッケージを SQL Server 2005 Service Pack 2 の入手方法に関する詳細については、マイクロソフト サポート技術情報の記事を表示するのには次の資料番号をクリックします。
936305関数形式は、SQL Server 2005 Service Pack 2 の 2 のパッケージを更新します。
注: ビルドは累積的であるため、各新しい修正プログラム リリースには、すべての修正プログラムが含まれていて、以前の SQL Server 2005 に含まれていたすべてのセキュリティ修正プログラムの更新プログラムのリリースします。マイクロソフトでは、この修正プログラムを含む最新の修正プログラム リリースを適用することを検討することをお勧めします。詳細については、次の文書番号をクリックして、マイクロソフト サポート技術情報の資料をご参照ください。
937137 SQL Server 2005 ビルド SQL Server 2005 Service Pack 2 がリリースされた後にリリースされました。
特定の SQL Server のサービス パックには、Microsoft SQL Server 2005 の修正プログラムが作成されます。SQL Server 2005 Service Pack 2 のインストールには、SQL Server 2005 Service Pack 2 修正プログラムを適用する必要があります。既定では、SQL Server のサービス パックで提供されているすべての修正プログラムは次の SQL Server のサービス パックに含まれます。

回避策

この問題を回避するには、次のいずれかの方法を使用します。
  • アーティクルの基になるテーブルを作成するときは、計算された列を並べ替える前に、主キー列が並べ替えられているを確認します。
  • ネイティブ スナップショットの処理やデータベースのスナップショットの処理を同時実行スナップショット処理の代わりに使用します。

状況

マイクロソフトは、この問題を「対象製品」セクションに記載されているマイクロソフト製品の問題として認識しています。

詳細

たとえば、アーティクルの基になるテーブルを作成する次のステートメントを使用する場合に、この問題が発生します。
CREATE TABLE [dbo].[test]([col1] [char](10) NOT NULL,
[col2] [char](10) NOT NULL,
[col_1_2] AS ([col1] + [col2]),
[ID] [int] IDENTITY(1,1) NOT FOR REPLICATION PRIMARY KEY NOT NULL
)

プロパティ

文書番号:936534 - 最終更新日: 2017/02/02 - リビジョン: 1

Microsoft SQL Server 2005 Standard Edition, Microsoft SQL Server 2005 Developer Edition, Microsoft SQL Server 2005 Enterprise Edition, Microsoft SQL Server 2005 Enterprise X64 Edition, Microsoft SQL Server 2005 Enterprise Edition for Itanium Based Systems, Microsoft SQL Server 2005 Standard X64 Edition, Microsoft SQL Server 2005 Standard Edition for Itanium Based Systems, Microsoft SQL Server 2005 Workgroup Edition

フィードバック