DetailPage-MSS-KB

Knowledge Base

Artikel-ID: 2787112 - Geändert am: Montag, 4. Februar 2013 - Version: 3.0

 

Auf dieser Seite

Problembeschreibung

Eines der folgenden Probleme in Microsoft SQL Server auftreten.

Problem 1

Wird davon gegangen Sie aus, dass eine Inkonsistenz im Dateisystem-Metadaten erstellen, wenn Sie manuell die Systemtabellen in einer SQL Server-Datenbank aktualisieren. Sie versuchen dann, führen Sie einen Befehl DBCC CHECKDB , um Inkonsistenzen in den Systemtabellen Metadaten zu identifizieren. In diesem Fall wird die folgende Fehlermeldung zurückgegeben:
Msg 8992, Ebene 16, Status 1, Zeile 1
Überprüfen Katalog Msg 3853, Status 1:-Attribut (Referenced_object_id =Objekt-ID>, Key_index_id =Index-ID>) der Zeile (Object_id =Objekt-ID>) in FOREIGN_KEYS hat keine übereinstimmende Zeile (Object_id =Objekt-ID>, Index_id =Index-ID>) in sys.indexes.

Problem 2

Wenn Sie die Systemtabellen in SQL Server aktualisieren, wird eine Warnmeldung angezeigt, die der folgenden ähnelt:
Warnung: System-Tabellen-IDTabellen-ID> direkt in die Datenbank-ID wurde aktualisiertDatenbank-ID> und Cache-Kohärenz möglicherweise nicht beibehalten. SQL Server muss neu gestartet werden.
In diesem Fall wenn Sie einen Befehl DBCC CHECKDB oder DBCC CHECKCATALOG ausführen die Warnmeldung zusammen mit Datum und Uhrzeit, die die Systemkatalogen zuletzt geändert wurden werden zurückgegeben. Darüber hinaus wird die folgende Warnmeldung auch in der SQL Server-Protokoll protokolliert:
Warnung: Die Systemkatalog wurde direkt in die Datenbank-ID aktualisiert.Datenbank-ID>, die zuletzt amZeit des Protokolls>.
Hinweis Diese Informationen in der Kopfzeile der Datenbank gespeichert und für die Lebensdauer der Datenbank beibehalten.

Ursache

Dieses Problem tritt auf, weil SQL Server-manuelle Aktualisierungen an Systemtabellen nicht unterstützt. Systemtabellen sollten nur von SQL Server-Datenbankmodul aktualisiert werden.

Hinweis Sie können die Daten in den Systemtabellen mithilfe der Katalogsichten anzeigen.

Lösung

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

Methode 1

Wenn Sie eine fehlerfreie Sicherung der Datenbank verfügen, Wiederherstellen Sie die Datenbank aus der Sicherung.

Hinweis Diese Methode funktioniert nur, wenn die Sicherung nicht Inkonsistenzen in den Metadaten verfügt.

Methode 2

Wenn Sie die Datenbank aus einer Sicherung wiederherstellen können, exportieren Sie die Daten und die Objekte in eine neue Datenbank. Übertragen Sie der Inhalt der Datenbank manuell aktualisiert werden dann in die neue Datenbank. HinweisSie können keine Inkonsistenzen in den Systemkatalogen Reparaturoptionen in die Befehle DBCC CHECKDB mit reparieren. Deshalb, weil der Befehl Metadatenbeschädigung repariert werden kann, der Befehl alle empfohlenen Reparaturstufe bietet keine.

Weitere Informationen

