Systemdatenbanken

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

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.

Ändern von Systemdaten

SQL Server unterstützt nicht die direkte Aktualisierung 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.Dabei handelt es sich z. B. um Folgendes:

  • Verwaltungsprogramme, 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. Die durch gespeicherte Systemprozeduren, DDL und SQL-SMO veröffentlichten Schnittstellen werden von SQL Server berücksichtigt, und es wird 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.

Anzeigen von Daten der Systemdatenbank

Sie sollten keine Transact-SQL-Anweisungen schreiben, die die Systemtabellen direkt abfragen, 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

  • Gespeicherte Transact-SQL-Systemprozeduren und integrierte Funktionen