7202: Could not find server 'name' in sys.servers(sys.servers にサーバー 'name' が見つからない)
SQL Server意味
クエリでリンクサーバーまたは 4 部構成名 (server.database.schema.object) により参照されたサーバー名が、構成済みのリンクサーバーの中に見つからなかった。SQL Server は名前を解決できなかった。
原因
リンクサーバーが定義されていない、名前の綴りが誤っている、別の環境 (dev/prod) に存在するリンクサーバーが本番環境にない、または OPENQUERY/4 部構成名が誤ったサーバー名を指している。スクリプトをサーバー間で移行した際によく発生する。
対処方法
定義済みのリンクサーバーを一覧表示する: SELECT name FROM sys.servers; または EXEC sp_linkedservers。必要であれば追加する: EXEC sp_addlinkedserver @server='SERVER', ...; さらに sp_addlinkedsrvlogin でログインマッピングを設定する。クエリの 4 部構成名が正しいリンクサーバー名を使用していることを確認する。ローカルのオブジェクトにのみアクセスする場合は、サーバープレフィックスを削除する。
同じデータベースの他の項目
- 18452Login failed. The login is from an untrusted domain and cannot be used with Windows authentication(ログイン失敗。信頼されていないドメインからのログインで Windows 認証に使用できない)
- 605Attempt to fetch logical page belongs to a different allocation unit(取得しようとした論理ページが別のアロケーションユニットに属する)
- 4922ALTER TABLE ALTER COLUMN failed because one or more objects access this column(1 つ以上のオブジェクトがこの列にアクセスしているため ALTER TABLE ALTER COLUMN が失敗)
- 40501The service is currently busy. Retry the request after 10 seconds(サービスは現在ビジー。10 秒後に要求を再試行)
- 8645A time out occurred while waiting for memory resources to execute the query(クエリ実行用のメモリリソース待機中にタイムアウト発生)
- 8651Could not perform the operation because the requested memory grant was not available(要求されたメモリ許可が利用できないため操作を実行できない)
- 5061ALTER DATABASE failed because a lock could not be placed on database(データベースにロックを設定できないため ALTER DATABASE が失敗)