次の方法で共有


MSSQL_ENG021798

メッセージの詳細

製品名

SQL Server

製品バージョン

9.0

製品ビルド番号

9.00.1399.60

イベント ID

21798

イベント ソース

MSSQLSERVER

コンポーネント

SQL Server データベース エンジン

シンボル名

メッセージ テキスト

続行する前に、'%s' エージェント ジョブを '%s' 経由で追加してください。'%s' については、マニュアルを参照してください。

説明

パブリケーションを作成するには、パブリッシャの sysadmin 固定サーバー ロールのメンバまたはパブリケーション データベースの db_owner 固定データベース ロールのメンバであることが必要です。db_owner ロールのメンバのときは、以下の場合にこのエラーが発生します。

  • 以前のバージョンの SQL Server からスクリプトを実行する場合。SQL Server 2005 ではセキュリティ モデルが変更されており、これらのスクリプトは更新する必要があります。
  • sp_addlogreader_agent (Transact-SQL) を実行する前に、ストアド プロシージャ sp_addpublication が実行される場合。これはすべてのトランザクション パブリケーションに当てはまります。
  • sp_addqreader_agent (Transact-SQL) を実行する前に、ストアド プロシージャ sp_addpublication が実行される場合。これは、キュー更新サブスクリプションに対して有効なトランザクション アプリケーションに当てはまります (sp_addpublication@allow_queued_tran パラメータの値が TRUE)。

ストアド プロシージャ sp_addlogreader_agent および sp_addqreader_agent は、それぞれエージェント ジョブを作成します。これにより、エージェントの実行に使用される Microsoft Windows アカウントを指定できます。sp_addlogreader_agent および sp_addqreader_agent が実行されていない場合は、sysadmin ロールのユーザーに対し、エージェント ジョブが暗黙的に作成されます。エージェントは、ディストリビュータで SQL Server エージェント サービス アカウントのコンテキストで実行されます。sysadmin ロールでは、ユーザーは sp_addlogreader_agent および sp_addqreader_agent を必要としませんが、セキュリティ上、エージェントごとに異なるアカウントを指定することをお勧めします。詳細については、「レプリケーション エージェントのセキュリティ モデル」を参照してください。

ユーザーの操作

正しい順序でプロシージャを実行してください。詳細については、「パブリケーションを作成する方法 (レプリケーション Transact-SQL プログラミング)」を参照してください。以前のバージョンの SQL Server からのレプリケーション スクリプトがある場合は、SQL Server 2005 に必要なストアド プロシージャやパラメータをこれらのスクリプトに含めるように更新します。詳細については、「レプリケーション スクリプトをアップグレードする方法 (レプリケーション Transact-SQL プログラミング)」を参照してください。

参照

概念

レプリケーション エラーの原因と解決方法

ヘルプおよび情報

SQL Server 2005 の参考資料の入手