다음을 통해 공유


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

적용 대상: SQL Server - Windows만 해당

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

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

사전 요구 사항

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

  • SQL Server 인스턴스가 SQL Server 장애 조치(Failover) 클러스터의 일부인 경우 컴퓨터의 이름을 바꾸는 프로세스는 독립 실행형 인스턴스를 호스팅하는 컴퓨터의 이름을 바꾸는 프로세스와 다릅니다. 자세한 내용은 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의 기본 인스턴스를 호스팅하는 컴퓨터의 이름이 바뀐 경우 다음 절차를 실행합니다.

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

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

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

    EXEC sp_dropserver '<old_name\instancename>';
    GO
    EXEC 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'.

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

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

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

    EXEC sp_dropremotelogin old_name\instancename;
    GO
    

연결된 서버 구성

컴퓨터 이름 바꾸기 작업은 연결된 서버 구성에 영향을 줍니다. sp_addlinkedserver 또는 sp_setnetname을 사용하여 컴퓨터 이름 참조를 업데이트해야 합니다. 자세한 내용은 sp_addlinkedserver 또는 sp_setnetname을 참조하세요.

클라이언트 별칭 이름

컴퓨터 이름 바꾸기 작업은 명명된 파이프를 사용하는 클라이언트 별칭에 영향을 줍니다. 예를 들어, 별칭 PROD_SRVR이(가) SRVR1을(를) 가리키도록 생성되고 명명된 파이프 프로토콜을 사용하는 경우, 파이프 이름은 \\SRVR1\pipe\sql\query과(와) 같을 수 있습니다. 컴퓨터의 이름을 바꾸면 명명된 파이프의 경로가 더 이상 유효하지 않습니다. 명명된 파이프에 대한 자세한 내용은 명명된 파이프를 사용하여 유효한 연결 문자열 만들기를 참조하십시오.