Como remover uma instância do SQL Server do SQL Server Utility

Siga as etapas a seguir para remover uma instância gerenciada do SQL Server do SQL Server Utility. Este procedimento remove a instância do SQL Server da exibição de lista do UCP e a coleta de dados do SQL Server Utility é interrompida. A instância do SQL Server não é desinstalada.

Observação importanteImportante

Antes de realizar este procedimento para remover uma instância do SQL Server do SQL Server Utility, tenha certeza de que os serviços do SQL Server e SQL Server Agent estão sendo executados na instância a ser removida.

  1. No Gerenciador do Utility no SQL Server Management Studio, clique em Instâncias Gerenciadas. Observe a exibição de lista das instâncias registradas do SQL Server no painel de conteúdo do Gerenciador do Utility.

  2. Na coluna Nome de Instância do SQL Server da exibição de lista, selecione a instância do SQL Server para remover do SQL Server Utility. Clique com o botão direito do mouse na instância a ser removida e selecione Remover Instância Gerenciada....

  3. Especifique credenciais com privilégios de administrador para a instância do SQL Server: clique em Conectar..., verifique as informações na caixa de diálogo Conectar ao Servidor e clique em Conectar. Você consultará as informações de logon na caixa de diálogo Remover Instância Gerenciada.

  4. Para confirmar a operação, clique em OK. Para encerrar a operação, clique em Cancelar.

Remover manualmente uma instância gerenciada do SQL Server do SQL Server Utility

Este procedimento remove a instância do SQL Server da exibição de lista do UCP e interrompe a coleta de dados do SQL Server Utility. A instância do SQL Server não é desinstalada.

Para usar o PowerShell para remover uma instância gerenciada do SQL Server do SQL Server Utility. Esse script executa as seguintes operações:

  • Obtém o UCP pelo nome da instância do servidor.

  • Remove a instância gerenciada do SQL Server do SQL Server Utility.

# 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);

Use os seguintes comandos do Transact-SQL no SQL Server Management Studio se todos os outros métodos não removerem uma instância gerenciada do SQL Server do SQL Server Utility. Os dois scripts presumem que o usuário esteja executando como sysadmin.

  1. Conecte-se à instância gerenciada do SQL Server e execute este procedimento armazenado:

    EXEC msdb.dbo.sp_sysutility_mi_remove;
    

    Neste momento, a instância gerenciada do SQL Server ainda aparece no Gerenciador do Utility, mas não carrega mais dados no UCP. O status na exibição de lista fica esmaecido. Tecnicamente, a instância não está inscrita em um SQL Server Utility, então poderá ser inscrita em um UCP diferente.

  1. Conecte-se ao UCP e execute este script:

    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;
    

Observe que é importante referir-se exatamente ao nome de instância do SQL Server como é armazenado no SQL Server. Em uma instância com diferenciação de maiúsculas e minúsculas do SQL Server, você deve especificar o nome de instância exatamente como retornado por @@SERVERNAME. Para obter o nome de instância para a instância gerenciada do SQL Server, execute esta consulta na instância gerenciada:

select @@SERVERNAME AS instance_name

Neste momento, a instância gerenciada do SQL Server é removida completamente do UCP. Ela desaparece da exibição de lista da próxima vez que você atualizar os dados para o SQL Server Utility. Este estado é idêntico para um usuário que consegue remover uma instância gerenciada na interface de usuário do SSMS.