Vytvoření schématu databáze
platí pro:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics 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
V Průzkumníku objektů rozbalte složku Databases.
Rozbalte databázi, ve které chcete vytvořit nové schéma databáze.
Klikněte pravým tlačítkem na složku Zabezpečení, přejděte na Novýa vyberte Schéma.
V dialogovém okně Schéma - Nový zadejte na stránce Obecné název nového schématu do pole název schématu.
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.
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
V Průzkumníku objektůpřipojte se k instanci databázového motoru.
Na panelu Standard vyberte Nový dotaz.
Následující příklad vytvoří schéma s názvem
Chains
a pak vytvoří tabulku s názvemSizes
.CREATE SCHEMA Chains; GO CREATE TABLE Chains.Sizes ( ChainID INT, width DECIMAL (10, 2) );
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 tabulkuNineProngs
. Prohlášení udělujeSELECT
Bob
a odepíráSELECT
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
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í
NULL
principal_id
vsys.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.