Skapa ett databasschema
gäller för:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)Warehouse i Microsoft Fabric
I den här artikeln beskrivs hur du skapar ett schema i SQL Server med hjälp av SQL Server Management Studio eller Transact-SQL.
Behörigheter
Om du vill skapa ett schema måste du ha behörigheten SKAPA SCHEMA för databasen.
Om du vill ange en annan användare som ägare till schemat som skapas måste anroparen ha PERSONIFIERa behörighet för den användaren. Om en databasroll anges som ägare måste anroparen uppfylla något av följande kriterier: medlemskap i rollen eller ALTER-behörighet för rollen.
Använda SQL Server Management Studio för att skapa ett schema
Expandera mappen Databases i Object Explorer.
Expandera databasen där du vill skapa det nya databasschemat.
Högerklicka på mappen Security, peka på Nyoch välj Schema.
I dialogrutan Schema – Ny på sidan Allmänt anger du ett namn för det nya schemat i rutan Schemanamn.
I rutan Schemaägare anger du namnet på en databasanvändare eller roll som ska äga schemat. Alternativt väljer du Sök för att öppna dialogrutan Sökroller och Användare.
Välj OK.
Not
En dialogruta visas inte om du skapar ett schema med hjälp av SSMS mot en Azure SQL Database- eller en Azure Synapse Analytics-. Du måste köra T-SQL-instruktionen Skapa schemamall som genereras.
Dialogrutan Schema – Ny innehåller även alternativ på två extra sidor: Behörigheter och Utökade egenskaper.
På sidan Behörigheter visas alla möjliga skyddsobjekt och behörigheter för de skyddsobjekt som kan beviljas till inloggningen.
På sidan Utökade egenskaper kan du lägga till anpassade egenskaper för databasanvändare.
Använda Transact-SQL för att skapa ett schema
I Object Exploreransluter du till en instans av databasmotorn.
I standardfältet väljer du Ny fråga.
I följande exempel skapas ett schema med namnet
Chains
och skapar sedan en tabell med namnetSizes
.CREATE SCHEMA Chains; GO CREATE TABLE Chains.Sizes ( ChainID INT, width DECIMAL (10, 2) );
Fler alternativ kan utföras i en enda instruktion. Följande exempel skapar schemat
Sprockets
, som ägs avJoe
och innehåller tabellenNineProngs
. Uttalandet gerSELECT
tillBob
och avslårSELECT
tillJohn
.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
Kör följande instruktion för att visa scheman i den aktuella databasen:
SELECT * FROM sys.schemas;
Begränsningar och restriktioner
Det nya schemat ägs av något av följande huvudnamn på databasnivå: databasanvändare, databasroll eller programroll. Objekt som skapats i ett schema ägs av schemats ägare och har en
NULL
principal_id
isys.objects
. Ägarskap av schemabaserade objekt kan överföras till valfri principal på databasnivå, men schemaägaren behåller alltid kontrollbehörighet för objekt i schemat.Domänobjektet läggs till i databasen som ett schema när du skapar ett databasobjekt om du anger ett giltigt domänobjekt (användare eller grupp) som objektägare. Det nya schemat ägs av domänens huvudnamn.