Créer un schéma de base de données
s’applique à :SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
Warehouse dans Microsoft Fabric
Cet article explique comment créer un schéma dans SQL Server à l'aide de SQL Server Management Studio ou de Transact-SQL.
autorisations
Pour créer un schéma, vous devez disposer de 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.
Utiliser SQL Server Management Studio pour créer un schéma
Dans l'Explorateur d'objets, développez le dossier Bases de données .
Développez la base de données où créer le schéma de la base de données.
Cliquez avec le bouton droit sur le dossier Sécurité , pointez sur Nouveau, puis sélectionnez Schéma.
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 .
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 Rechercher les rôles et les utilisateurs .
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.
La boîte de dialogue Schéma – Nouveau offre également des options dans 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
Dans l' Explorateur d'objets, connectez-vous à une instance du Moteur de base de données.
Dans la barre d’outils standard, sélectionnez Nouvelle requête.
L’exemple suivant crée un schéma nommé
Chains
, puis crée une table nomméeSizes
.CREATE SCHEMA Chains; GO CREATE TABLE Chains.Sizes ( ChainID INT, width DECIMAL (10, 2) );
Des options supplémentaires peuvent être effectuées dans une seule instruction. L'exemple suivant crée le schéma
Sprockets
détenu parJoe
qui contient la tableNineProngs
. L'instruction accordeSELECT
àBob
et refuseSELECT
à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
Exécutez l’instruction suivante pour consulter les schémas de la base de données actuelle :
SELECT * FROM sys.schemas;
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 et ont un
NULL
principal_id
danssys.objects
Propriété des objets contenus dans le schéma peut être transférée à n’importe quel principal au niveau de la base de données, mais le propriétaire du schéma conserve toujours l’autorisation CONTROL sur les objets du schéma.Le principal du domaine est ajouté à la base de données comme schéma lors de la création d’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 nouveau schéma appartient à ce principal de domaine.