MSSQL_ENG021798

メッセージの詳細

製品名

SQL Server

製品バージョン

10.0

製品ビルド番号

 

イベント ID

21798

イベント ソース

MSSQLSERVER

コンポーネント

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

シンボル名

メッセージ テキスト

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

説明

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

  • SQL Server 2000 からスクリプトを実行する場合。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 プログラミング)」を参照してください。