Scheman och tabeller
Skapa ett schema eller en tabell i en SQL Server-instans från Datautforskaren — kolumner, typer, nycklar, standardvärden och identitetskolumner — och ta bort ett igen.
Kräver: sqlservercluster/dataRead, sqlservercluster/schemaRead, sqlservercluster/schemaWrite
Datautforskaren bygger satserna CREATE och DROP åt dig från ett formulär, visar dem under
SQL preview och kör dem på samma sätt som varje schemaändring: först en provkörning, sedan
bekräftelsen — se Schemaändringar kräver en provkörning. Objekten skapas
i instansens initiala databas.
Öppna instansens flik Datautforskare, som kräver sqlservercluster/dataRead; schemana listas till
vänster under Schemas, vilket kräver sqlservercluster/schemaRead. Att skapa ett schema eller en
tabell kräver sqlservercluster/schemaWrite, och att ta bort ett även sqlservercluster/schemaDrop,
båda som vanliga åtgärder: Owner, Contributor, Platform Owner och Platform Contributor kan skapa och ta
bort, rollen Database Explorer kan inget av det — se
Behörigheter.
Skapa ett schema
- Välj + bredvid Schemas (Create schema).
- Ange Name: upp till 128 bokstäver, siffror och understreck, med en bokstav eller ett understreck
först. SQL preview visar satsen,
CREATE SCHEMA [<name>];. - Välj Dry run. När den lyckas väljer du Confirm & create.
Satsen har ingen AUTHORIZATION-klausul och Datautforskaren kör den som inloggningen sa, så schemat
ägs av dbo. Det visas i listan utan tabeller.
Formuläret har också Comment (optional) och IF NOT EXISTS. Ingen av dem ingår i satsen som
körs: T-SQL har ingen IF NOT EXISTS för ett schema, och kommentaren sparas inte. Ett schema med ett
namn som redan finns misslyckas därför i provkörningen.
Skapa en tabell
Peka på ett schema i listan och välj dess + (Create table). Formuläret öppnas som Create a new table under det schemat; schemat kan bytas överst.
Ange tabellens Name, med samma regler som för ett schemanamn.
Definiera Columns. Formuläret börjar med två:
id—bigint, primärnyckel, Auto;created_at—datetime2, tillåterNULL, standardvärdeSYSUTCDATETIME().
Ange för varje kolumn Name, Type — välj en i listan eller välj Custom… för en annan T-SQL-typ, till exempel
hierarchyid, eventuellt med en storlek:(50),(10,2)eller(max)— och ett uttryck under Default om det behövs; listan bredvid föreslår vanliga. Kryssa sedan i Primary för att göra kolumnen till en del av primärnyckeln, Null för att tillåtaNULL, och Auto för att göra den till en identitetskolumn som numrerar sig själv. Add column lägger till en rad; dra en rad i dess handtag för att ändra ordningen, eller ta bort den.Kontrollera SQL preview och välj Review & save. När provkörningen lyckas väljer du Confirm & create.
Regler som formuläret upprätthåller:
- kolumnnamn är unika i tabellen;
- Auto kräver en heltalstyp —
tinyint,smallint,intellerbigint— och inget standardvärde; en identitetskolumn är alltidNOT NULL; - flera kolumner med Primary ikryssat bildar en gemensam primärnyckel över alla.
Formuläret har inga främmande nycklar, index eller andra villkor. Lägg till dem efteråt med en sats
ALTER TABLE eller CREATE INDEX på fliken Query. Precis som för scheman ingår inte
IF NOT EXISTS och Comment (optional) i satsen som körs.
Ta bort en tabell eller ett schema
- Peka på tabellen eller schemat i listan och välj dess papperskorgsikon.
- Kontrollera SQL preview och välj Dry run.
- När provkörningen lyckas skriver du namnet för att bekräfta och väljer Drop table — eller Drop view, Drop schema.
Det kräver sqlservercluster/schemaDrop utöver sqlservercluster/schemaWrite.
Ett schema kan bara tas bort när det är tomt: ta först bort dess tabeller och andra objekt. Formulärets brytare CASCADE ingår inte i satsen, eftersom T-SQL saknar en sådan.