Problembehandlung beim SQL Server-Hilfsprogramm

Die Behebung von Problemen mit dem SQL Server-Hilfsprogramm kann das Auflösen eines gescheiterten Vorgangs zur Registrierung einer Instanz von SQL Server mit einem Steuerungspunkt für das Hilfsprogramm (UCP) einschließen, die Behebung von Fehlern bei Datensammlungen, die zu grauen Symbolen in der Listenansicht der verwalteten Instanzen auf einem UCP führen, die Abhilfe für Leistungsengpässe oder das Beheben von Problemen mit der Ressourcenintegrität. Weitere Informationen zur Abhilfe bei Problemen mit der Ressourcenintegrität, die von einem SQL Server-UCP identifiziert wurden, finden Sie unter Fehlerbehebung für die SQL Server-Ressourcenintegrität (SQL Server-Hilfsprogramm).

Fehlgeschlagener Vorgang, eine Instanz von SQL Server in ein SQL Server-Hilfsprogramm zu registrieren

Wenn Sie die SQL Server-Authentifizierung für die Verbindung mit der Instanz von SQL Server für die Registrierung verwenden, und Sie geben ein Proxykonto an, das zu einer anderen Active Directory-Domäne gehört als die Domäne, wo sich der UCP befindet, ist die Instanzüberprüfung erfolgreich, aber der Registrierungsvorgang scheitert mit der folgenden Fehlermeldung:

An exception occurred while executing a Transact-SQL statement or batch. (Microsoft.SqlServer.ConnectionInfo)

Additional information: Could not obtain information about Windows NT group/user '<DomainName\AccountName>', error code 0x5. (Microsoft SQL Server, Error: 15404)

Das Problem tritt im folgenden Beispielszenario auf:

  1. Der UCP ist ein Element von Domain_1.

  2. Eine unidirektionale Domänenvertrauensstellung ist vorhanden: das heißt, Domain_1 wird nicht von Domain_2 vertraut, aber Domain_2 wird von Domain_1 vertraut.

  3. Die Instanz von SQL Server, die in das SQL Server-Hilfsprogramm registriert werden soll, ist auch ein Element von Domain_1.

  4. Stellen Sie während des Registrierungsvorgangs eine Verbindung mit der Instanz von SQL Server her, um sich mit sa zu registrieren. Geben Sie ein Proxykonto bei Domain_2 an.

  5. Die Überprüfung ist erfolgreich, aber die Registrierung schlägt fehl.

Die Umgehung für dieses Problem besteht darin, eine Verbindung mit der Instanz von SQL Server herzustellen, um sich in das SQL Server-Hilfsprogramm mit sa zu registrieren und ein Proxykonto bei Domain_1 bereitzustellen.

Fehlgeschlagene WMI-Überprüfung

Wenn WMI nicht ordnungsgemäß auf einer Instanz von SQL Server konfiguriert wird, zeigen die Vorgänge für das Erstellen des UCPs und die Registrierung verwalteter Instanzen eine Warnung an, der Vorgang wird jedoch nicht blockiert. Wenn Sie die SQL Server-Agent-Kontokonfiguration ändern, sodass der SQL Server-Agent nicht über die Berechtigung für die erforderlichen WMI-Klassen verfügt, lädt die Datensammlung auf der betroffenen verwalteten Instanz von SQL Server nicht zum UCP hoch. Dies führt im UCP zu grauen Symbolen.

Die fehlgeschlagene Datensammlung führt in der UCP-Listenansicht für betroffene verwaltete Instanzen von SQL Server zu grauen Statussymbolen. Der Auftragsverlauf auf der verwalteten Instanz von SQL Server zeigt an, dass sysutility_mi_collect_and_upload bei Schritt 2 (Phasendaten haben sich von PowerShell-Skript gesammelt) fehlschlägt.

Die vereinfachten Fehlermeldungen sind:

Die Befehlsausführung wurde beendet, da die Shellvariable ErrorActionPreference auf Beenden festgelegt wurde: Zugriff verweigert.

ERROR: <Datums-/Uhrzeit (MM/DD-/YYYY HH:MM:SS)>: Hat Ausnahme beim Sammeln von CPU-Eigenschaften abgefangen. Eine WMI-Abfrage könnte fehlgeschlagen sein. WARNUNG:

Um dieses Problem zu beheben, überprüfen Sie die folgenden Konfigurationseinstellungen:

  • Unter Windows Server 2003 muss der SQL Server-Agent-Dienst Teil der Gruppe der Systemmonitorbenutzer auf der verwalteten Instanz von SQL Server sein.

  • Der WMI-Dienst muss auf der verwalteten Instanz von SQL Server aktiviert und konfiguriert sein.

  • Das WMI-Repository könnte auf der verwalteten Instanz von SQL Server fehlerhaft sein.

  • Die Leistungsbibliothek könnte fehlen oder auf der verwalteten Instanz von SQL Server beschädigt sein.

