Die Syspolicy_purge_history SQL Server Agent Auftrag fehlschlagen in SQL Server 2008

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 955726 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Alles erweitern | Alles schließen

Auf dieser Seite

Problembeschreibung

In Microsoft SQL Server 2008 kann der Syspolicy_purge_history SQL Server Agent Auftrag fehlschlagen, wenn Sie Syspolicy_purge_history Auftrag auf einer gruppierten Instanz ausführen. Möglicherweise wird eine Fehlermeldung angezeigt, die in die Protokolldatei Verlauf für die Syspolicy_purge_history -Auftrag die folgenden ähnelt:
Datum date, time
Protokollieren des Auftragsverlaufs (Syspolicy_purge_history)

Schritt-ID 3
Server-SQLVirtualName \ instancename
Auftrag-syspolicy_purge_history
Schritt löschen Phantom System Health Namenseinträge.
Dauer 00: 00: 33
SQL-Schweregrad 0
SQL-MELDUNGSKENNUNG 0
Operator per e-Mail gesendet
Operator gesendeten NET
Ausgelagerter-Operator
Wiederholungen versucht 0

Meldung
Ausgeführt als Benutzer: user. Das Skript Auftrag hat die folgenden Fehler festgestellt. Dieser Fehler wurde das Skript nicht beendet: ein Auftrag-Schritt erhielt den Fehler in Zeile 1 in einem PowerShell-Skript. Die entsprechende Zeile ist '(Get-Item SQLSERVER:\SQLPolicy\SQLVirtualName\instancename).EraseSystemHealthPhantomRecords() ".

Korrigieren Sie das Skript und neu planen Sie der Auftrag. Von PowerShell zurückgegebenen Fehler-Informationen: ' SQL Server PowerShell Anbieterfehler: konnte keine Verbindung mit hergestellt werden "SQLVirtualName \ instancename '. [Fehler beim Verbinden mit Server SQLVirtualName \ instancename.--> ein Fehler aufgetreten Herstellen einer Verbindung mit dem Server.

Beim Herstellen einer Verbindung zu SQL Server 2005 kann dieser Fehler dadurch verursacht werden, dass SQL Server unter den Standardeinstellungen keine Remoteverbindungen zulässt. (Provider: Named Pipes Provider, Error: 40-Could not Open a Connection to SQL Server)] Fehler beim Verbinden mit Server SQLVirtualName \ instancename. Fehler beim Herstellen einer Verbindung zum Server. Beim Herstellen einer Verbindung zu SQL Server 2005 kann dieser Fehler dadurch verursacht werden, dass SQL Server unter den Standardeinstellungen keine Remoteverbindungen zulässt. (Anbieter: Named Pipes-Anbieter, Fehler: 40 - konnte nicht geöffnet werden eine Verbindung zu SQL Server) '

Ein Auftrag-Schritt erhielt den Fehler in Zeile 1 in einem PowerShell-Skript. Die entsprechende Zeile ist '(Get-Item SQLSERVER:\SQLPolicy\SQLVirtualName\instancename).EraseSystemHealthPhantomRecords() ". Korrigieren Sie das Skript und neu planen Sie der Auftrag. Von PowerShell zurückgegebenen Fehler-Informationen: "Pfad nicht gefunden" SQLSERVER:\SQLPolicy\ SQLVirtualName \ instancename "da es nicht vorhanden ist. ' Eine Auftrag-Schritt erhielt den Fehler in Zeile 1 in einem PowerShell-Skript. Die entsprechende Zeile ist '(Get-Item SQLSERVER:\SQLPolicy\SQLVirtualName\instancename).EraseSystemHealthPhantomRecords() ". Korrigieren Sie das Skript und neu planen Sie der Auftrag. Die Fehlerinformationen von PowerShell zurückgegeben: ' können nicht beim Aufrufen einer Methode für einen Ausdruck Null Skalarrückgabe. '. Prozessexitcode-1. Fehler bei Schritt.

Ursache

Dieses Problem kann auftreten, wenn die Syspolicy_purge_history -Auftrag den Computernamen der Knoten anstelle von den virtuellen Servernamen für die Clusterinstanz verwendet.

Lösung

Verwenden Sie eine der folgenden Methoden, um dieses Problem zu beheben.

Methode 1: Bearbeiten der Syspolicy_purge_history-Auftrag

Bearbeiten Sie Schritt 3 der Syspolicy_purge_history -Auftrag. Gehen Sie hierzu folgendermaßen vor:
  1. Starten Sie SQL Server Management Studio.
  2. Erweitern Sie SQL Server-Agent , und erweitern Sie dann Aufträge .
  3. Klicken Sie mit der rechten Maustaste auf Syspolicy_purge_history , und klicken Sie dann auf Eigenschaften .
  4. Klicken Sie auf Schritte .
  5. Klicken Sie auf Phantom System Health Datensätze löschen , und klicken Sie dann auf Bearbeiten .
  6. Ersetzen Sie im Feld Befehl den Namen des Computer-Knotens durch den virtuellen Servernamen für die Clusterinstanz.
  7. Klicken Sie auf OK , und klicken Sie dann auf Schließen .

Methode 2: Erstellen der Syspolicy_purge_history-Auftrag

Führen Sie die Syspolicy_purge_history -Auftrag neu erstellen, die folgende Transact-SQL-Anweisung.
DECLARE @jobId uniqueidentifier

-- Obtain the current job identifier that is associated with the PurgeHistory
SELECT @jobId = CAST(current_value AS uniqueidentifier)
FROM msdb.dbo.syspolicy_configuration_internal
WHERE name = N'PurgeHistoryJobGuid'

-- Delete the job identifier association in the syspolicy configuration

DELETE FROM msdb.dbo.syspolicy_configuration_internal
WHERE name = N'PurgeHistoryJobGuid'

-- Delete the offending job
EXEC msdb.dbo.sp_delete_job @job_id = @jobId

-- Re-create the job and its association in the syspolicy configuration table
EXEC msdb.dbo.sp_syspolicy_create_purge_job

Weitere Informationen

In SQL Server 2008 Setup fragt das Setup-Skript das Datenbankmodul für die Computername. Wenn ist die Setup-Skript Abfragen für die Computername das Datenbankmodul nicht bekannt, dass der Cluster. Daher gibt die Datenbank-Engine Computername instead of den Namen des Clusters zurück.

Eigenschaften

Artikel-ID: 955726 - Geändert am: Donnerstag, 19. März 2009 - Version: 2.0
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Workgroup
  • Microsoft SQL Server 2008 Developer
Keywords: 
kbmt sql2008relnotetools sql2008relnote kberrmsg kbtshoot kbprb KB955726 KbMtde
Maschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 955726
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

Ihr Feedback an uns

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com