2011-05-10 4 views
9

SQL Server Express 2008 R2를 사용하고 있으며 "컴퓨터 이름"\ SQLEXPRESS2008R2에서 "컴퓨터 이름"으로 인스턴스 이름을 변경하려고합니다. 나는 달렸다 :sp_dropserver 및 sp_addserver가 작동하지 않습니다.

sp_dropserver 'old_name' 

go 

sp_addserver 'new_name', 'local' 

go 

그런 다음 SQL 서비스를 다시 시작했다. 지금 내가 볼 때

그러나 이것은 올바르지 않습니까? 내가 SSMS를 통해 내 인스턴스에 연결하려고 할 때

Select serverproperty('ServerName') --This still shows old name 

그래서 난 여전히 적용 I에서 새의 이전 인스턴스 이름 isntead을 사용하여 연결해야? 내가 도대체 ​​뭘 잘못하고있는 겁니까? 새 이름이 왜 사용되지 않습니까?

감사합니다,

S

이 온라인으로 책에서입니다
+0

명명 된 인스턴스를 기본 인스턴스로 변경할 수 있다고 생각하지 않았습니다 ... –

+0

오, 그게 문제입니까? 네가 그 일을 할 수 있다고 생각했는데 그건 문제가 될 수있어. – scarpacci

+0

그리고 전에 [this] (http://msdn.microsoft.com/en-us/library/ms143799.aspx)를 읽으셨습니까? –

답변

6

다음 @@ SERVERNAME 기능과 SERVERPROPERTY 함수의 SERVERNAME 속성이 유사한 형식으로 문자열을 반환 할 수 있지만

, 정보가 다를 수 있습니다 . SERVERNAME 속성은 컴퓨터의 네트워크 이름의 변경 내용을 자동으로보고합니다.

대조적으로 @@ SERVERNAME은 이러한 변경을보고하지 않습니다. @@ SERVERNAME은 sp_addserver 또는 sp_dropserver 저장 프로 시저를 사용하여 로컬 서버 이름의 변경 사항을보고합니다.

첫 번째 의견은 정확합니다. 기본 인스턴스로 변경하려면 SQL을 다시 설치해야합니다. BOL 당

다음과 같이 사용 할 명명 된 인스턴스와 컴퓨터 이름을 변경하는 경우 :

sp_dropserver <'old_name\instancename'> 
GO 
sp_addserver <'new_name\instancename'>, local 
GO 
+0

[sp_setnetname] (http://msdn.microsoft.com/cs-cz/library/ms190318%28SQL.100%29.aspx) 어떻게 든 도움이 될까요? –

+0

새로운 Instance 이름을 사용하여 로그인 할 수 있습니까? 따라서 Test1 \ SQLEXPRESS에서 Test2 \ SQLEXPRESS로 시스템을 변경하고 서비스를 다시 시작하면 현재 Test2 \ SQLEXPRESS를 사용하여 인스턴스에 로그인 할 수 있습니까? 그렇다면 작동하지 않는 것 같습니까? 감사합니다. – scarpacci

+0

컴퓨터 이름을 변경 한 후 서비스를 다시 시작한다고 생각하지 않습니다. 재부팅해야 할 것 같아. 또한 SQL Browser는 트래픽을 적절한 인스턴스로 전달하기 위해 변경 사항을 알아야합니다. – RThomas

2

예, SQL 서버를 재부팅했습니다. 이제 두 이름이 모두 올바르게 표시됩니다.

SELECT @@SERVERNAME 

SELECT serverproperty('ServerName') 
관련 문제