Erstellen eines Datenbankschemas
Gilt für: SQL Server Azure SQL-Datenbank Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)
In diesem Artikel wird beschrieben, wie Fremdschlüsselbeziehungen in SQL Server mithilfe von SQL Server Management Studio oder Transact-SQL erstellt werden.
Einschränkungen
Das neue Schema ist im Besitz einer der folgenden Prinzipale auf Datenbankebene: Datenbankbenutzer, Datenbankrolle oder Anwendungsrolle. Objekte, die innerhalb eines Schemas erstellt werden, gehören dem Besitzer des Schemas und haben für principal_id in sys.objects einen NULL-Wert. Der Besitz von Objekten, die Schemas als Bereich aufweisen, kann an jeden Prinzipal auf Datenbankebene übertragen werden, aber der Schemabesitzer behält immer die CONTROL-Berechtigung für Objekte innerhalb des Schemas.
Der Domänenprinzipal wird der Datenbank als Schema hinzugefügt, wenn Sie beim Erstellen eines Datenbankobjekts einen gültigen Domänenprinzipal als Objektbesitzer:in (Benutzer:in oder Gruppe) angeben. Das neue Schema befindet sich im Besitz des Domänenprinzipals.
Berechtigungen
Erfordert die CREATE SCHEMA-Berechtigung für die Datenbank.
Um einen anderen Benutzer als den Besitzer des zu erstellenden Schemas anzugeben, benötigt der Aufrufer die IMPERSONATE-Berechtigung für diesen Benutzer. Wenn eine Datenbankrolle als Besitzer angegeben wird, muss der Aufrufer entweder über eine Mitgliedschaft in der Rolle oder die ALTER-Berechtigung für die Rolle verfügen.
Erstellen von Statistiken mithilfe von SQL Server Management Studio
Erweitern Sie im Objekt-Explorer den Ordner Datenbanken .
Erweitern Sie die Datenbank, in der das neue Datenbankschema erstellt werden soll.
Klicken Sie mit der rechten Maustaste auf den Ordner Sicherheit , zeigen Sie auf Neu, und wählen Sie Schemaaus.
Geben Sie im Dialogfeld Schema - Neu auf der Seite Allgemein im Feld Schemaname einen Namen für das neue Schema ein.
Geben Sie im Feld Schemabesitzer den Namen eines Datenbankbenutzers oder einer Rolle ein, der bzw. die über das Schema verfügen soll. Klicken Sie alternativ auf Suchen , um das Dialogfeld Rollen und Benutzer suchen zu öffnen.
Wählen Sie OK aus.
Hinweis
Es wird kein Dialogfeld angezeigt, wenn Sie mithilfe von SSMS ein Schema für eine Azure SQL-Datenbank oder Azure Synapse Analytics erstellen. Sie müssen die generierte T-SQL-Anweisung zum Erstellen einer Schemavorlage ausführen.
Zusätzliche Optionen
Der Dialog Schema – Neu verfügt zudem über Optionen auf zwei zusätzlichen Seiten: Berechtigungen und Erweiterte Eigenschaften.
Auf der Seite Berechtigungen werden alle möglichen sicherungsfähigen Elemente und die Berechtigungen für diese sicherungsfähigen Elemente aufgelistet, die für die Anmeldung gewährt werden können.
Mithilfe der Seite Erweiterte Eigenschaften können Sie Datenbankbenutzern benutzerdefinierte Eigenschaften hinzufügen.
Verwenden von Transact-SQL zum Erstellen eines Schemas
Stellen Sie im Objekt-Explorer eine Verbindung mit einer Datenbank-Engine-Instanz her.
Klicken Sie in der Standardleiste auf Neue Abfrage.
Im folgenden Beispiel wird das Schema
Chains
erstellt, und anschließend die TabelleSizes
.CREATE SCHEMA Chains; GO CREATE TABLE Chains.Sizes (ChainID int, width dec(10,2));
Weitere Optionen können in einer einzelnen Anweisung durchgeführt werden. Das folgende Beispiel erstellt das
Sprockets
-Schema, das im Besitz vonJoe
ist und dieNineProngs
-Tabelle enthält. Die Anweisung erteilt dieSELECT
-Berechtigung fürBob
und verweigert dieSELECT
-Berechtigung fürJohn
.CREATE SCHEMA Sprockets AUTHORIZATION Joe CREATE TABLE NineProngs (source int, cost int, partnumber int) GRANT SELECT ON SCHEMA::Sprockets TO Bob DENY SELECT ON SCHEMA::Sprockets TO John; GO
Führen Sie die folgende Anweisung aus, um die Schemas in dieser Datenbank anzuzeigen:
SELECT * FROM sys.schemas;