SystemdatenbankenSystem Databases

Dieses Thema gilt für: JaSQL ServerJaAzure SQL-DatenbankkeineAzure SQL Data Warehouse keine Parallel DatawarehouseTHIS TOPIC APPLIES TO: yesSQL ServeryesAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

SQL ServerSQL Server enthält die folgenden Systemdatenbanken. includes the following system databases.

SystemdatenbankSystem database DescriptionDescription
master-Datenbankmaster Database Zeichnet alle Informationen auf Systemebene für eine Instanz von SQL ServerSQL Serverauf.Records all the system-level information for an instance of SQL ServerSQL Server.
msdb-Datenbankmsdb Database Wird vom SQL Server-Agent verwendet, um Termine für Warnungen und Aufträge zu planen.Is used by SQL Server Agent for scheduling alerts and jobs.
model-Datenbankmodel Database Wird als Vorlage für alle Datenbanken verwendet, die für die Instanz von SQL ServerSQL Servererstellt werden.Is used as the template for all databases created on the instance of SQL ServerSQL Server. Ä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.Modifications made to the model database, such as database size, collation, recovery model, and other database options, are applied to any databases created afterward.
RessourcendatenbankResource Database Eine schreibgeschützte Datenbank, die Systemobjekte enthält, die in SQL ServerSQL Serverenthalten sind.Is a read-only database that contains system objects that are included with SQL ServerSQL Server. Systemobjekte werden physisch in der Ressourcendatenbank gespeichert, logisch jedoch im sys -Schema jeder Datenbank angezeigt.System objects are physically persisted in the Resource database, but they logically appear in the sys schema of every database.
tempdb-Datenbanktempdb Database Ein Arbeitsbereich zum Speichern von temporären Objekten oder Zwischenresultsets.Is a workspace for holding temporary objects or intermediate result sets.

Wichtig

Für Azure SQL-Datenbank gelten nur die Masterdatenbank und die tempdb-Datenbank.For Azure SQL Database, only master Database and tempdb Database apply. Weitere Informationen zum Konzept eines logischen Servers und einer logischen Masterdatenbank finden Sie unter Was ist ein logischer Azure SQL-Server?.For the concept of a logical server and logical master database, see What is an Azure SQL logical server?. Eine Erläuterung von tempdb im Kontext von Azure SQL-Datenbank finden Sie unter tempdb-Datenbank in Azure SQL-Datenbank.For a discussion of tempdb in the context of Azure SQL Database, see tempdb Database in Azure SQL Database.

Ändern von SystemdatenModifying System Data

SQL ServerSQL Server unterstützt keine direkten Updates der Informationen in Systemobjekten (z. B. Systemtabellen, gespeicherten Systemprozeduren und Katalogsichten) durch Benutzer. does not support users directly updating the information in system objects such as system tables, system stored procedures, and catalog views. Stattdessen stellt SQL ServerSQL 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.Instead, SQL ServerSQL Server provides a complete set of administrative tools that let users fully administer their system and manage all users and objects in a database. Dabei handelt es sich z. B. um:These include the following:

  • Verwaltungsprogramme, z. B. SQL Server Management StudioSQL Server Management Studio.Administration utilities, such as SQL Server Management StudioSQL Server Management Studio.

  • SQL-SMO-API.SQL-SMO API. Über diese API können Programmierer vollständige Funktionen zum Verwalten von SQL ServerSQL Server in ihren Anwendungen bereitstellen.This lets programmers include complete functionality for administering SQL ServerSQL Server in their applications.

  • Transact-SQLTransact-SQL -Skripts und gespeicherte Prozeduren. scripts and stored procedures. Diese können gespeicherte Systemprozeduren und Transact-SQLTransact-SQL DDL-Anweisungen verwenden.These can use system stored procedures and Transact-SQLTransact-SQL DDL statements.

    Diese Tools schützen Anwendungen vor Änderungen an den Systemobjekten.These tools shield applications from changes in the system objects. SQL ServerSQL Server muss z. B. in neuen Versionen von SQL ServerSQL Server in einigen Fällen Änderungen an den Systemtabellen durchführen, um neue Funktionen in den jeweiligen Versionen zu unterstützen.For example, SQL ServerSQL Server sometimes has to change the system tables in new versions of SQL ServerSQL Server to support new functionality that is being added in that version. Anwendungen, die SELECT-Anweisungen ausgeben, die direkt auf Systemtabellen verweisen, sind häufig auf das alte Format der Systemtabellen angewiesen.Applications issuing SELECT statements that directly reference system tables are frequently dependent on the old format of the system tables. Standorte können möglicherweise erst dann auf eine neue Version von SQL ServerSQL Server aktualisiert werden, nachdem die Anwendungen umgeschrieben wurden, die SELECT-Anweisungen für Systemtabellen ausführen.Sites may not be able to upgrade to a new version of SQL ServerSQL Server until they have rewritten applications that are selecting from system tables. SQL ServerSQL Server berücksichtigt die durch gespeicherte Systemprozeduren, DDL und SQL-SMO veröffentlichten Schnittstellen, und versucht, die Abwärtskompatibilität dieser Schnittstellen aufrechtzuerhalten. considers the system stored procedures, DDL, and SQL-SMO published interfaces, and works to maintain the backward compatibility of these interfaces.

    SQL ServerSQL 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. does not support triggers defined on the system tables, because they might modify the operation of the system.

Hinweis

Systemdatenbanken dürfen nicht in Verzeichnissen von UNC-Freigaben enthalten sein.System databases cannot reside on UNC share directories.

Anzeigen von System-DatenbankdatenViewing System Database Data

Sie sollten keine Transact-SQLTransact-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.You should not code Transact-SQLTransact-SQL statements that directly query the system tables, unless that is the only way to obtain the information that is required by the application. Anwendungen sollten Katalog- und Systeminformationen mithilfe der folgenden Mechanismen abrufen:Instead, applications should obtain catalog and system information by using the following:

  • SystemkatalogsichtenSystem catalog views

  • SQL-SMOSQL-SMO

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

  • Katalogfunktionen, Methoden, Attribute oder Eigenschaften der in der Anwendung verwendeten Daten-API, z. B. ADO, OLE DB oder ODBCCatalog functions, methods, attributes, or properties of the data API used in the application, such as ADO, OLE DB, or ODBC.

  • Transact-SQLTransact-SQL : Gespeicherte Systemprozeduren und integrierte Funktionen system stored procedures and built-in functions.

Sichern und Wiederherstellen von Systemdatenbanken (SQL Server)Back Up and Restore of System Databases (SQL Server)

Ausblenden von Systemobjekten im Objekt-ExplorerHide System Objects in Object Explorer

Katalogsichten (Transact-SQL)Catalog Views (Transact-SQL)

DatenbankenDatabases