現在オフラインです。再接続するためにインターネットの接続を待っています

[PRB] サーバーの名前を変更した後で SQL Server エージェント ジョブを更新するとエラー 14274 が発生する

現象
SQL Server を実行するコンピュータの名前を変更した後に、以前作成したジョブを SQL Server 2000 のインスタンスで更新または削除すると、次のエラー メッセージが表示されることがあります。
エラー 14274: MSX サーバーからのジョブ、ステップ、スケジュールの追加、更新、または削除はできません。ジョブは保存されませんでした。
この問題は Microsoft SQL Server 7.0 では発生しません。しかし、SQL Server 7.0 の仮想サーバーを SQL Server 2000 の仮想サーバーにアップグレードするときは、仮想サーバー名を変更しない場合でも、このエラー メッセージが表示されることがあります。アップグレード処理中には、SQL Server 7.0 の仮想サーバーのクラスタ化を解除する必要があります。仮想サーバーのクラスタ化を解除すると、SQL Server はスタンドアロン インスタンスになるため、ノード名が取得されます。このノード名を変更すると、上記のエラー メッセージが表示されることがあります。
原因
SQL Server 7.0 では、msdb..sysjobs テーブルの originating_server フィールドに、ローカル サーバーを参照する値 '(local)' が格納されるため、この問題は発生しません。したがって、サーバー名をどのように変更しても、ローカル サーバー ジョブには影響がありません。

SQL Server 2000 では複数インスタンスがサポートされているため、originating_server フィールドには 'サーバー\インスタンス' 形式のインスタンス名が格納されています。サーバーの既定のインスタンスにも、'(local)' の代わりに実際のサーバー名が使用されています。そのため、Windows サーバーの名前が変更された後でも、これらのジョブではまだ元のサーバー名が参照され、新しいサーバー名からの処理ではこれらのジョブを更新または削除できないことがあります。

SQL Server 7.0 から SQL Server 2000 にアップグレードした後は、すべての既存のジョブの originating_server 列も更新され、値 '(local)' は使用されなくなります。
回避策
名前を変更した後でこの問題に適切に対処するには、以下の手順を実行します。
  1. サーバー名を元の名前に戻します。
  2. すべてのジョブのスクリプトを作成した後で、すべてのジョブを削除します。
  3. サーバー名を新しい名前に変更します。
  4. 手順 2. で生成したスクリプトを実行して、ジョブを元に戻します。
詳細については、SQL Server Books Online の「マルチサーバー管理」を参照してください。
状況
マイクロソフトでは、この問題を SQL Server 2000 の問題として認識しています。
関連情報
この資料は米国 Microsoft Corporation から提供されている Knowledge Base の Article ID 281642 (最終更新日 2003-10-03) を基に作成したものです。

この資料に含まれているサンプル コード/プログラムは英語版を前提に書かれたものをありのままに記述しており、日本語環境での動作は確認されておりません。
プロパティ

文書番号:281642 - 最終更新日: 11/19/2003 19:37:58 - リビジョン: 4.1

  • Microsoft SQL Server 2000 Standard Edition
  • kbbug kbpending KB281642
フィードバック