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 プログラミング)」を参照してください。