Megosztás a következőn keresztül:


Adatbázisséma létrehozása

A következőkre vonatkozik:SQL ServerAzure SQL DatabaseFelügyelt Azure SQL-példányAzure Synapse AnalyticsElemzési platformrendszer (PDW)Raktár a Microsoft FabricbenSQL-adatbázis a Microsoft Fabricben

Ez a cikk azt ismerteti, hogyan hozhat létre sémát az SQL Serverben az SQL Server Management Studio vagy a Transact-SQL használatával.

Engedélyek

  • Séma létrehozásához a CREATE SCHEMA engedéllyel kell rendelkeznie az adatbázisban.

  • Ha egy másik felhasználót szeretne megadni a létrehozott séma tulajdonosaként, a hívónak impERSONATE engedéllyel kell rendelkeznie az adott felhasználóhoz. Ha egy adatbázis-szerepkör van megadva tulajdonosként, a hívónak meg kell felelnie a következő feltételek egyikének: tagság a szerepkörben vagy alter engedély a szerepkörön.

Séma létrehozása az SQL Server Management Studióval

  1. Az Object Explorerben bontsa ki a Adatbázisok mappát.

  2. Bontsa ki azt az adatbázist, amelyben létre szeretné hozni az új adatbázissémát.

  3. Kattintson a jobb gombbal a Biztonsági mappára, mutasson az Újelemre, és válassza a Sémalehetőséget.

  4. Az Séma – Új párbeszédpanel Általános lapján adja meg az új séma nevét a Séma neve mezőben.

  5. A sématulajdonosi mezőbe írja be a séma tulajdonosához tartozó adatbázis-felhasználó vagy szerepkör nevét. Másik lehetőségként válassza a Keresési lehetőséget a Keresési szerepkörök és felhasználók párbeszédpanel megnyitásához.

  6. Válassza OKlehetőséget.

Jegyzet

Nem jelenik meg párbeszédpanel, ha SSMS használatával hoz létre egy sémát az Azure SQL Database vagy a Azure Synapse Analytics ellenében. A generált Sémasablon létrehozása T-SQL utasítást kell futtatnia.

A Séma – Új párbeszédpanel két további oldalon is kínál lehetőségeket: Engedélyek és Bővített tulajdonságok.

  • Az Engedélyek lapon az összes lehetséges védett elem és az azokra a bejelentkezéshez rendelhető engedélyek szerepelnek.

  • A Bővített tulajdonságok lapon egyéni tulajdonságokat adhat hozzá az adatbázis felhasználóihoz.

Séma létrehozása Transact-SQL használatával

  1. Az Object Explorer-ben csatlakozzon az adatbázismotor egy példányához.

  2. A Standard sávon válassza Új lekérdezéslehetőséget.

  3. Az alábbi példa létrehoz egy Chainsnevű sémát, majd létrehoz egy Sizesnevű táblát.

    CREATE SCHEMA Chains;
    
    GO
    
    CREATE TABLE Chains.Sizes
    (
        ChainID INT,
        width DECIMAL (10, 2)
    );
    
  4. Több lehetőség is elvégezhető egyetlen utasításban. Az alábbi példa létrehozza a Sprockets tulajdonában lévő séma Joe-t, amely tartalmazza a NineProngstáblát. A nyilatkozat SELECT ad Bob-nek, és megtagadja SELECT-t John-től.

    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. Hajtsa végre a következő utasítást az aktuális adatbázisban lévő sémák megtekintéséhez:

    SELECT *
    FROM sys.schemas;
    

Korlátozások és korlátozások

  • Az új séma az alábbi adatbázisszintű tagok egyikének tulajdonosa: adatbázis-felhasználó, adatbázis-szerepkör vagy alkalmazásszerepkör. A sémában létrehozott objektumok a séma tulajdonosának tulajdonában vannak, és NULLprincipal_idsys.objects tulajdonosi jogokkal rendelkeznek. A séma által tartalmazott objektumok tulajdonjoga bármely adatbázisszintű taghoz átadható, de a séma tulajdonosa mindig megőrzi az objektumok feletti ellenőrzési engedélyt a sémán belül.

  • A rendszer sémaként adja hozzá a tartománynevet az adatbázishoz adatbázis-objektum létrehozásakor, ha egy érvényes tartománynevet (felhasználót vagy csoportot) ad meg objektumtulajdonosként. Az új séma az adott tartomány felelős tulajdonában van.