DBAtlas · 데이터베이스 운영 아틀라스

7202: Could not find server 'name' in sys.servers (sys.servers에서 서버를 찾을 수 없음)

SQL Server

의미

쿼리에서 linked server 또는 4부분 이름(server.database.schema.object)으로 참조한 서버 이름을 구성된 linked server 중에서 찾을 수 없다. SQL Server가 이름을 해석하지 못했다.

원인

linked server가 정의된 적이 없거나, 이름의 철자가 틀렸거나, 다른 환경(dev/prod)에 있는 linked server가 운영 환경에 없거나, OPENQUERY/4부분 이름이 잘못된 서버 이름을 가리키는 경우다. 스크립트를 서버 간에 옮길 때 흔하다.

해결 방법

정의된 linked server 목록 확인: SELECT name FROM sys.servers; 또는 EXEC sp_linkedservers. 필요하면 추가한다: EXEC sp_addlinkedserver @server='SERVER', ...; 이후 sp_addlinkedsrvlogin으로 로그인 매핑을 설정한다. 쿼리의 4부분 이름이 올바른 linked server 이름을 사용하는지 확인하고, 로컬 객체에만 접근한다면 서버 접두사를 제거한다.

DBAtlas에서 열기 →

같은 데이터베이스의 다른 항목