Créer un schéma de base de données

S’applique à :SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

Cet article explique comment créer un schéma dans SQL Server à l’aide de SQL Server Management Studio ou de Transact-SQL.

Limitations et restrictions

  • Le nouveau schéma appartient à l'un des principaux de base de données suivants : utilisateur de base de données, rôle de base de données ou rôle d'application. Les objets créés dans un schéma appartiennent au propriétaire du schéma. La valeur principal_id de ces objets est NULL dans sys.objects. Il est possible de transférer la propriété des objets contenus dans le schéma à n'importe quel principal de base de données, mais le propriétaire du schéma conserve toujours l'autorisation CONTROL sur les objets dans le schéma.

  • Quand vous créez un objet de base de données, si vous spécifiez un principal de domaine valide (utilisateur ou groupe) comme propriétaire de l'objet, le principal du domaine est ajouté à la base de données comme schéma. Le nouveau schéma appartient à ce principal de domaine.

Autorisations

  • Nécessite l'autorisation CREATE SCHEMA sur la base de données.

  • Pour spécifier un autre utilisateur comme propriétaire du schéma à créer, l'appelant doit avoir l'autorisation IMPERSONATE sur cet utilisateur. Si un rôle de base de données est spécifié comme propriétaire, l'appelant doit correspondre à l'un des critères suivants : appartenance au rôle ou autorisation ALTER pour le rôle.

Utilisation de SQL Server Management Studio pour créer un schéma

  1. Dans l'Explorateur d'objets, développez le dossier Bases de données .

  2. Développez la base de données où créer le schéma de la base de données.

  3. Cliquez avec le bouton droit sur le dossier Sécurité , pointez sur Nouveau, puis sélectionnez Schéma.

  4. Dans la boîte de dialogue Schéma - Nouveau , sur la page Général , entrez un nom pour le nouveau schéma dans la zone Nom du schéma .

  5. Dans la zone Propriétaire du schéma , entrez le nom d'un utilisateur de base de données ou d'un rôle propriétaire du schéma. Vous pouvez également sélectionner Rechercher pour ouvrir la boîte de dialogue Rôles de recherche et Utilisateurs .

  6. Cliquez sur OK.

Remarque

Aucune boîte de dialogue ne s’affiche si vous créez un schéma avec SSMS sur une instance Azure SQL Database ou Azure Synapse Analytics. Vous devez exécuter l’instruction T-SQL Create Schema Template qui est générée.

Options supplémentaires

La boîte de dialogue Schéma - Nouvelle boîte de dialogue propose également des options sur deux pages supplémentaires : autorisations et propriétés étendues.

  • La page Autorisations répertorie tous les éléments sécurisables possibles et les autorisations sur les éléments sécurisables qui peuvent être accordées à la connexion.

  • La page Propriétés étendues vous permet d'ajouter des propriétés personnalisées aux utilisateurs de base de données.

Utilisation de Transact-SQL pour créer un schéma

  1. Dans l' Explorateur d'objets, connectez-vous à une instance du Moteur de base de données.

  2. Dans la barre d’outils standard, sélectionnez Nouvelle requête.

  3. L’exemple suivant crée un schéma nommé Chains, puis crée une table nommée Sizes.

    CREATE SCHEMA Chains;
    GO
    CREATE TABLE Chains.Sizes (ChainID int, width dec(10,2));
    
  4. Des options supplémentaires peuvent être effectuées dans une seule instruction. L’exemple suivant crée le schéma Sprockets appartenant Joe à ce qui contient la table NineProngs. L'instruction accorde SELECT à Bob et refuse SELECT à John.

    CREATE SCHEMA Sprockets AUTHORIZATION Joe  
        CREATE TABLE NineProngs (source int, cost int, partnumber int)  
        GRANT SELECT ON SCHEMA::Sprockets TO Bob  
        DENY SELECT ON SCHEMA::Sprockets TO John;  
    GO  
    
  5. Exécutez l’instruction suivante pour afficher les schémas dans la base de données active :

    SELECT * FROM sys.schemas;
    

Étapes suivantes

Pour plus d’informations, consultez CREATE SCHEMA (Transact-SQL).