Procédure : supprimer une instance de SQL Server de l'utilitaire SQL Server

Suivez la procédure suivante pour supprimer une instance managée de SQL Server de l'utilitaire SQL Server. Cette procédure supprime l'instance de SQL Server du mode Liste de l'UCP et interrompt la collecte de données de l'utilitaire SQL Server. L'instance de SQL Server n'est pas désinstallée.

Important

Avant d'utiliser cette procédure pour supprimer une instance de SQL Server de l'utilitaire SQL Server, assurez-vous que les services SQL Server et Agent SQL Server s'exécutent sur l'instance à supprimer.

  1. Depuis l'Explorateur de l'utilitaire dans SQL Server Management Studio, cliquez sur Instances managées. Observez le mode Liste des instances managées de SQL Server dans le volet de contenu de l'Explorateur de l'utilitaire.

  2. Dans la colonne Nom de l'instance SQL Server du mode Liste, sélectionnez l'instance SQL Server à supprimer de l'utilitaire SQL Server. Cliquez avec le bouton droit sur l'instance à supprimer et sélectionnez Supprimer une instance managée.

  3. Spécifiez des informations d'identification avec des privilèges d'administrateur pour l'instance de SQL Server : cliquez sur Se connecter…, vérifiez les informations dans la boîte de dialogue Se connecter au serveur, puis cliquez surSe connecter. Les informations de connexion s'affichent sur le dialogue Supprimer une instance managée.

  4. Cliquez sur OK pour confirmer l'opération. Pour quitter l'installation, cliquez sur Annuler.

Supprimer manuellement une instance managée de SQL Server d'un utilitaire SQL Server

Cette procédure supprime l'instance de SQL Server du mode Liste de l'UCP et interrompt la collecte de données de l'utilitaire SQL Server. L'instance de SQL Server n'est pas désinstallée.

Pour utiliser PowerShell pour supprimer une instance managée de SQL Server de l'utilitaire SQL Server. Ce script effectue les opérations suivantes :

  • obtient l'UCP par le nom de l'instance du serveur ;

  • supprime l'instance managée de SQL Server de l'utilitaire 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);

Utilisez les commandes Transact-SQL suivantes dans SQL Server Management Studio si toutes les autres méthodes ne parviennent pas à supprimer une instance managée de SQL Server de l'utilitaire SQL Server. Les deux scripts supposent que l'utilisateur s'exécute en tant que sysadmin.

  1. Connectez-vous à l'instance managée de SQL Server et exécutez cette procédure stockée :

    EXEC msdb.dbo.sp_sysutility_mi_remove;
    

    À ce stade, l'instance managée de SQL Server s'affiche encore dans l'Explorateur de l'utilitaire, mais ne télécharge plus de données à l'UCP. L'état en mode Liste est grisé. Techniquement, l'instance n'est pas inscrite dans un utilitaire SQL Server, donc elle pourrait être inscrite dans un UCP différent.

  1. Connectez-vous à l'UCP et exécutez ce 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;
    

Notez qu'il est important de désigner l'instance SQL Server par son nom exact, tel qu'il est enregistré dans SQL Server. Sur une instance de SQL Server sensible à la casse, vous devez spécifier le nom de l'instance en respectant la casse exacte, telle qu'elle est retournée par @@SERVERNAME. Pour obtenir le nom de l'instance pour l'instance managée de SQL Server, exécutez la requête suivante sur l'instance managée :

select @@SERVERNAME AS instance_name

À ce stade, l'instance managée de SQL Server est complètement supprimée de l'UCP. Elle disparaît du mode Liste lorsque vous actualisez les données de l'utilitaire SQL Server. Le résultat est identique à celui qu'obtient un utilisateur qui effectue avec succès l'opération de suppression d'instance managée dans l'interface utilisateur SSMS.