Condividi tramite


Creare uno schema di database

si applica a:SQL Serverdatabase SQL di AzureIstanza gestita di SQL di AzureAzure Synapse AnalyticsAnalytics 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

  1. In Esplora oggetti espandere la cartella Database .

  2. Espandere il database in cui si desidera creare il nuovo schema di database.

  3. Fare clic con il pulsante destro del mouse sulla cartella Sicurezza , scegliere Nuovo, quindi selezionare Schema.

  4. Nella finestra di dialogo Schema - Nuovo della pagina Generale immettere un nome per il nuovo schema nella casella Nome schema .

  5. 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 .

  6. 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

  1. In Esplora oggetti connettersi a un'istanza del motore di database.

  2. Sulla barra Standard selezionare Nuova query.

  3. Nell'esempio seguente viene creato uno schema denominatoChains e poi una tabella denominata Sizes.

    CREATE SCHEMA Chains;
    
    GO
    
    CREATE TABLE Chains.Sizes
    (
        ChainID INT,
        width DECIMAL (10, 2)
    );
    
  4. È possibile eseguire opzioni aggiuntive in una singola istruzione. Nell'esempio seguente viene creato lo schema Sprockets, di proprietà di Joe e contenente la tabella NineProngs. L'istruzione concede SELECT a Bob e nega SELECT a 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
    
  5. 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 NULLprincipal_id in sys.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.