Creare uno schema di database
si applica a:SQL Server
database SQL di Azure
Istanza gestita di SQL di Azure
Azure Synapse Analytics
Analytics Platform System (PDW)
Warehouse in Microsoft Fabric
Questo articolo descrive come creare schemi in SQL Server usando SQL Server Management Studio o Transact-SQL.
Autorizzazioni
Per creare uno schema, è necessario disporre dell'autorizzazione CREATE SCHEMA per il database.
Per specificare un altro utente come proprietario dello schema che viene creato, l'utente deve disporre dell'autorizzazione IMPERSONATE per quell'utente. Se si specifica un ruolo di database come proprietario, il chiamante deve appartenere al ruolo oppure deve avere l'autorizzazione ALTER per il ruolo.
Uso di SQL Server Management Studio per creare uno schema
In Esplora oggetti espandere la cartella Database .
Espandere il database in cui si desidera creare il nuovo schema di database.
Fare clic con il pulsante destro del mouse sulla cartella Sicurezza , scegliere Nuovo, quindi selezionare Schema.
Nella finestra di dialogo Schema - Nuovo della pagina Generale immettere un nome per il nuovo schema nella casella Nome schema .
Nella casella Proprietario schema immettere il nome di un utente o ruolo del database proprietario dello schema. In alternativa, selezionare Cerca per aprire la finestra di dialogo Cerca ruoli e utenti .
Seleziona OK.
Nota
Se si sta creando uno schema tramite SSMS su un database SQL di Azure o in Azure Synapse Analytics, la finestra di dialogo non verrà visualizzata. Sarà necessario eseguire l'istruzione di T-SQL per la creazione del modello schema che è stata generata.
Nella finestra di dialogo Schema - Nuovo sono disponibili opzioni anche nelle due pagine aggiuntive Autorizzazioni e Proprietà estese.
Nella pagina Autorizzazioni sono elencate tutte le possibili entità a protezione diretta e le autorizzazioni su quelle entità a protezione diretta che possono essere concesse all'account di accesso.
La pagina Proprietà estese consente di aggiungere proprietà personalizzate a utenti di database.
Uso di Transact-SQL per creare uno schema
In Esplora oggetti connettersi a un'istanza del motore di database.
Sulla barra Standard selezionare Nuova query.
Nell'esempio seguente viene creato uno schema denominato
Chains
e poi una tabella denominataSizes
.CREATE SCHEMA Chains; GO CREATE TABLE Chains.Sizes ( ChainID INT, width DECIMAL (10, 2) );
È possibile eseguire opzioni aggiuntive in una singola istruzione. Nell'esempio seguente viene creato lo schema
Sprockets
, di proprietà diJoe
e contenente la tabellaNineProngs
. L'istruzione concedeSELECT
aBob
e negaSELECT
aJohn
.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
Eseguire l'istruzione seguente per visualizzare gli schemi nel database corrente:
SELECT * FROM sys.schemas;
Limitazioni e restrizioni
Il nuovo schema è di proprietà di una delle seguenti entità a livello di database: utente di database, ruolo di database o ruolo applicazione. Gli oggetti creati all'interno di uno schema sono di proprietà del proprietario dello schema e dispongono di un
NULL
principal_id
insys.objects
La proprietà degli oggetti contenuti nello schema può essere trasferita a qualsiasi entità a livello di database, ma il proprietario dello schema mantiene sempre l'autorizzazione CONTROL per gli oggetti all'interno dello schema.L‘entità di sicurezza del dominio viene aggiunta al database come schema quando si crea un oggetto database, se si specifica un’entità di sicurezza valida (utente o gruppo) come proprietario dell'oggetto. Il proprietario del nuovo schema è l'entità del dominio.