Vorgehensweise: Entfernen einer Instanz von SQL Server aus dem SQL Server-Hilfsprogramm

Führen Sie die folgenden Schritte aus, um eine verwaltete Instanz von SQL Server aus dem SQL Server-Hilfsprogramm zu entfernen. Mit diesem Verfahren wird die Instanz von SQL Server aus der UCP-Listenansicht entfernt und die Datensammlung des SQL Server-Hilfsprogramms beendet. Die Instanz von SQL Server wird nicht deinstalliert.

Wichtiger HinweisWichtig

Bevor Sie eine Instanz von SQL Server mithilfe dieses Verfahrens aus dem SQL Server-Hilfsprogramm entfernen können, stellen Sie sicher, dass SQL Server und SQL Server-Agent-Dienste auf der zu entfernenden Instanz ausgeführt werden.

  1. Klicken Sie im Hilfsprogramm-Explorer in SQL Server Management Studio auf Verwaltete Instanzen. Achten Sie im Inhaltsbereich des Hilfsprogramm-Explorers auf die Listenansicht verwalteter SQL Server-Instanzen.

  2. Wählen Sie in der Spalte Name der SQL Server-Instanz der Listenansicht die SQL Server-Instanz aus, die aus dem SQL Server-Hilfsprogramm entfernt werden soll. Klicken Sie mit der rechten Maustaste auf die zu entfernende Instanz, und wählen Sie Verwaltete Instanz entfernen aus.

  3. Geben Sie Anmeldeinformationen mit Administratorrechten für die Instanz von SQL Server an: Klicken Sie auf Verbinden, überprüfen Sie die Informationen im Dialogfeld Verbindung mit Server herstellen, und klicken Sie dann auf Verbinden. Sie sehen die Anmeldeinformationen im Dialogfeld Verwaltete Instanz entfernen.

  4. Um das Entfernen zu bestätigen, klicken Sie auf OK. Um den Vorgang zu beenden, klicken Sie auf Abbrechen.

Manuelles Entfernen einer verwalteten Instanz von SQL Server aus einem SQL Server-Hilfsprogramm

Mit diesem Verfahren wird die Instanz von SQL Server aus der UCP-Listenansicht entfernt und die Datensammlung des SQL Server-Hilfsprogramms beendet. Die Instanz von SQL Server wird nicht deinstalliert.

So verwenden Sie PowerShell, um eine verwaltete Instanz von SQL Server aus dem SQL Server-Hilfsprogramm zu entfernen. Dieses Skript führt die folgenden Vorgänge aus:

  • Ruft den UCP nach dem Serverinstanznamen ab.

  • Entfernt die verwaltete Instanz von SQL Server aus dem SQL Server-Hilfsprogramm.

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

Verwenden Sie die folgenden Transact-SQL-Befehle in SQL Server Management Studio, wenn eine verwaltete Instanz von SQL Server mit keiner anderen Methode aus dem SQL Server-Hilfsprogramm entfernt werden kann. Bei beiden Skripts wird davon ausgegangen, dass der Benutzer als sysadmin angemeldet ist.

  1. Stellen Sie eine Verbindung mit der verwalteten Instanz von SQL Server her, und führen Sie die folgende gespeicherte Prozedur aus:

    EXEC msdb.dbo.sp_sysutility_mi_remove;
    

    An diesem Punkt wird die verwaltete Instanz von SQL Server zwar noch im Hilfsprogramm-Explorer angezeigt, sie lädt aber keine weiteren Daten mehr auf den UCP hoch. Der Status in der Listenansicht ist grau. Technisch gesehen, ist die Instanz in keinem SQL Server-Hilfsprogramm registriert, sodass sie in einem anderen UCP registriert werden könnte.

  1. Stellen Sie eine Verbindung mit dem UCP her, und führen Sie das folgende Skript aus:

    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;
    

Es ist wichtig, den SQL Server-Instanznamen genau so anzugeben, wie er in SQL Server gespeichert ist. Bei einer Instanz von SQL Server, bei der Groß-/Kleinschreibung beachtet wird, müssen Sie den Instanznamen mit genau der Groß-/Kleinschreibung angeben, die von @@SERVERNAME zurückgegeben wird. Um den Instanznamen für die verwaltete Instanz von SQL Server abzurufen, führen Sie die folgende Abfrage für die verwaltete Instanz aus:

select @@SERVERNAME AS instance_name

An diesem Punkt wird die verwaltete Instanz von SQL Server vollständig aus dem UCP entfernt. Sie wird nicht mehr in der Listenansicht angezeigt, wenn Sie das nächste Mal Daten für das SQL Server-Hilfsprogramm aktualisieren. Das Ergebnis ist genauso, als würde ein Benutzer den Vorgang zum Entfernen verwalteter Instanzen erfolgreich in der SSMS-Benutzeroberfläche abschließen.