MSSQL_ENG021797
メッセージの詳細
製品名 |
SQL Server |
製品バージョン |
9.0 |
製品ビルド番号 |
9.00.1399.60 |
イベント ID |
21797 |
イベント ソース |
MSSQLSERVER |
コンポーネント |
SQL Server データベース エンジン |
シンボル名 |
|
メッセージ テキスト |
'%s' は次の形式の有効な Windows ログインにしてください: 'MACHINE\Login' または 'DOMAIN\Login'。'%s' については、マニュアルを参照してください。 |
説明
このエラーは、@job_login パラメータに指定された値が NULL または無効の場合に、以下のレプリケーション ストアド プロシージャにより発生します。このエラーは、db_owner 固定データベース ロールのメンバが、以前のバージョンの SQL Server からのスクリプトを実行すると発生する場合があります。SQL Server 2005 ではセキュリティ モデルが変更されており、これらのスクリプトは更新する必要があります。
- sp_addlogreader_agent (Transact-SQL)
- sp_addqreader_agent (Transact-SQL)
- sp_addpublication_snapshot (Transact-SQL)
- sp_addpushsubscription_agent (Transact-SQL)
- sp_addpullsubscription_agent (Transact-SQL)
- sp_addmergepushsubscription_agent (Transact-SQL)
- sp_addmergepullsubscription_agent (Transact-SQL)
これらのストアド プロシージャは、適切なサーバー上の sysadmin 固定サーバー ロールのメンバ、または適切なデータベース内の db_owner 固定データベース ロールのメンバにより実行されます。ストアド プロシージャはそれぞれエージェント ジョブを作成します。これにより、エージェントの実行に使用される Microsoft Windows アカウントを指定できます。sysadmin ロールのユーザーに対し、エージェント ジョブは、Windows アカウントが指定されていなくても (アカウントが指定されている場合、そのアカウントは有効である必要があります)、暗黙的に作成されます。エージェントは、適切なサーバーでの SQL Server エージェント サービス アカウントのコンテキストの下で実行されます。アカウントは必要ありませんが、セキュリティ上、エージェントごとに異なるアカウントを指定することをお勧めします。詳細については、「レプリケーション エージェントのセキュリティ モデル」を参照してください。
ユーザーの操作
各プロシージャの @job_login パラメータに対し、有効な Windows アカウントが指定されていることを確認します。以前のバージョンの SQL Server からのレプリケーション スクリプトがある場合は、SQL Server 2005 に必要なストアド プロシージャやパラメータをこれらのスクリプトに含めるように更新します。詳細については、「レプリケーション スクリプトをアップグレードする方法 (レプリケーション Transact-SQL プログラミング)」を参照してください。