Freigeben über


Systemdatenbanken

Gilt für: SQL Server Azure SQL-Datenbank Azure SQL Managed Instance

SQL Server enthält die folgenden Systemdatenbanken.

Systemdatenbank Beschreibung
master-Datenbank Zeichnet alle Informationen auf Systemebene für eine Instanz von SQL Server auf.
msdb-Datenbank Wird vom SQL Server-Agent verwendet, um Termine für Warnungen und Aufträge zu planen.
model-Datenbank Wird als Vorlage für alle Datenbanken verwendet, die für die Instanz von SQL Server erstellt werden. Änderungen, die an der model -Datenbank vorgenommen werden, z. B. an der Datenbankgröße, der -sortierung, am Wiederherstellungsmodell und an anderen Datenbankoptionen, werden auf jede Datenbank angewendet, die anschließend erstellt wird.
Ressourcendatenbank Ist eine schreibgeschützte Datenbank, die Systemobjekte enthält, die in SQL Server enthalten sind. Systemobjekte werden physisch in der Ressourcendatenbank gespeichert, logisch jedoch im sys -Schema jeder Datenbank angezeigt.
tempdb-Datenbank Ein Arbeitsbereich zum Speichern von temporären Objekten oder Zwischenresultsets.

Wichtig

Für Azure SQL-Datenbank Singletons und Pools für elastische Datenbanken gelten nur die Masterdatenbank und die tempdb-Datenbank. Weitere Informationen finden Sie unter Was ist ein Azure SQL-Datenbank-Server. Eine Erläuterung von tempdb im Kontext von Azure SQL-Datenbank finden Sie unter tempdb-Datenbank in Azure SQL-Datenbank. Für Azure SQL Managed Instance gelten alle Systemdatenbanken. Weitere Informationen zu verwalteten Instanzen in Azure SQL-Datenbank finden Sie unter Was ist eine verwaltete Instanz.

Ändern von Systemdaten

SQL Server unterstützt keine direkten Updates der Informationen in Systemobjekten (z. B. Systemtabellen, gespeicherten Systemprozeduren und Katalogsichten) durch Benutzer. Stattdessen stellt SQL Server einen vollständigen Satz administrativer Tools zur Verfügung, die Benutzern das umfassende Verwalten des Systems sowie aller Benutzer und Objekte in einer Datenbank ermöglichen. Diese umfassen die folgenden Themen:

  • Verwaltungshilfsprogramme, z. B. SQL Server Management Studio.

  • SQL-SMO-API. Über diese API können Programmierer vollständige Funktionen zum Verwalten von SQL Server in ihren Anwendungen bereitstellen.

  • Transact-SQL-Skripts und gespeicherte Prozeduren. Diese können gespeicherte Systemprozeduren und Transact-SQL DDL-Anweisungen verwenden.

Diese Tools schützen Anwendungen vor Änderungen an den Systemobjekten. SQL Server muss z. B. in neuen Versionen von SQL Server in einigen Fällen Änderungen an den Systemtabellen durchführen, um neue Funktionen in den jeweiligen Versionen zu unterstützen. Anwendungen, die SELECT-Anweisungen ausgeben, die direkt auf Systemtabellen verweisen, sind häufig auf das alte Format der Systemtabellen angewiesen. Standorte können möglicherweise erst dann auf eine neue Version von SQL Server aktualisiert werden, nachdem die Anwendungen umgeschrieben wurden, die SELECT-Anweisungen für Systemtabellen ausführen. SQL Server berücksichtigt die durch gespeicherte Systemprozeduren, DDL und SQL-SMO veröffentlichten Schnittstellen, und versucht, die Abwärtskompatibilität dieser Schnittstellen aufrechtzuerhalten.

SQL Server stellt keine Unterstützung für Trigger zur Verfügung, die für die Systemtabellen definiert wurden, da durch sie der Systembetrieb verändert werden kann.

Hinweis

Systemdatenbanken dürfen nicht in Verzeichnissen von UNC-Freigaben enthalten sein.

Anzeigen von System-Datenbankdaten

Sie sollten keine Transact-SQL-Anweisungen schreiben, von denen die Systemtabellen direkt abgefragt werden, es sei denn, Sie können die von der Anwendung benötigten Informationen nur auf diese Weise abrufen. Anwendungen sollten Katalog- und Systeminformationen mithilfe der folgenden Mechanismen abrufen:

  • Systemkatalogsichten

  • SQL-SMO

  • WMI-Schnittstelle (Windows Management Instrumentation, Windows-Verwaltungsinstrumentation)

  • Katalogfunktionen, Methoden, Attribute oder Eigenschaften der in der Anwendung verwendeten Daten-API, z. B. ADO, OLE DB oder ODBC

  • In Transact-SQL gespeicherte Systemprozeduren und integrierte Funktionen.