우리는 SQL Server를 교체하는 중이며 다른 이름으로 변경하기 위해 서버 자체의 이름을 바꾸는 것이 훨씬 쉽다고 결정했습니다. 다음과 같은 컴퓨터 이름과 일치하도록 SQL Server 인스턴스 이름을 변경하는 방법에 대한 지침을 찾았습니다.
sp_dropserver 'OLDSERVER'
sp_addserver 'NEWSERVER', local
SQL Enterprise Manager는 이들을 함께 좋아하지 않는 것 같습니다. 함께 작동하도록 다음과 같이 변경해야했습니다.
sp_dropserver 'OLDSERVER'; GO
sp_addserver 'NEWSERVER', 'local'; GO
어느 것이 나쁘지는 않지만 더 자동화 된 것을 선호합니다. @@ ServerName은 인스턴스 이름을 반환하므로 첫 번째 줄을 자동화하는 방법을 알아 냈습니다.
sp_dropserver @@ServerName; GO
또한 SERVERPROPERTY ( 'ServerName')이 컴퓨터 이름을 반환한다고 가정했기 때문에 두 번째 부분을 자동화하는 데 사용할 수 있다고 생각했지만 작동하지 않았습니다.
sp_addserver SERVERPROPERTY('ServerName'), 'local'; GO
SQL 에이전트 작업을 업데이트하기 위해 어쨌든 수행 해야하는 변수 설정을 시도했지만 작동하지 않았습니다.
DECLARE @srv sysname;
SET @srv = CAST(SERVERPROPERTY('ServerName') AS sysname);
sp_addserver @srv, 'local'; GO
'sp_addserver'근처의 구문이 잘못되었습니다.
새 서버 이름을 스크립트에 하드 코딩하지 않아도 쉽게 재사용 할 수 있기를 바랍니다. 아무도 아이디어가 있습니까?