SQL Server의 독립 실행형 인스턴스를 호스팅하는 컴퓨터 이름 바꾸기

SQL Server를 실행하는 컴퓨터의 이름을 변경하면 SQL Server 시작 시 새 이름이 인식됩니다. 컴퓨터 이름을 다시 설정하기 위해 설치 프로그램을 다시 실행할 필요는 없습니다. 대신 다음 단계에 따라 sys.servers에 저장되어 있고 시스템 함수 @@SERVERNAME으로 보고되는 시스템 메타데이터를 업데이트할 수 있습니다. @@SERVERNAME을 사용하거나 sys.servers에서 서버 이름을 쿼리하는 응용 프로그램이나 원격 연결을 위해 변경된 컴퓨터 이름을 반영하여 시스템 메타데이터를 업데이트해야 합니다.

다음 단계는 SQL Server 인스턴스의 이름 변경 작업에 사용할 수 없습니다. 이 단계는 인스턴스 이름에서 컴퓨터 이름에 해당하는 부분을 변경하는 경우에만 사용할 수 있습니다. 예를 들어 Instance1이라는 SQL Server 인스턴스를 호스팅하는 MB1이라는 컴퓨터의 이름을 다른 이름(예: MB2)으로 변경할 수 있습니다. 그러나 이름에서 인스턴스에 해당하는 Instance1은 변경되지 않고 유지됩니다. 이 예제의 경우 \\ComputerName\InstanceName은 \\MB1\Instance1에서 \\MB2\Instance1로 변경됩니다.

시작하기 전 주의 사항

이름 바꾸기 프로세스를 시작하기 전에 다음 정보를 검토하십시오.

  • SQL Server 인스턴스가 SQL Server 장애 조치(Failover) 클러스터의 일부인 경우 컴퓨터의 이름을 바꾸는 프로세스는 독립 실행형 인스턴스를 호스팅하는 컴퓨터의 이름을 바꾸는 프로세스와 다릅니다.

  • SQL Server는 복제와 함께 로그 전달을 사용하는 경우를 제외하고 복제에 관련된 컴퓨터의 이름 바꾸기를 지원하지 않습니다. 주 컴퓨터가 영구적으로 손실되면 로그 전달의 보조 컴퓨터 이름을 바꿀 수 있습니다. 자세한 내용은 로그 전달 및 복제(SQL Server)을 참조하십시오.

  • Reporting Services를 사용하도록 구성된 컴퓨터의 이름을 바꾸면 컴퓨터 이름이 변경된 후 Reporting Services를 사용하지 못할 수 있습니다. 자세한 내용은 보고서 서버 컴퓨터 이름 바꾸기를 참조하십시오.

  • 데이터베이스 미러링을 사용하도록 구성된 컴퓨터의 이름을 바꾸는 경우 이름 바꾸기 작업을 수행하기 전에 데이터베이스 미러링을 해제한 다음 데이터베이스 미러링을 새 컴퓨터 이름으로 다시 설정해야 합니다. 데이터베이스 미러링의 메타데이터는 새로운 컴퓨터 이름을 반영하도록 자동으로 업데이트되지 않습니다. 다음 단계에 따라 시스템 메타데이터를 업데이트하십시오.

  • 컴퓨터 이름에 대해 하드 코딩된 참조를 사용하는 Windows 그룹을 통해 SQL Server에 연결하는 사용자는 SQL Server에 연결할 수 없습니다. 이는 이름 바꾸기 후 Windows 그룹이 기존 컴퓨터 이름을 지정하는 경우에 발생할 수 있습니다. 이름 바꾸기 작업 후 Windows 그룹이 SQL Server와 연결되도록 하려면 새 컴퓨터 이름을 지정하도록 Windows 그룹을 업데이트해야 합니다.

