Tworzenie schematu bazy danych
Dotyczy:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
Magazyn w Microsoft Fabric
W tym artykule opisano sposób tworzenia schematu w programie SQL Server przy użyciu programu SQL Server Management Studio lub Języka Transact-SQL.
Uprawnienia
Aby utworzyć schemat, musisz mieć uprawnienie CREATE SCHEMA w bazie danych.
Aby określić innego użytkownika jako właściciela tworzonego schematu, obiekt wywołujący musi mieć uprawnienie IMPERSONATE dla tego użytkownika. Jeśli rola bazy danych jest określona jako właściciel, wywołujący musi spełniać jedno z następujących kryteriów: członkostwo w roli lub uprawnienie ALTER na roli.
Tworzenie schematu przy użyciu programu SQL Server Management Studio
W Eksploratorze obiektów rozwiń folder Databases.
Rozwiń bazę danych, w której ma zostać utworzony nowy schemat bazy danych.
Kliknij prawym przyciskiem myszy na folderze Security, przejdź do New, a następnie wybierz pozycję Schema.
W oknie dialogowym Schema — Nowy, na stronie Ogólne, wprowadź nazwę nowego schematu w polu Nazwa schematu .
W polu Właściciel schematu wprowadź nazwę użytkownika lub roli bazy danych, który ma być właścicielem schematu. Alternatywnie wybierz Wyszukaj, aby otworzyć okno dialogowe Wyszukaj Role i Użytkowników.
Wybierz pozycję OK.
Notatka
W przypadku tworzenia schematu przy użyciu programu SSMS dla Azure SQL Database lub Azure Synapse Analyticsnie zostanie wyświetlone okno dialogowe. Należy uruchomić generowany skrypt T-SQL Create Schema Template.
Okno dialogowe Schemat –Nowe oferuje również opcje na dwóch dodatkowych stronach: Uprawnienia i Właściwości rozszerzone .
Na stronie Permissions wymieniono wszystkie możliwe zabezpieczalne obiekty oraz uprawnienia dotyczące tych zabezpieczalnych obiektów, które można nadać użytkownikowi logującemu się.
Strona właściwości rozszerzonych umożliwia dodawanie właściwości niestandardowych do użytkowników bazy danych.
Tworzenie schematu przy użyciu Transact-SQL
W Eksploratorze Obiektów , nawiąż połączenie z wystąpieniem silnika bazy danych.
Na pasku Standardowa wybierz pozycję Nowe zapytanie.
Poniższy przykład tworzy schemat o nazwie
Chains
, a następnie tworzy tabelę o nazwieSizes
.CREATE SCHEMA Chains; GO CREATE TABLE Chains.Sizes ( ChainID INT, width DECIMAL (10, 2) );
Więcej opcji można wykonać w jednej instrukcji. Poniższy przykład tworzy schemat
Sprockets
, który należy doJoe
i zawiera tabelęNineProngs
. Instrukcja przyznajeSELECT
doBob
i odmawiaSELECT
doJohn
.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
Wykonaj następującą instrukcję, aby wyświetlić schematy w bieżącej bazie danych:
SELECT * FROM sys.schemas;
Ograniczenia i ograniczenia
Nowy schemat jest własnością jednego z następujących zasad kontroli dostępu na poziomie bazy danych: użytkownika bazy danych, roli bazy danych lub roli aplikacji. Obiekty utworzone w schemacie są własnością właściciela schematu i mają
NULL
principal_id
wsys.objects
. Własność obiektów zawartych w schemacie można przenieść do dowolnego podmiotu zabezpieczeń na poziomie bazy danych, ale właściciel schematu zawsze zachowuje uprawnienia CONTROL dla obiektów w schemacie.Podmiot domeny jest dodawany do bazy danych jako schemat podczas tworzenia obiektu bazy danych, jeśli określisz prawidłowy podmiot domeny (użytkownika lub grupę) jako właściciela obiektu. Nowy schemat jest własnością tego podmiotu domeny.