Erstellen eines Datenbankschemas

Gilt für:SQL ServerAzure SQL-DatenbankAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

In diesem Artikel wird beschrieben, wie Sie ein Schema in SQL Server mithilfe von SQL Server Management Studio oder Transact-SQL erstellen.

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.

  • Wenn Sie beim Erstellen eines Datenbankobjekts einen gültigen Domänenprinzipal als Objektbesitzer (Benutzer oder Gruppe) angeben, wird der Domänenprinzipal der Datenbank als Schema hinzugefügt. 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.

Verwenden von SQL Server Management Studio zum Erstellen eines Schemas

  1. Erweitern Sie im Objekt-Explorer den Ordner Datenbanken .

  2. Erweitern Sie die Datenbank, in der das neue Datenbankschema erstellt werden soll.

  3. Klicken Sie mit der rechten Maustaste auf den Ordner Sicherheit , zeigen Sie auf Neu, und wählen Sie Schemaaus.

  4. Geben Sie im Dialogfeld Schema - Neu auf der Seite Allgemein im Feld Schemaname einen Namen für das neue Schema ein.

  5. Geben Sie im Feld Schemabesitzer den Namen eines Datenbankbenutzers oder einer Rolle ein, der bzw. die über das Schema verfügen soll. Wählen Sie alternativ "Suchen" aus, um das Dialogfeld "Rollen und Benutzer suchen" zu öffnen.

  6. Klicken Sie auf OK.

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 eines Schemas ausführen.

Zusätzliche Optionen

Das Dialogfeld "Schema - Neu " bietet auch 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

  1. Stellen Sie im Objekt-Explorer eine Verbindung mit einer Datenbank-Engine-Instanz her.

  2. Klicken Sie in der Standardleiste auf Neue Abfrage.

  3. Im folgenden Beispiel wird das Schema Chains erstellt, und anschließend die Tabelle Sizes.

    CREATE SCHEMA Chains;
    GO
    CREATE TABLE Chains.Sizes (ChainID int, width dec(10,2));
    
  4. Weitere Optionen können in einer einzelnen Anweisung durchgeführt werden. Im folgenden Beispiel wird das Schema SprocketsJoe erstellt, das die Tabelle NineProngsenthält. Die Anweisung erteilt die SELECT-Berechtigung für Bob und verweigert die SELECT-Berechtigung für John.

    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  
    
  5. Führen Sie die folgende Anweisung aus, um die Schemas in der aktuellen Datenbank anzuzeigen:

    SELECT * FROM sys.schemas;
    

Nächste Schritte

Weitere Informationen finden Sie unter CREATE SCHEMA (Transact-SQL).