SQL Server 서버를 다시 시작하면 새 컴퓨터 이름을 사용하여 SQL Server에 연결할 수 있습니다. @@SERVERNAME이 로컬 서버 인스턴스의 업데이트된 이름을 반환하도록 하려면 다음 중 해당 시나리오에 적용되는 절차를 직접 실행해야 합니다. 업데이트하는 컴퓨터에서 SQL Server의 기본 인스턴스를 호스팅하는지 아니면 명명된 인스턴스를 호스팅하는지 여부에 따라 사용할 절차가 달라집니다.

SQL Server의 독립 실행형 인스턴스를 호스팅하는 컴퓨터의 이름을 바꾸려면

  • SQL Server의 기본 인스턴스를 호스팅하는 컴퓨터의 이름이 바뀐 경우 다음 절차를 실행합니다.

    sp_dropserver <old_name>;
    GO
    sp_addserver <new_name>, local;
    GO
    

    SQL Server 인스턴스를 다시 시작합니다.

  • SQL Server의 명명된 인스턴스를 호스팅하는 컴퓨터의 이름이 바뀐 경우 다음 절차를 실행합니다.

    sp_dropserver <old_name\instancename>;
    GO
    sp_addserver <new_name\instancename>, local;
    GO
    

    SQL Server 인스턴스를 다시 시작합니다.

이름 바꾸기 작업을 실행한 후

컴퓨터의 이름이 변경되면 이전 컴퓨터 이름을 사용하던 모든 연결은 새 이름을 사용하여 연결되어야 합니다.

이름 바꾸기 작업이 성공적으로 완료되었는지 여부를 확인하려면

  • @@SERVERNAME 또는 sys.servers에서 정보를 선택합니다. @@SERVERNAME 함수에서 새 이름을 반환하고, sys.servers 테이블에 새 이름이 표시됩니다. 다음 예에서는 @@SERVERNAME을 사용하는 방법을 보여 줍니다.

    SELECT @@SERVERNAME AS 'Server Name';
    

기타 고려 사항

원격 로그인 - 컴퓨터에서 원격 로그인을 사용하는 경우 sp_dropserver를 실행하면 다음과 유사한 오류가 발생할 수 있습니다.

Server: Msg 15190, Level 16, State 1, Procedure sp_dropserver, Line 44 There are still remote logins for the server 'SERVER1'.

오류를 해결하려면 이 서버에 대한 원격 로그인을 삭제해야 합니다.

원격 로그인을 삭제하려면

  • 기본 인스턴스의 경우 다음 프로시저를 실행합니다.

    sp_dropremotelogin old_name;
    GO
    
  • 명명된 인스턴스의 경우 다음 프로시저를 실행합니다.

    sp_dropremotelogin old_name\instancename;
    GO
    

연결된 서버 구성 - 연결된 서버 구성은 컴퓨터 이름 바꾸기 작업의 영향을 받습니다. sp_addlinkedserver 또는 sp_setnetname을 사용하여 컴퓨터 이름 참조를 업데이트해야 합니다. 자세한 내용은 MSDN에서 sp_addlinkedserver(Transact-SQL) 또는 sp_setnetname(Transact-SQL) SQL Server 온라인 설명서 항목을 참조하십시오.

클라이언트 별칭 - 명명된 파이프를 사용하는 클라이언트 별칭은 컴퓨터 이름 바꾸기 작업의 영향을 받습니다. 예를 들어 명명된 파이프 프로토콜을 사용하여 SRVR1을 가리키는 "PROD_SRVR"이라는 별칭을 만든 경우 파이프 이름은 \\SRVR1\pipe\sql\query와 같습니다. 컴퓨터의 이름을 바꾸면 명명된 파이프의 경로가 더 이상 유효하지 않습니다. 명명된 파이프에 대한 자세한 내용은 MSDN에서 명명된 파이프를 사용하여 유효한 연결 문자열 만들기 SQL Server 온라인 설명서 항목을 참조하십시오.

참고 항목

개념

SQL Server 2012 설치