Share via


MSSQL_ENG021798

適用対象: SQL ServerAzure SQL Managed Instance

メッセージの詳細

属性
製品名 SQL Server
イベント ID 21798
イベント ソース MSSQLSERVER
コンポーネント SQL Server データベース エンジン
シンボル名
メッセージ テキスト 続行する前に、'%s' エージェント ジョブを '%s' から追加してください。 '%s' については、マニュアルを参照してください。

説明

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

  • SQL Server 2000 (8.x)からスクリプトを実行する場合。 SQL Server 2005 (9.x)ではセキュリティ モデルが変更されたため、これらのスクリプトは更新する必要があります。

  • ストアド プロシージャ sp_addpublication は、 sp_addlogreader_agent (Transact-SQL) を実行する前に実行されます。 これはすべてのトランザクション パブリケーションに当てはまります。

  • ストアド プロシージャ sp_addpublication は、 sp_addqreader_agent (Transact-SQL) を実行する前に実行されます。 これは、キュー更新サブスクリプションに対して有効なトランザクション アプリケーションに当てはまります (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 を必要としませんが、セキュリティ上、エージェントごとに異なるアカウントを指定することをお勧めします。 詳細については、「 レプリケーション エージェント セキュリティ モデル」を参照してください。

ユーザーの操作

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

参照

エラーとイベントのリファレンス (レプリケーション)