반응형

SQL Server 의 로컬 서버 이름을 변경하는 방법입니다. 보통 컴퓨터 이름이 변경된 경우에 로컬 서버의 이름을 동일하게 변경하고자 하여 다음과 같은 작업을 수행하게 됩니다. 참고로 sp_addserver는 원격 서버 또는 로컬 SQL Server 인스턴스 이름을 정의하는데 사용할 수 있습니다만, 원격 서버를 등록하는 경우에는 sp_addserver 대신 sp_addlinkedserver를 사용하라고 온라인 설명서에 나와 있습니다. 그런데 로컬 SQL Server 인스턴스 이름을 등록할 때에는 여전히 sp_addserver를 사용하는 것이 최적의 방법인지에 대해서는 설명이 없네요. ^ ^

SQL Server 2005에서 로컬 SQL Server 인스턴스 이름을 변경하는 더 좋은 방법을 아시는 분은 답글 부탁합니다. 


SELECT @@SERVERNAME;

GO

/*

SUNGHEE\SS2005

*/

 

 

EXEC sp_dropserver 'SUNGHEE\SS2005'

GO

/*

명령이완료되었습니다.

*/

 

EXEC sp_addserver 'TEST\SS2005', 'local'

GO

/*

명령이완료되었습니다.

*/

 

SELECT @@SERVERNAME

GO

/*

SUNGHEE\SS2005

*/

 

 

SHUTDOWN

GO

/*

로그인SUNGHEE\Administratorrequest에의해서버가종료됩니다.

SQL Server가이프로세스를종료합니다.

*/

 

 

-- SQL Server 서비스재시작

 

 

SELECT @@SERVERNAME

GO

/*

TEST\SS2005

*/

 

 


별로 중요한 건 아니지만 참고로 한 마디...


SERVERPROPERTY 함수의 ServerName 속성과 @@SERVERNAME은 비슷한 정보를 반환합니다. ServerName 속성은 Windows 서버와 고유한 서버 인스턴스를 구성하는 인스턴스 이름을 제공합니다. @@SERVERNAME은 현재의 로컬 서버 이름을 제공합니다. 기본 서버 이름을 바꾸지 않은 상태에서는 ServerName 속성과 @@SERVERNAME은 같은 정보를 반환하지만, 위와 같이 로컬 서버 이름을 변경한 경우에는 다음과 같이 SERVERPROPERTY 함수의 ServerName 속성값과 @@SERVERNAME 값이 달라집니다. 별로 중요한 사항은 아니지만 SERVERPROPERTY('ServerName') 을 실행한 결과를 보시고 왜 로컬 서버 이름이 안 바뀌는지 고민하시는 분이 계실까봐 얘기해 봤습니다.



SELECT SERVERPROPERTY('ServerName')

GO

/* 결과:

SUNGHEE\SS2005

*/

 

 

SELECT @@SERVERNAME

GO

/* 결과

TEST\SS2005

*/

 


반응형

+ Recent posts