Der System und Datankatalog
Data- Dictionary: System- und Datenbankkatalog
Systemdatenbanken
Jede SQL Server Instanz besitzt 4 Systemdatenbanken, in denen Konfigurationsdaten gespeichert werden:
Datenbankname |
Inhalt |
---|---|
master |
Daten für Serverinitialisierung, Serverkonfiguration, Liste aller Datenbanken, Anmeldekonten, Pfade der primären Dateien von Datenbanken |
tempdb |
temporäre Tabellen und gespeicherte Prozeduren |
model |
Vorlage für alle Benutzerdatenbanken. Wird eine Benutzerdatenbank erstellt, dann werden alle Tabellen aus model in neue Benutzerdatenbank kopiert. |
msdb |
Tabellen für SQL Server Agent |
Allgemeine Struktur einer SQLServer Datenbank
Eine Datenbank ist einer Serverinstanz untergeordnet und besteht aus Datenbankobjekten wie Tabellen (Primärspeicher), Views (sekundäre Darstellung der Datenbankinhalte) etc..
Der Systemkatalog
Der Systemkatalog ist durch die Datenbank master realisiert, und besteht aus Tabellen, die alle Daten zur Verwaltung einer SQL- Serverinstanz enthalten.
Die Tabellen des System und Datenkataloges werden auf Views aus Sicherheitsgründen abgebildet. Detailliertes dazu hier.
Systemtabelle | → Systemview | Inhalt |
---|---|---|
Sysservers | sys.servers |
Listet die Instanz und alle auf ihr definierten Verbindungsserver auf. |
Sysaltfiles | sys.master_files |
Verzeichnis aller *.mdf und *.ldf Tabellen. Zu jeder Datei ist ein Datensatz enthalten mit : Datei-ID, Datenbank-ID, Dateiname, Speicherort, Größe und Vergrößerungseigenschaften |
Sysdatabases | sys.databases |
Verzeichnis aller Datenbanken. Zu jeder Datenbank is ein Datensatz enthalten mit: DBID, SID des Besitzers, Erstellungsdatum, Speicherort der primären Datei. |
Sysdevices | sys.backup_devices |
Zu jedem Sicherungsgerät gibt es einen Datensatz |
Syslockinfo | sys.dm_tran_locks |
Zu jeder aktiven Sperre wird ist ein Datensatz enthalten mit: ID des gesperrten Objektes, user- od. Prozessid, der Sperre anfordert |
Sysxlogins |
sys.server_principals, sys.sql_logins |
Verzeichnis aller zulässigen Logins/Anmeldekonten. Die View sys.server_principals zeigt alle Principals der Instanzebene an. sys.sql_logins zeigt nur die SQL Server Logins an. |
Sysmessages |
sys.messages |
Liste aller möglichen Fehlermeldungen |
Der Datenkatalog
Der Datenkatalog enthält die Definition aller Objekte einer Datenbank wie Tabellen, Indizes und Benutzer. Er wird durch einen Satz von Tabellen in jeder Datenbank realisiert. Datenkatalog und Datentabellen bilden eine Einheit, die auf eine Serverinstanz kopiert die Datenbank realisiert.
Systemtabelle | → Systemview | Inhalt |
---|---|---|
Syscomments | sys.sql_modules |
Datensatz zu jeder Sicht, Regel, Trigger, CHECK- Einschränkung, gespeicherten Prozedur usw. Textspalte enthält ursprüngliche TSQL- Anweisung zur erstellung des Objektes. Einträge dürfen weder geändert noch gelöscht werden. |
Sysindexes | sys.indexes, sys.partitions, sys.allocation_units, sys.dm_db_partitions_stats |
Datensatz zu jedem Index in der DB |
Sysobjects | sys.objects |
Datensatz zu jedem schemagebundenen Objekt in der DB mit: Name, Typ, Objekt ID, Benutzer ID, Erstellungsdatum |
Sysusers | sys.database_principals |
Datensatz zu jedem Benutzer der Datenbank |