[FIX] ストアド プロシージャのレプリケーションを強化する新しいトレース フラ

重要: このサポート技術情報 (以下「KB」) は、翻訳者による翻訳の代わりに、マイクロソフト機械翻訳システムによって翻訳されたものです。マイクロソフトは、お客様に、マイクロソフトが提供している全ての KB を日本語でご利用いただけるように、翻訳者による翻訳 KB に加え機械翻訳 KB も提供しています。しかしながら、機械翻訳の品質は翻訳者による翻訳ほど十分ではありません。誤訳や、文法、言葉使い、その他、たとえば日本語を母国語としない方が日本語を話すときに間違えるようなミスを含んでいる可能性があります。マイクロソフトは、機械翻訳の品質、及び KB の内容の誤訳やお客様が KB を利用されたことによって生じた直接または間接的な問題や損害については、いかなる責任も負わないものとします。マイクロソフトは、機械翻訳システムの改善を継続的に行っています。もし誤訳を発見された場合には、この KB 下部よりフィードバックをお寄せください。

英語版 KB:284228
この資料は、アーカイブされました。これは "現状のまま" で提供され、更新されることはありません。
現象
ストアド プロシージャを実行するの、複製は、各データ変更ではなくレプリケートされるのにストアド プロシージャの実行を許可する Microsoft SQL Server version 7.0 に導入された機能です。 別のユーザーが publishers 側所有者名でのストアド プロシージャの自動所有者条件がこの機能により含まれたりのに設計され、同じ名前のストアド プロシージャを実行し、そしてサブスクライバにレプリケートされることがこの機能により、パブリッシャでできます。 異種サブスクライバが一部サーバー レベルまたは ODBC ドライバ レベルで所有者条件をサポートしないため、この機能が異種サブスクライバにサポートされていません。 新しいトレース フラグは、 8206 にサポートにプロシージャの SQL Server サブスクライバまたは異種サブスクライバの所有者条件のために、ユーザー指定された所有者名での実行を格納した SQL Server 2000 で導入されています。
解決方法
この問題を解決するには、SQL Server 2000 の最新の Service Pack を入手します。 関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
290211 INF:最新の SQL Server 2000 Service Pack の入手方法

修正プログラム

:次のホットフィックスが Microsoft SQL Server 2000 Service Pack 1 の前、作成されました。

最もストアド プロシージャ実行機能レプリケーションは、テーブル アーティクルのトランザクション レプリケーションよう実装します。 ストアド プロシージャ実行がログ レコードからのストアド プロシージャ名を再生成することでレプリケートされ、 publishers 側所有者名で修飾されます。 有効な再生成されたストアド プロシージャ名フラグが 8206 のトレースによる SQL Server サブスクライバのサブスクライバのユーザー指定の側所有者名で修飾され、所有者が異種サブスクライバに修飾されません。 ディストリビューション エージェントがサブスクライバで適用するとき、 logreader がディストリビューション データベースへコマンドを次に挿入します。

すぐに利用できるようにするために、この機能は修正プログラムのビルドで導入されています。 この修正プログラムを適用し、ユーザー指定の所有者修飾子を持つレプリケートしているストアド プロシージャまたは異種サブスクライバに対してトレース フラグ 8206 をオンにする必要があります。

ただし、これより新しい修正ファイルがリリースされている可能性もあります。
   File name      Platform   -----------------------   s80237i.exe    X86				
<B>注</B> : ファイルの依存関係のため、上記のファイルを含む最新の修正プログラムや機能にその他のファイルが含まれる場合もあります。
状況
マイクロソフトでは、この問題を SQL Server 2000 の問題として認識しています。 この問題は SQL Server 2000 Service Pack 1 で修正済みです。
詳細
次のいずれかを実行すると、パブリッシング サーバーのトレース フラグを有効にする必要があります。
  • SQL Server クエリ アナライザから次のコードを実行します。
    DBCC TRACEON (8206)						
    : SQL Server が停止され、そして SQL Server が再起動されるたび、この手順を繰り返す必要があります。

    -Or-
  • 持ちたい場合、 8206 にトレース フラグが ON を完全に次に変換しました。

    1. MSSQLServer サービスを停止します。
    2. -T8206 を起動時のパラメータに追加します。 これを行うには、Enterprise Manager で次の処理を行います。
      1. servername を右クリックし、 を次にクリックします。
      2. [プロパティ] ダイアログ ボックスで、[全般] タブをクリックし、[起動時のパラメータ] をクリックします。
      3. トレース フラグを追加します。
    3. MSSQLServer サービスを開始します。
    詳細については、SQL Server Books Online トピック「Trace Flags (トレース フラグ)」および「スタートアップ オプションの使用」を参照してください。

    この前方ポイントから、 logreader が異種サブスクライバの所有者条件を使わないでストアド プロシージャの実行のコマンドを生成します。 SQL Server サブスクライバに、 logreader が資料に指定されたサブスクライバ側所有者名前のストアド プロシージャを呼び出すのを生成し、そして所有者名が資料に指定されていないよう所有者条件を使わないで指定されました。
ユーザー プロセス、トランザクション、またはレプリケーション エージェントやディストリビューション サーバーでは、ほかに変更を行う必要はありません。
hetero sub proc exec dbo non-dbo

警告: この記事は自動翻訳されています

プロパティ

文書番号:284228 - 最終更新日: 01/16/2015 21:23:10 - リビジョン: 3.0

Microsoft SQL Server 2000 Standard Edition

  • kbnosurvey kbarchive kbbug kbfix kbsqlserv2000sp1fix KB284228 KbMtja kbmt
フィードバック