Um zu überprüfen, ob die angegebene Instanz von SQL Server ordnungsgemäß für Datenberichte an den UCP konfiguriert ist, überprüfen Sie, ob die folgenden Klassen auf der angegebenen Instanz von SQL Server verfügbar sind und ob auf sie vom SQL Server-Agent-Dienstkonto zugegriffen werden kann:

  • Win32_MountPoint

  • Win32_PerfRawData_PerfProc_Process

  • Win32_PerfRawData_PerfOS_Processor

  • Win32_Processor

  • Win32_Volume

  • Win32_LogicalDisk

Sie können das Get-WmiObject PowerShell Cmdlet auf jede der Klassen anwenden, um zu überprüfen, dass auf jede Klasse zugegriffen werden kann. Führen Sie die folgenden Cmdlets auf der verwalteten Instanz von SQL Server aus:

Get-WmiObject Win32_MountPoint -ErrorAction Stop | Out-Null
Get-WmiObject Win32_PerfRawData_PerfProc_Process -ErrorAction Stop| Out-Null
Get-WmiObject Win32_PerfRawData_PerfOS_Processor -ErrorAction Stop | Out-Null
Get-WmiObject Win32_Processor -ErrorAction Stop | Out-Null
Get-WmiObject Win32_Volume -ErrorAction Stop | Out-Null
Get-WmiObject Win32_LogicalDisk -ErrorAction Stop | Out-Null

Weitere Informationen zum Durchführen einer Problembehandlung für WMI finden Sie unter Problembehandlung bei WMI. Beachten Sie, dass Abfragen an diese SQL Server-Hilfsprogrammvorgänge lokal ausgeführt werden, so dass DCOM und Remoteproblembehandlungsinhalte nicht gültig sind.

Fehlerhafte Datensammlung

