ローカルSQL Serverインスタンスをホストしているリモートサーバーのコンピューター名を変更すると、混乱する問題が発生します。
基本的に、リモートサーバーはサイト間で移動されました。これを容易にするために、古いデータベースをバックアップして新しいデータベース名に復元し、データを消去して、クライアントソフトウェアの新しいデータベースとして使用できるようにしました。コンピューター名も変更しました。これは、サイト番号で各サーバーを識別するために常に変更するためです。
データベースはクライアントソフトウェアから問題なく接続でき、SQL Serverに直接ログインできます。ただし、SQL Serverエージェントジョブの1つが失敗し、イベントログにエラーが記録されます。
SQL Serverのスケジュールされたジョブ 'Nightly Reset'(0x4F76FDFFF6DFFE4EA0DE4A70252AD3BD)-ステータス:失敗-起動日:2012-02-07 08:10:05-メッセージ:ジョブが失敗しました。ジョブNightly Resetの所有者(Site-19 \ Admin)にサーバーアクセスがあるかどうかを判別できません(理由:Windows NTグループ/ユーザー 'Site-19 \ Admin'に関する情報を取得できませんでした、エラーコード0x534。[SQLSTATE 42000](エラー15404))。
これで、「サイト-19」は変更された古いコンピューター名になり、サーバーがリセットされました。新しいサイト番号「Site-28」を使用して手動で接続すると、Site-28 \ Adminを使用してSQL Serverに接続されていることが表示されます。ただし、エージェントジョブのプロパティを見ると、所有者がSite-19 \ Adminであると表示され、ユーザーを参照して変更しようとすると、Site-28 \ Adminがオプションとして表示されません。 、Site-19 \ Adminのみ。このジョブから新しいジョブをスクリプト化し、所有者を手動で「Site-28 \ Admin」に変更すると、新しいジョブは所有者「Site-19 \ Admin」で作成されます。
sys.servers(またはsp_helpserver経由)を見ると、現在のコンピューター名という1つのエントリしかありません。ただし、SELECT @@ SERVERNAMEは元の開発マシン名を返します(2つ前の名前の変更)。
つまり、この重要なSQL Serverエージェントジョブは、存在しないユーザーに属しているため実行できず、変更または正しいユーザーとして作成する方法がわかりません。