Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:SQL Server
Azure SQL Managed Instance
Systembasistabellen sind die zugrunde liegenden Tabellen, in denen die Metadaten für eine bestimmte Datenbank gespeichert werden. Die master
Datenbank ist in dieser Hinsicht besonders, da sie einige zusätzliche Tabellen enthält, die in keiner der anderen Datenbanken gefunden werden. Diese Tabellen enthalten permanente Metadaten, deren Bereich serverweit ist.
Wichtig
Die Systembasistabellen werden nur innerhalb des SQL Server-Datenbankmoduls verwendet und dienen nicht der allgemeinen Kundennutzung. Systembasistabellen können geändert werden, und die Kompatibilität ist nicht garantiert.
Systembasistabellenmetadaten
Ein Grantee, der CONTROL
über berechtigungen für ALTER
eine Datenbank verfügt, VIEW DEFINITION
kann systembasistabellenmetadaten in der sys.objects
Katalogansicht anzeigen. Der Grantee kann auch die Namen und Objekt-IDs von Systembasistabellen mithilfe integrierter Funktionen wie OBJECT_NAME und OBJECT_ID auflösen.
Um eine Bindung an eine Systembasistabelle herzustellen, muss ein Benutzer mithilfe der dedizierten Administratorverbindung (DAC) eine Verbindung mit der SQL Server-Instanz herstellen. Wenn Sie versuchen, eine SELECT
Abfrage aus einer Systembasistabelle auszuführen, ohne eine Verbindung mithilfe von DAC herzustellen, wird ein Fehler ausgelöst.
Wichtig
Der Zugriff auf Systembasistabellen mithilfe von DAC wurde nur für Microsoft-Mitarbeiter entwickelt, und es handelt sich nicht um ein unterstütztes Kundenszenario.
Systembasistabellen
In der folgenden Tabelle werden die einzelnen Systembasistabellen in SQL Server aufgelistet und beschrieben.
Basistabelle | Beschreibung |
---|---|
sys.sysschobjs |
Ist in jeder Datenbank vorhanden. Jede Zeile stellt ein Objekt in der Datenbank dar. |
sys.sysbinobjs |
Ist in jeder Datenbank vorhanden. Enthält eine Zeile für jede Service Broker-Entität in der Datenbank. Zu den Dienstbrokerentitäten gehören die folgenden Objekte: Nachrichtentyp Dienstvertrag Dienst Die Namen und Typen verwenden binäre Sortierung, die nicht geändert wird. |
sys.sysclsobjs |
Ist in jeder Datenbank vorhanden. Enthält eine Zeile für jede klassifizierte Entität, die dieselben gemeinsamen Eigenschaften verwendet, die die folgenden Objekte enthalten: Versammlung Sicherungsmedium Volltextkatalog Partitionsfunktion Partitionsschema Dateigruppe Verschleierungsschlüssel Schema |
sys.sysnsobjs |
Ist in jeder Datenbank vorhanden. Enthält eine Zeile für jede Namespace-bezogene Entität. Diese Tabelle wird zum Speichern von XML-Auflistungsentitäten verwendet. |
sys.syscolpars |
Ist in jeder Datenbank vorhanden. Enthält eine Zeile für jede Spalte in einer Tabelle, Sicht oder Tabellenwertfunktion. Sie enthält auch Zeilen für jeden Parameter einer Prozedur oder einer Funktion. |
sys.systypedsubobjs |
Ist in jeder Datenbank vorhanden. Enthält eine Zeile für jede typisierte untergeordnete Entität. Nur Parameter für Partitionsfunktionen fallen in diese Kategorie. |
sys.sysidxstats |
Ist in jeder Datenbank vorhanden. Enthält eine Zeile für jeden Index oder Statistiken für Tabellen und indizierte Sichten Anmerkung: Jeder Index (mit Ausnahme von Heap) ist einer Statistik zugeordnet, die denselben Namen wie der Index hat. |
sys.sysiscols |
Ist in jeder Datenbank vorhanden. Enthält eine Zeile für jeden permanenten Index und jede Statistikspalte. |
sys.sysscalartypes |
Ist in jeder Datenbank vorhanden. Enthält eine Zeile für jeden benutzerdefinierten oder Systemtyp. |
sys.sysdbreg |
Ist nur in der master Datenbank vorhanden. Enthält eine Zeile für jede registrierte Datenbank. |
sys.sysxsrvs |
Ist nur in der master Datenbank vorhanden. Enthält eine Zeile für jeden lokalen, Verbindungs- oder Remoteserver. |
sys.sysrmtlgns |
Diese Systembasistabelle ist nur in der master Datenbank vorhanden. Enthält eine Zeile für jede Remoteanmeldungszuordnung. Sie wird für die Zuordnung von eingehenden lokalen Anmeldungen, die vorgeben, von einem entsprechenden Server zu stammen, an eine tatsächliche lokale Anmeldung verwendet. |
sys.syslnklgns |
Ist nur in der master Datenbank vorhanden. Enthält eine Zeile für jede verknüpfte Anmeldungszuordnung. Verknüpfte Anmeldungszuordnungen werden von Remoteprozeduraufrufen und verteilten Abfragen vom lokalen Server zum entsprechenden Verbindungsserver verwendet. |
sys.sysxlgns |
Ist nur in der master Datenbank vorhanden. Enthält eine Zeile für jeden Serverprinzipal. |
sys.sysdbfiles |
Ist in jeder Datenbank vorhanden. Wenn die Spalte dbid null ist, stellt die Zeile eine Datei dar, die zu dieser Datenbank gehört. In der master Datenbank kann die Spalte dbid ungleich Null sein. Wenn dies der Fall ist, steht die Zeile für eine Masterdatei. |
sys.sysusermsg |
Ist nur in der master Datenbank vorhanden. Jede Zeile stellt eine benutzerdefinierte Fehlermeldung dar. |
sys.sysprivs |
Ist in jeder Datenbank vorhanden. Enthält eine Zeile für jede Berechtigung auf Datenbank- oder Serverebene. Hinweis: Berechtigungen auf Serverebene werden in der master Datenbank gespeichert. |
sys.sysowners |
Ist in jeder Datenbank vorhanden. Jede Zeile stellt einen Datenbankprinzipal dar. |
sys.sysobjkeycrypts |
Ist in jeder Datenbank vorhanden. Enthält eine Zeile für jeden symmetrischen Schlüssel, jede Verschlüsselung oder kryptografische Eigenschaft, die einem Objekt zugeordnet ist. |
sys.syscerts |
Ist in jeder Datenbank vorhanden. Enthält eine Zeile für jedes Zertifikat in einer Datenbank. |
sys.sysasymkeys |
Ist in jeder Datenbank vorhanden. Jede Zeile stellt einen asymmetrischen Schlüssel dar. |
sys.ftinds |
Ist in jeder Datenbank vorhanden. Enthält eine Zeile für jeden Volltextindex in der Datenbank. |
sys.sysxprops |
Ist in jeder Datenbank vorhanden. Enthält eine Zeile für jede erweiterte Eigenschaft. |
sys.sysallocunits |
Ist in jeder Datenbank vorhanden. Enthält eine Zeile für jede Speicherzuordnungseinheit. |
sys.sysrowsets |
Ist in jeder Datenbank vorhanden. Enthält eine Zeile für jedes Partitionsrowset für einen Index oder einen Heap. |
sys.sysrowsetrefs |
Ist in jeder Datenbank vorhanden. Enthält eine Zeile für jeden Index eines Rowsetverweises. |
sys.syslogshippers |
Ist nur in der master Datenbank vorhanden. Enthält eine Zeile für jeden Datenbankspiegelungszeugen. |
sys.sysremsvcbinds |
Ist in jeder Datenbank vorhanden. Enthält eine Zeile für jede Remotedienstbindung. |
sys.sysconvgroup |
Ist in jeder Datenbank vorhanden. Enthält eine Zeile für jede Dienstinstanz von Service Broker. |
sys.sysxmitqueue |
Ist in jeder Datenbank vorhanden. Enthält eine Zeile für jede Übertragungswarteschlange von Service Broker. |
sys.sysdesend |
Ist in jeder Datenbank vorhanden. Enthält eine Zeile für jeden sendenden Endpunkt einer Service Broker-Konversation. |
sys.sysdercv |
Ist in jeder Datenbank vorhanden. Enthält eine Zeile für jeden empfangenden Endpunkt einer Service Broker-Konversation. |
sys.sysendpts |
Ist nur in der master Datenbank vorhanden. Enthält eine Zeile für jeden im Server erstellten Endpunkt. |
sys.syswebmethods |
Ist nur in der master Datenbank vorhanden. Enthält eine Zeile für jede für einen SOAP-aktivierten HTTP-Endpunkt definierte SOAP-Methode, die auf dem Server erstellt wird. |
sys.sysqnames |
Ist in jeder Datenbank vorhanden. Enthält eine Zeile für jeden Namespace oder jeden qualifizierten Namen für ein 4-Byte-ID-Token. |
sys.sysxmlcomponent |
Ist in jeder Datenbank vorhanden. Jede Zeile stellt eine XML-Schema-Komponente dar. |
sys.sysxmlfacet |
Ist in jeder Datenbank vorhanden. Enthält eine Zeile für jedes XML-Facet (Beschränkung) der XML-Typdefinition. |
sys.sysxmlplacement |
Ist in jeder Datenbank vorhanden. Enthält eine Zeile für jede XML-Platzierung für XML-Komponenten. |
sys.syssingleobjrefs |
Ist in jeder Datenbank vorhanden. Enthält eine Zeile für jeden allgemeinen N-zu-1-Verweis. |
sys.sysmultiobjrefs |
Ist in jeder Datenbank vorhanden. Enthält eine Zeile für jeden allgemeinen N-zu-N-Verweis. |
sys.sysobjvalues |
Ist in jeder Datenbank vorhanden. Enthält eine Zeile für jede allgemeine Werteigenschaft einer Entität. |
sys.sysguidrefs |
Ist in jeder Datenbank vorhanden. Enthält eine Zeile für jeden GUID-klassifizierten ID-Verweis. |
Aktualisieren von Systembasistabellen
Sie können die Daten in den Systemtabellen über die Systemkatalogsichten abrufen. Um die Metadaten in einer Systembasistabelle zu aktualisieren, verwenden Sie die entsprechende Transact-SQL-Schnittstelle (z. B. DDL-Anweisungen). Systemtabellen können nicht manuell aktualisiert werden. SQL Server meldet die folgenden Meldungen, wenn Sie direkte Aktualisierungen an Systemtabellen ausführen.
Eine Systemtabelle wird manuell aktualisiert.
Msg 17659: Warning: System table ID <id> has been updated directly in database ID <id> and cache coherence may not have been maintained. SQL Server should be restarted.
Starten einer Datenbank mit einer Systemtabelle, die manuell aktualisiert wurde
Msg 3859: Warning: The system catalog was updated directly in database ID 17, most recently at date_time.
Führen Sie den befehl DBCC_CHECKDB aus, nachdem eine Systemtabelle manuell aktualisiert wurde.
Msg 3859: Warning: The system catalog was updated directly in database ID 17, most recently at date_time.
Wenn Sie manuelle Aktualisierungen an einer Systemtabelle ausführen und ein Problem auftreten, werden Sie möglicherweise aufgefordert, aus einer Sicherung wiederherzustellen oder die Daten aus der betroffenen Datenbank in eine neue Datenbank zu kopieren. Weitere Informationen finden Sie unter Benutzeraktionen für MSSQLSERVER_8992.