Wenn bei Datensammlungsereignissen des SQL Server-Hilfsprogramms ein Fehler auftritt, sollten Sie folgende Möglichkeiten in Betracht ziehen:

  • Ändern Sie nicht die Eigenschaften des Sammlungssatzes Hilfsprogramminformationen in einer verwalteten SQL Server-Instanz, und aktivieren/deaktivieren Sie die Datensammlung nicht manuell, da die Datensammlung über einen Auftrag des Hilfprogramm-Agents gesteuert wird.

  • Gescheiterte oder nicht unterstützte WMI-Überprüfung. Weitere Informationen finden Sie im Abschnitt Fehlgeschlagene WMI-Überprüfung weiter oben in diesem Thema.

  • Aktualisieren Sie Daten in der Listenansicht verwalteter Instanzen, da die Daten in den Blickpunkten des SQL Server-Hilfsprogramms nicht automatisch aktualisiert werden. Um Daten zu aktualisieren, klicken Sie mit der rechten Maustaste auf den Knoten Verwaltete Instanzen im Hilfsprogramm-Explorer-Navigationsbereich und wählen dann Aktualisieren aus. Alternativ klicken Sie mit der rechten Maustaste in der Listenansicht auf den SQL Server-Instanznamen und wählen dann Aktualisieren aus. Nachdem eine Instanz von SQL Server bei einem UCP registriert wurde, kann es bis zu 30 Minuten dauern, bis die ersten Daten im Inhaltsbereich des Hilfsprogramm-Explorers im Dashboard und in den Blickpunkten angezeigt werden.

  • Verwenden Sie den SQL Server-Konfigurations-Manager, um zu überprüfen, ob die Instanz von SQL Server ausgeführt wird.

  • Wenn die Datensammlung oder das Hochladen von Daten aufgrund von Timeoutproblemen scheitern, aktualisieren Sie die Funktion dbo.fn_sysutility_mi_get_collect_script() in der MSDB-Datenbank. Fügen Sie insbesondere in der Funktion Invoke-BulkCopyCommand() die folgende Zeile hinzu:

    $bulkCopy.BulkCopyTimeout=180
    

    Der Standard-Timeoutwert beträgt 30 Sekunden.

  • Wenn die Instanz von SQL Server nicht gruppiert ist, überprüfen Sie, ob der SQL Server-Agent-Dienst ausgeführt wird und ob der Dienst für den automatischen Start auf dem UCP und in der verwalteten Instanz von SQL Server eingerichtet wurde.

  • Überprüfen Sie, ob ein gültiges Konto verwendet wird, um die Datensammlung für die verwaltete Instanz von SQL Server auszuführen. Möglicherweise ist das Kennwort z. B. abgelaufen. Wenn das Proxykennwort abgelaufen ist, aktualisieren Sie die Kennwort-Anmeldeinformationen in SSMS wie folgt:

    1. Erweitern Sie im Objekt-Explorer von SSMS den Knoten Sicherheit und dann den Knoten Anmeldeinformationen.

    2. Klicken Sie mit der rechten Maustaste auf UtilityAgentProxyCredential_<GUID>, und wählen Sie Eigenschaften aus.

    3. Aktualisieren Sie im Dialogfeld Eigenschaften für Anmeldeinformationen die Anmeldeinformationen für UtilityAgentProxyCredential_<GUID>, soweit erforderlich.

    4. Klicken Sie auf OK, um die Änderung zu bestätigen.

  • TCP/IP muss für den UCP und die verwaltete Instanz von SQL Server aktiviert sein. Aktivieren Sie TCP/IP über den SQL Server-Konfigurations-Manager.

  • Der SQL Server-Browserdienst auf dem UCP sollte gestartet werden und für den automatischen Start konfiguriert sein. Wenn die Verwendung des SQL Server-Browserdiensts in Ihrer Organisation verhindert wird, führen Sie die folgenden Schritte aus, damit eine verwaltete Instanz von SQL Server eine Verbindung mit dem UCP herstellen kann:

    1. Klicken Sie auf der Windows-Taskleiste der verwalteten Instanz von SQL Server auf Start, und wählen Sie Ausführen aus.

    2. Geben Sie im dafür vorgesehenen Feld cliconfg.exe ein, und klicken Sie auf OK.

    3. Sobald Sie aufgefordert werden, die EXE-Datei für das SQL Server-Clientkonfigurationsprogramm zu starten, klicken Sie auf Weiter.

    4. Wählen Sie im Dialogfeld SQL Server-Clientkonfigurationsprogramm die Registerkarte Alias aus, und klicken Sie auf Hinzufügen.

    5. Im Dialogfeld Netzwerkbibliothekskonfiguration hinzufügen:

    6. Geben Sie in der Liste der Netzwerkbibliotheken TCP/IP an.

    7. Geben Sie den ComputerName\InstanceName des UCPs im Textfeld Serveralias an.

    8. Geben Sie den ComputerName des UCPs im Textfeld Servername an.

    9. Deaktivieren Sie das Kontrollkästchen Anschluss dynamisch bestimmen.

    10. Geben Sie die Nummer des Anschlusses, an dem der UCP lauscht, im Textfeld Anschlussnummer an.

    11. Klicken Sie auf OK, um die Änderungen zu speichern.

    12. Wiederholen Sie diese Schritte für jede verwaltete Instanz von SQL Server, die eine Verbindung mit einem UCP herstellt, auf dem der SQL Server-Browserdienst nicht aktiviert ist.

  • Stellen Sie sicher, dass verwaltete Instanzen von SQL Server mit dem Netzwerk verbunden sind.

  • Wenn Datenbanken mit dem gleichen Namen, aber unterschiedlichen Einstellungen im Hinblick auf die Berücksichtigung von Groß- und Kleinschreibung für eine verwaltete Instanz von SQL Server vorhanden sind, kann die Datenauflistung fehlschlagen. Eine Datenbank mit dem Namen MYDATABASE könnte z. B. Integritätszustände für eine Datenbank mit dem Namen MYDATABASE anzeigen. Bei diesem Szenario wird kein Fehler generiert. Die fehlgeschlagene Datensammlung kann auch für andere im UCP angezeigte Objekte aus Konflikten bei der Groß- und Kleinschreibung im UCP stammen, wie Datenbankdatei- und Dateigruppennamen.

  • Wenn eine verwaltete Instanz von SQL Server auf einem Windows Server 2003-Computer gehostet wird, muss das SQL Server-Agent-Dienstkonto der Sicherheitsgruppe Systemmonitorbenutzer oder der lokalen Gruppe Administratoren angehören. Andernfalls meldet die Datensammlung den Fehler, dass der Zugriff verweigert wurde. Um der Sicherheitsgruppe der Systemmonitorbenutzer ein SQL Server-Agent-Dienstkonto hinzuzufügen, führen Sie die folgenden Schritte aus:

    1. Erweitern Sie unter Computerverwaltung den Eintrag Lokale Benutzer und Gruppen, und klicken Sie dann auf Gruppen.

    2. Klicken Sie mit der rechten Maustaste auf Systemmonitorbenutzer, und wählen Sie Zur Gruppe hinzufügen aus.

    3. Klicken Sie auf Hinzufügen.

    4. Geben Sie das Konto ein, unter dem der SQL Server-Agent-Dienst ausgeführt wird, und klicken Sie dann auf OK.

    5. Wenn die Instanz von SQL Server bereits beim UCP registriert war, bevor der Benutzer dieser Gruppe hinzugefügt wurde, starten Sie den SQL Server-Agent-Dienst neu.