sql server 복제에서는 서버 연결 시 실제 서버 이름이 필요합니다.

윈도우즈/MSSQL|2019. 5. 17. 16:01
반응형

개발사에서 웹 에서 게임 DB 에 내용을 거의 실시간으로 보여주기 위해 복제 DB 를 설정하다가
복제 생성시 아래와 같은 오류가 발생한다고 Help 요청이 들어왔다.

 

===================================

xxxxxxxxxxxxxx에 연결할 수 없습니다.

===================================

SQL Server 복제에서는 서버 연결 시 실제 서버 이름이 필요합니다. 서버 별칭, IP 주소 또는 다른 대체 이름을 통한 연결은 지원되지 않습니다. 실제 서버 이름 'xxxxxxxxxxxxxx'을(를) 지정하십시오. (Replication.Utilities)

------------------------------
프로그램 위치:

   위치: Microsoft.SqlServer.Management.UI.ReplicationSqlConnection.CheckServerAlias(ServerConnection conn)
   위치: Microsoft.SqlServer.Management.UI.ReplicationSqlConnection.ValidateConnection(UIConnectionInfo connInfo, IServerType server)
   위치: Microsoft.SqlServer.Management.UI.ConnectionDlg.Connector.ConnectionThreadUser()

 

해당 문제는 컴퓨터 이름을 변경시에 발생한다.

----------------------------- 


이유인 즉 mssql2008을 설치하면 설치시에 서버의 HostName 이  저장된다.
그 후에 해당 서버에 HostName 이 변경 되면서  게시나 복제를 할려면 옛날 서버 이름으로 접근을 해서 위와 같은 오류가 발생한 것이다.

아래와 같이 기존 @@SERVERNAME 이름을 현재 HostName 으로 변경해 주면 된다.

USE master
GO

-- 예전 서버 이름을 확인한다.
SELECT @@SERVERNAME

-- 예전 서버 이름을 버린다.
EXEC sp_dropserver 'Old Server Name', 'droplogins'    // 예전 서버 이름 입력
GO

-- 새 서버 이름을 등록한다.
EXEC sp_addserver 'New Server Name', 'local'    // 새 서버 이름 입력
GO

 

-- 반드시 '서비스 재시작'을 해야 적용 된다.

 

 

[출처] http://egloos.zum.com/runhanii/v/2606562

반응형

댓글()