Delen via


Een databaseschema maken

van toepassing op:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)Warehouse in Microsoft Fabric

In dit artikel wordt beschreven hoe u een schema maakt in SQL Server met behulp van SQL Server Management Studio of Transact-SQL.

Machtigingen

  • Als u een schema wilt maken, moet u de machtiging SCHEMA MAKEN voor de database hebben.

  • Als u een andere gebruiker wilt opgeven als de eigenaar van het schema dat wordt gemaakt, moet de aanroeper de machtiging IMPERSONEREN voor die gebruiker hebben. Als een databaserol is opgegeven als eigenaar, moet de aanroeper voldoen aan een van de volgende criteria: lidmaatschap van de rol of ALTER-machtiging voor de rol.

SQL Server Management Studio gebruiken om een schema te maken

  1. Vouw in Objectverkenner de map Databases uit.

  2. Vouw de database uit waarin u het nieuwe databaseschema wilt maken.

  3. Klik met de rechtermuisknop op de map Security, wijs Nieuwaan en selecteer Schema.

  4. Voer in het dialoogvenster Schema - Nieuw op de pagina Algemeen een naam in voor het nieuwe schema in het vak Schemanaam.

  5. Voer in het vak Schema-eigenaar de naam in van een databasegebruiker of -rol om de eigenaar van het schema te zijn. U kunt ook Zoeken selecteren om het dialoogvenster Rollen en Gebruikers Zoeken te openen.

  6. Selecteer OK-.

Notitie

Er wordt geen dialoogvenster weergegeven als u een schema maakt met behulp van SSMS voor een Azure SQL Database- of een Azure Synapse Analytics-. U moet de gegenereerde T-SQL-instructie voor het aanmaken van een schemasjabloon uitvoeren.

Het dialoogvenster Schema - Nieuw biedt ook opties op twee extra pagina's: machtigingen en uitgebreide eigenschappen.

  • De pagina Machtigingen bevat alle mogelijke beveiligbare objecten en de machtigingen voor die beveiligbare objecten die aan de aanmelding kunnen worden verleend.

  • Met de uitgebreide eigenschappen pagina kunt u aangepaste eigenschappen toevoegen aan databasegebruikers.

Een schema maken met behulp van Transact-SQL

  1. Maak in Objectverkennerverbinding met een exemplaar van Database Engine.

  2. Selecteer op de standaardbalk Nieuwe query.

  3. In het volgende voorbeeld wordt een schema met de naam Chainsgemaakt en wordt vervolgens een tabel met de naam Sizesgemaakt.

    CREATE SCHEMA Chains;
    
    GO
    
    CREATE TABLE Chains.Sizes
    (
        ChainID INT,
        width DECIMAL (10, 2)
    );
    
  4. Er kunnen meer opties worden uitgevoerd in één instructie. In het volgende voorbeeld wordt het schema Sprockets gemaakt dat eigendom is van Joe en de tabel NineProngsbevat. De verklaring verleent SELECT aan Bob en weigert SELECT aan John.

    CREATE SCHEMA Sprockets
        AUTHORIZATION Joe;
    GO
    
    CREATE TABLE NineProngs
    (
       source INT,
       cost INT,
       partnumber INT
    );
    GO
    
    GRANT SELECT
       ON SCHEMA::Sprockets TO Bob;
    GO
    
    DENY SELECT
       ON SCHEMA::Sprockets TO John;
    GO
    
  5. Voer de volgende instructie uit om de schema's in de huidige database weer te geven:

    SELECT *
    FROM sys.schemas;
    

Beperkingen en beperkingen

  • Het nieuwe schema is eigendom van een van de volgende principals op databaseniveau: databasegebruiker, databaserol of toepassingsrol. Objecten die in een schema zijn gemaakt, zijn eigendom van de eigenaar van het schema en hebben een NULLprincipal_id in sys.objects Eigendom van in schema opgenomen objecten kunnen worden overgedragen naar elke principal op databaseniveau, maar de eigenaar van het schema behoudt altijd control-machtigingen voor objecten binnen het schema.

  • De domeinprincipal wordt als schema aan de database toegevoegd wanneer u een databaseobject maakt als u een geldige domein-principal (gebruiker of groep) opgeeft als objecteigenaar. Het nieuwe schema is eigendom van die domeinprincipaal.