Sdílet prostřednictvím


Vytvoření schématu databáze

platí pro:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)Warehouse v Microsoft Fabric

Tento článek popisuje, jak vytvořit schéma v SQL Serveru pomocí aplikace SQL Server Management Studio nebo jazyka Transact-SQL.

Dovolení

  • Chcete-li vytvořit schéma, musíte mít k databázi oprávnění CREATE SCHEMA.

  • Chcete-li zadat jiného uživatele jako vlastníka vytvářeného schématu, volající musí mít pro tohoto uživatele oprávnění IMPERSONATE. Pokud je jako vlastník zadána role databáze, volající musí splňovat jedno z následujících kritérií: členství v roli nebo oprávnění ALTER k roli.

Vytvoření schématu pomocí aplikace SQL Server Management Studio

  1. V Průzkumníku objektů rozbalte složku Databases.

  2. Rozbalte databázi, ve které chcete vytvořit nové schéma databáze.

  3. Klikněte pravým tlačítkem na složku Zabezpečení, přejděte na Novýa vyberte Schéma.

  4. V dialogovém okně Schéma - Nový zadejte na stránce Obecné název nového schématu do pole název schématu.

  5. Do pole Vlastník schématu zadejte název uživatele databáze nebo role pro vlastní schéma. Můžete také vybrat Hledat a otevřít dialogové okno Hledat role a uživatele.

  6. Vyberte OK.

Poznámka

Dialogové okno se nezobrazí, pokud vytváříte schéma pomocí SSMS pro azure SQL Database nebo azure Synapse Analytics. Budete muset spustit příkaz T-SQL Vytvořit šablonu schématu, který se vygeneruje.

Dialogové okno Schema - Nové nabízí také možnosti na dvou dalších stránkách: Oprávnění a Rozšířené vlastnosti.

  • Na stránce Oprávnění jsou uvedeny všechny možné objekty zabezpečení a oprávnění na tyto objekty zabezpečení, která se dají udělit přihlašovacímu účtu.

  • Stránka Rozšířených vlastností umožňuje přidat vlastní vlastnosti uživatelům databáze.

Vytvoření schématu pomocí Transact-SQL

  1. V Průzkumníku objektůpřipojte se k instanci databázového motoru.

  2. Na panelu Standard vyberte Nový dotaz.

  3. Následující příklad vytvoří schéma s názvem Chainsa pak vytvoří tabulku s názvem Sizes.

    CREATE SCHEMA Chains;
    
    GO
    
    CREATE TABLE Chains.Sizes
    (
        ChainID INT,
        width DECIMAL (10, 2)
    );
    
  4. Další možnosti je možné provést v jednom příkazu. Následující příklad vytvoří schéma Sprockets vlastněné Joe, která obsahuje tabulku NineProngs. Prohlášení uděluje SELECTBob a odepírá SELECTJohn.

    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. Spuštěním následujícího příkazu zobrazte schémata v aktuální databázi:

    SELECT *
    FROM sys.schemas;
    

Omezení a restrikce

  • Nové schéma vlastní jeden z následujících principálů na úrovni databáze: uživatel databáze, role databáze nebo aplikační role. Objekty vytvořené v rámci schématu vlastní vlastník schématu a mají NULLprincipal_id v sys.objects Vlastnictví objektů obsažených ve schématu lze přenést do libovolného objektu na úrovni databáze, ale vlastník schématu vždy zachovává oprávnění CONTROL k objektům v rámci schématu.

  • Principál domény je přidán do databáze jako schéma při vytváření databázového objektu, pokud určíte platného principála domény (uživatele nebo skupinu) jako vlastníka objektu. Nové schéma vlastní onen objekt zabezpečení domény.