Weitere Informationen über die System Center Advisor-Regel, die Änderungen erkennt, die Systemkataloge vorgenommen werden, klicken Sie auf die folgende Artikelnummer klicken, um den Artikel in der Microsoft Knowledge Base anzuzeigen:
2688307  (http://support.microsoft.com/kb/2688307/ ) Ereignis-ID 17659 und Ereignis-ID 3859 werden protokolliert, wenn Sie Systemtabellen in einer SQL Server-Datenbank aktualisieren
Die folgende Tabelle listet die Fehler, die auf Inkonsistenzen in den Systemkatalogen hinweisen. In der Regel werden die folgenden Fehler mit Fehlercode "8992" generiert.
Tabelle minimierenTabelle vergrößern
FehlerMeldungstext
3851Eine ungültige Zeile (% ls) wurde in der System-Tabelle-sys.%ls%ls gefunden.
3852Zeile (% ls) in sys.%ls%ls muss eine übereinstimmende Zeile (% ls) nicht in sys.%ls%ls.
3853Attribut (% ls) der Zeile (% ls) in sys.%ls%ls muss eine übereinstimmende Zeile (% ls) nicht in sys.%ls%ls.
3854Attribut (% ls) der Zeile (% ls) im sys.%ls%ls hat eine übereinstimmende Zeile (% ls) in sys.%ls%ls, der ungültig ist.
3855Attribut (% ls) ist ohne eine Zeile (% ls) in sys.%ls%ls vorhanden.
3856Attribut (% ls) vorhanden ist, jedoch sollten nicht für die Zeile (% ls) in sys.%ls%ls.
3857Das Attribut (% ls) ist erforderlich, aber für Zeile (% ls) in sys.%ls%ls ist nicht vorhanden.
3858Das Attribut (% ls) der Zeile (% ls) im sys.%ls%ls hat einen ungültigen Wert.
3859Warnung: Systemkatalog wurde direkt in die Datenbank-ID % d, um % S_DATE zuletzt aktualisiert.
Es folgen Beispiele für Fehlermeldungen, die möglicherweise angezeigt werden, wenn diese Probleme auftreten:
Server: Msg 2513, Ebene 16, Status 1, Zeile 1
Tabellenfehler: Objekt-IDObjekt-ID> (Objekt 'Objekt-ID>') passt nicht zwischen 'SYSCOLUMNS' und 'SYSOBJECTS'.

Msg 3853, Ebene 16, Status 1, Zeile 2
Attribut (Object_id =Objekt-ID>) der Zeile (Object_id =Objekt-ID>, Index_id =Index-ID>) in sys.indexes hat keine übereinstimmende Zeile (Object_id =Objekt-ID>) in sys.objects.

Msg 3855, Ebene 16, Status 1, Zeile 2
Attribut (Data_space_id = 1) ohne eine Zeile vorhanden ist (Object_id =Objekt-ID>, Index_id =Index-ID>) in sys.indexes.

Msg 3852, Ebene 16, Status 1, Zeile 1
Zeile (Object_id =Objekt-ID>, Index_id = 1) in sys.indexes (Typ = U) verfügt nicht über eine übereinstimmende Zeile (Klasse = 0, Objid =Objekt-ID>, Indexid =Index-ID>, Rowsetnum = 1) in sys.sysrowsetrefs.

Msg 3852, Ebene 16, Status 1, Zeile 1
Zeile (Object_id =Objekt-ID>, Index_id = 1) in sys.indexes (Typ = U) verfügt nicht über eine übereinstimmende Zeile (Klasse = 0, Objid =Objekt-ID>, Indexid =Index-ID>, Rowsetnum = 1) in sys.sysrowsetrefs.

Msg 3853, Ebene 16, Status 1, Zeile 1
Attribut (Default_object_id =Objekt-ID>) der Zeile (Object_id =Objekt-ID>, Column_id =Spalten-ID>) in sys.columns hat keine übereinstimmende Zeile (Object_id =Objekt-ID>) in sys.objects.

Msg 8992, Ebene 16, Status 1, Zeile 1
Katalog Msg 3853, Status 1 überprüfen:-Attribut (Object_id =Objekt-ID>) der Zeile (Object_id =Objekt-ID>, Column_id =Spalten-ID>) in sys.columns hat keine übereinstimmende Zeile (Object_id =Objekt-ID>) in sys.objects.

DBCC-Ausführung abgeschlossen. Falls DBCC Fehlermeldungen ausgegeben, wenden Sie sich an Ihren Systemadministrator.
Darüber hinaus möglicherweise erhalten Sie eine "211" Fehlermeldung Msg, die etwa so aussieht, wenn Sie die Konsistenz einer Datenbank durch Ausführen eines Befehls CHECKDB prüfen.
Msg 211, Schweregrad 23, Zustand 230, Zeile 1
Schema ist möglicherweise beschädigt. Führen Sie DBCC CHECKCATALOG.

Msg 0, Ebene 20, State 0, Zeile 0
Für den aktuellen Befehl ist ein schwerwiegender Fehler aufgetreten. Die Ergebnisse sollten ggf. verworfen werden
Diese Fehlermeldung gibt außerdem an, dass die Systemkataloge inkonsistente Metadaten enthalten.

HinweisWenn Sie die Konsistenz einer Datenbank, die von SQL Server 2000 aktualisiert wurde, durch Ausführen eines Befehls CHECKDB prüfen, kann der Befehl zurück einen Fehler "8992" Code und Bericht Inkonsistenzen in den Systemkatalogen. Dieses Verhalten tritt auf, da der Befehl DBCC CHECKDB in SQL Server 2000 die Funktionalität des Befehls DBCC CHECKCATALOG nicht enthalten ist. Sie würde daher diese Probleme nicht in SQL Server 2000 erkennen, es sei denn, Sie den Befehl DBCC CHECKCATALOG ausgeführt.

Weitere Informationen dazu, wie Sie mithilfe des Befehls DBCC CHECKDB , fahren mit der folgenden Microsoft-Website:
Allgemeine Informationen über den Befehl DBCC CHECKDB (http://msdn.microsoft.com/en-us/library/ms176064(SQL.90).aspx)

Informationsquellen

Weitere Informationen zu Problemen, die auftreten können, wenn eine SQL Server-Systemtabelle manuell aktualisiert wird, klicken Sie auf die Artikelnummer der Microsoft Knowledge Base:

2688307  (http://support.microsoft.com/kb/2688307/ ) Ereignis-ID 17659 und Ereignis-ID 3859 werden protokolliert, wenn Sie Systemtabellen in einer SQL Server-Datenbank aktualisieren



Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft SQL Server 2000 Enterprise Edition
  • Microsoft SQL Server 2000 Developer Edition
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 2000 Workgroup Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Workgroup Edition
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Workgroup
  • Microsoft SQL Server 2008 R2 Datacenter
  • Microsoft SQL Server 2008 R2 Enterprise
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2008 R2 Standard
  • Microsoft SQL Server 2008 R2 Workgroup
  • Microsoft SQL Server 2012 Enterprise
  • Microsoft SQL Server 2012 Developer
  • Microsoft SQL Server 2012 Standard
Keywords: 
kbsurveynew kbtshoot kbexpertiseadvanced kbmt KB2787112 KbMtde
Maschinell übersetzter ArtikelMaschinell ü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: 2787112  (http://support.microsoft.com/kb/2787112/en-us/ )
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.
Freigeben
Weitere Supportoptionen
Microsoft Community-Supportforen
Kontaktieren Sie uns direkt
Zertifizierten Partner finden
Microsoft Store
Folgen Sie uns: