방법: SQL Server 유틸리티에서 SQL Server 인스턴스 제거

SQL Server 유틸리티에서 SQL Server 관리되는 인스턴스를 제거하려면 다음 단계를 수행하십시오. 이 절차를 수행하면 UCP 목록 뷰에서 SQL Server 인스턴스가 제거되며 SQL Server 유틸리티 데이터 컬렉션이 중지됩니다. SQL Server 인스턴스가 제거되는 것은 아닙니다.

중요 정보중요

이 절차를 사용하여 SQL Server 유틸리티에서 SQL Server 관리되는 인스턴스를 제거하기 전에 제거할 인스턴스에서 SQL Server 및 SQL Server 에이전트 서비스가 실행 중인지 확인하십시오.

  1. SQL Server Management Studio의 유틸리티 탐색기에서 관리되는 인스턴스를 클릭합니다. 유틸리티 탐색기 탐색 창에서 SQL Server 관리되는 인스턴스의 목록 뷰를 살펴봅니다.

  2. 목록 뷰의 SQL Server 인스턴스 이름 열에서 SQL Server SQL Server 유틸리티에서 제거할 인스턴스를 선택합니다. 제거할 인스턴스를 마우스 오른쪽 단추로 클릭하고 **관리되는 인스턴스 제거…**를 선택합니다.

  3. SQL Server 인스턴스에 대한 관리자 권한이 있는 자격 증명을 지정합니다. **연결…**을 클릭하고 서버에 연결 대화 상자의 정보를 확인한 다음 연결을 클릭합니다. 관리되는 인스턴스 제거 대화 상자에 로그인 정보가 표시됩니다.

  4. 작업을 수행하려면 확인을 클릭합니다. 작업을 취소하려면 취소를 클릭합니다.

SQL Server 유틸리티에서 수동으로 SQL Server 관리되는 인스턴스 제거

이 절차를 수행하면 UCP 목록 뷰에서 SQL Server 인스턴스가 제거되며 SQL Server 유틸리티 데이터 컬렉션이 중지됩니다. SQL Server 인스턴스가 제거되는 것은 아닙니다.

PowerShell을 사용하여 SQL Server 유틸리티에서 SQL Server 관리되는 인스턴스를 제거하려면 다음 단계를 수행하십시오. 이 스크립트는 다음 작업을 수행합니다.

  • 서버 인스턴스 이름으로 UCP를 얻습니다.

  • SQL Server 유틸리티에서 SQL Server 관리되는 인스턴스를 제거합니다.

# Get Ucp connection
$UcpServerInstanceName = "ComputerName\InstanceName";
$UtilityInstance = new-object –Type Microsoft.SqlServer.Management.Smo.Server $UcpServerInstanceName;
$UcpConnection = new-object -Type Microsoft.SqlServer.Management.Sdk.Sfc.SqlStoreConnection $UtilityInstance.ConnectionContext.SqlConnectionObject;
$Utility = [Microsoft.SqlServer.Management.Utility.Utility]::Connect($UcpConnection);

# Now remove the ManagedInstance from the SQL Server Utility
$ServerInstanceName = "ComputerName\InstanceName";
$Instance = new-object -Type Microsoft.SqlServer.Management.Smo.Server $ServerInstanceName;
$InstanceConnection = new-object -Type Microsoft.SqlServer.Management.Sdk.Sfc.SqlStoreConnection $Instance.ConnectionContext.SqlConnectionObject;
$ManagedInstance = $Utility.ManagedInstances[$ServerInstanceName];
$ManagedInstance.Remove($InstanceConnection);

다른 모든 방법으로도 SQL Server 유틸리티에서 SQL Server 관리되는 인스턴스를 제거하지 못한 경우 SQL Server Management Studio에서 다음 Transact-SQL 명령을 사용합니다. 두 스크립트는 모두 사용자가 sysadmin으로 실행되고 있다고 가정합니다.

  1. SQL Server 관리되는 인스턴스에 연결하고 이 저장 프로시저를 실행합니다.

    EXEC msdb.dbo.sp_sysutility_mi_remove;
    

    이렇게 하면 SQL Server 관리되는 인스턴스가 유틸리티 탐색기에 표시되기는 하지만 UCP로 데이터를 업로드하지는 않습니다. 목록 뷰의 상태는 회색이 됩니다. 기술적으로는 인스턴스가 SQL Server 유틸리티에 등록되지 않은 상태이므로 다른 UCP에 등록할 수 있습니다.

  1. UCP에 연결하고 이 스크립트를 실행합니다.

    DECLARE @instance_id int;
    SELECT @instance_id = mi.instance_id
    FROM msdb.dbo.sysutility_ucp_managed_instances AS mi
    WHERE mi.instance_name = 'ComputerName\InstanceName';
    
    EXEC msdb.dbo.sp_sysutility_ucp_remove_mi @instance_id;
    

SQL Server에 저장되어 있는 것과 동일하게 SQL Server 인스턴스 이름을 참조하는 것이 중요합니다. 대/소문자를 구분하는 SQL Server 인스턴스에서는 @@SERVERNAME으로 반환되는 것과 동일하게 대/소문자를 지정해야 합니다. SQL Server 관리되는 인스턴스의 인스턴스 이름을 얻으려면 관리되는 인스턴스에서 이 쿼리를 실행합니다.

select @@SERVERNAME AS instance_name

이렇게 하면 SQL Server 관리되는 인스턴스가 UCP에서 완전하게 제거됩니다. SQL Server 유틸리티에서 데이터를 다음번 새로 고치면 목록 뷰에 해당 인스턴스가 표시되지 않습니다. 이 상태는 SSMS 사용자 인터페이스를 통해 관리 인터페이스 제거 작업을 성공적으로 수행한 것과 동일합니다.