Partager via


Autorisations requises pour les fonctionnalités de base de données de Visual Studio

Avant de pouvoir exécuter une action sur une base de données dans Visual Studio, vous devez vous connecter avec un compte qui dispose de certaines autorisations sur cette base de données. Les autorisations spécifiques que vous avez besoin varient en fonction de l'action vous voulez exécuter. Les sections suivantes décrivent chaque action que vous pouvez exécuter et l'autorisation spécifique dont vous devez disposer pour l'exécuter.

  • Autorisations pour créer ou déployer une base de données

  • Autorisations pour refactoriser une base de données

  • Autorisations permettant d'exécuter des tests unitaires sur une base de données

  • Autorisations permettant de générer des données

  • Autorisations pour comparer des schémas et des données

  • Autorisations pour exécuter l'éditeur Transact-SQL (T-SQL)

  • Autorisations pour les projets CLR SQL (Common Language Run-time SQL Server)

Autorisations pour créer ou déployer une base de données

Vous devez avoir les autorisations suivantes pour créer ou déployer une base de données.

Actions

Autorisations requises

Importer des objets et des paramètres de base de données

Vous devez être en mesure de vous connecter à la base de données source.

  • Si la base de données source est basée sur SQL Server 2005, vous devez également posséder ou avoir l'autorisation VIEW DEFINITION sur chaque objet.

  • Si la base de données source est basée sur SQL Server 2008, vous devez également posséder ou avoir l'autorisation VIEW DEFINITION sur chaque objet. Votre connexion doit disposer de l'autorisation VIEW SERVER STATE (pour les clés de chiffrement de base de données).

Importer des objets et des paramètres serveur

Vous devez être en mesure de vous connecter à la base de données « MASTER » présente sur le serveur spécifié.

  • Si le serveur exécute SQL Server 2005, vous devez disposer de l'autorisation VIEW ANY DEFINITION sur le serveur.

  • Si la base de données source est basée sur SQL Server 2008, vous devez disposer de l'autorisation VIEW ANY DEFINITION sur le serveur. Votre connexion doit disposer de l'autorisation VIEW SERVER STATE (pour les clés de chiffrement de base de données).

Créer ou mettre à jour un projet de base de données

Vous n'avez besoin d'aucune autorisation de la base de données pour créer ou modifier un projet de base de données.

Déployer une nouvelle base de données ou déployer avec l'ensemble d'options Toujours recréer la base de données

Vous devez avoir l'autorisation CREATE DATABASE ou être membre du rôle dbcreator sur le serveur cible.

Lorsque vous créez une base de données, Visual Studio se connecte à la base de données model et copie son contenu. La connexion initiale (par exemple, votreConnexion) que vous utilisez pour vous connecter à la base de données cible doit disposer des autorisations db_creator et CONNECT SQL. Cette connexion doit disposer d'un mappage utilisateur sur la base de données model. Si vous disposez d'autorisations sysadmin, vous pouvez créer le mappage en émettant les instructions Transact-SQL suivantes :

USE [model]
CREATE USER yourUser FROM LOGIN yourLogin

L'utilisateur (dans cet exemple, yourUser) doit disposer d'autorisations CONNECT et VIEW DEFINITION sur la base de données model. Si vous disposez d'autorisations sysadmin, vous pouvez les accorder en émettant les instructions Transact-SQL suivantes :

USE [model]
GRANT CONNECT to yourUser
GRANT VIEW DEFINITION TO yourUser

Si vous déployez une base de données qui contient des contraintes sans nom et que l'option CheckNewContraints est activée (elle l'est par défaut), vous devez disposer d'autorisations db_owner ou sysadmin sans quoi le déploiement échoue. C'est uniquement vrai pour les contraintes sans nom. Pour plus d'informations sur l'option CheckNewConstraints, consultez Vue d'ensemble des paramètres de projet de base de données.

Déployer des mises à jour sur une base de données existante

Vous devez être un utilisateur de base de données valide. Vous devez également être membre du rôle db_ddladmin, posséder le schéma ou posséder les objets que vous voulez créer ou modifier sur la base de données cible. Vous avez besoin d'autorisations supplémentaires pour utiliser des concepts plus avancés tels que des connexions ou des serveurs liés dans vos scripts de prédéploiement ou de post-déploiement.

Remarque importanteImportant
Si vous effectuez un déploiement sur la base de données MASTER, vous devez également disposer de l'autorisation VIEW ANY DEFINITION sur le serveur sur lequel vous effectuez le déploiement.

Utiliser un assembly avec l'option EXTERNAL_ACCESS dans un projet de base de données

Vous devez définir la propriété TRUSTWORTHY pour votre projet de base de données. Vous devez avoir l'autorisation EXTERNAL ACCESS ASSEMBLY pour votre connexion SQL Server.

Déployer des assemblys sur une base de données nouvelle ou existante

Vous devez être membre du rôle sysadmin sur le serveur de déploiement cible.

Pour plus d'informations, consultez la SQL Server 2005 Documentation en ligne ou la SQL Server 2008 Documentation en ligne.

Autorisations pour refactoriser une base de données

La refactorisation de base de données se produit uniquement dans le projet de base de données. Vous devez disposer d'autorisations pour utiliser le projet de base de données. Vous n'avez besoin d'autorisations sur une base de données cible que lorsque vous déployez dessus les modifications que vous avez apportées.

Autorisations pour exécuter des tests unitaires sur une base de données

Vous devez disposer des autorisations suivantes pour exécuter des tests unitaires sur une base de données.

Actions

Autorisations requises

Exécuter une action de test

Vous devez utiliser la connexion de base de données de contexte d'exécution. Pour plus d'informations, consultez Vue d'ensemble des chaînes de connexion et des autorisations.

Exécuter une action de prétest ou de post-test

Vous devez utiliser la connexion de base de données de contexte privilégié. Cette connexion de base de données a plus d'autorisations que la connexion de contexte d'exécution.

Exécuter des scripts TestInitialize et TestCleanup

Vous devez utiliser la connexion de base de données de contexte privilégié.

Déployer des modifications de base de données avant d'exécuter des tests

Vous devez utiliser la connexion de base de données de contexte privilégié. Pour plus d'informations, consultez Comment : configurer l'exécution de tests unitaires de base de données.

Générer des données avant d'exécuter des tests

Vous devez utiliser la connexion de base de données de contexte privilégié. Pour plus d'informations, consultez Comment : configurer l'exécution de tests unitaires de base de données.

Autorisations permettant de générer des données

Vous devez disposer des autorisations INSERT et SELECT sur les objets de la base de données cible pour générer des données de test à l'aide du Générateur de données. Si vous videz des données avant d'en générer, vous devez également disposer d'autorisations DELETE sur les objets de la base de données cible. Pour réinitialiser la colonne IDENTITY d'une table, vous devez posséder cette dernière ou être membre du rôle db_owner ou db_ddladmin.

Autorisations pour comparer des schémas et des données

Vous devez avoir les autorisations suivantes pour comparer des schémas ou des données.

Actions

Autorisations requises

Comparer les schémas de deux bases de données

Vous devez disposer des autorisations permettant d'importer des objets et des paramètres à partir des bases de données, comme décrit dans Autorisations permettant de créer ou déployer une base de données.

Comparer les schémas d'une base de données et un projet de base de données

Vous devez disposer des autorisations permettant d'importer des objets et des paramètres à partir de la base de données, comme décrit dans Autorisations permettant de créer ou déployer une base de données. Le projet de base de données doit aussi être ouvert dans Visual Studio.

Écrire des mises à jour sur une base de données cible

Vous devez disposer des autorisations permettant de déployer des mises à jour sur la base de données cible, comme décrit dans Autorisations permettant de créer ou déployer une base de données.

Comparer les données de deux bases de données

En plus des autorisations dont vous devez disposer pour comparer les schémas de deux bases de données, vous avez également besoin de l'autorisation SELECT sur toutes les tables que vous voulez comparer.

Pour plus d'informations, consultez ces pages sur le site Web Microsoft : Documentation en ligne de SQL Server 2008 ou Documentation en ligne de SQL Server 2005.

Autorisations permettant d'exécuter l'éditeur Transact-SQL

Les actions que vous pouvez effectuer dans l'éditeur Transact-SQL est déterminé par votre contexte d'exécution sur la base de données cible.

Autorisations pour les projets CLR SQL (Common Language Run-time SQL Server)

Le tableau suivant répertorie les autorisations que vous devez avoir pour déployer ou déboguer des projets CLR SQL :

Actions

Autorisations requises

Déployer (initialement ou par incrément) un assembly de jeu d'autorisations sécurisé

  • db_DDLAdmin : cette autorisation accorde des autorisations CREATE et ALTER pour les assemblys et les types d'objets que vous déployez.

  • VIEW DEFINITION au niveau de la base de données : requise pour le déploiement.

  • CONNECT au niveau de la base de données : accorde la capacité de se connecter à la base de données.

Déployer un assembly de jeu d'autorisations d'accès externe

  • db_DDLAdmin : cette autorisation accorde des autorisations CREATE et ALTER pour les assemblys et les types d'objets que vous déployez.

  • VIEW DEFINITION au niveau de la base de données : requise pour le déploiement.

  • CONNECT au niveau de la base de données : accorde la capacité de se connecter à la base de données.

De plus, vous devez également :

  • affecter la valeur ON à l'option de base de données TRUSTWORTHY.

  • La connexion que vous utilisez pour le déploiement doit avoir l'autorisation de serveur Assembly d'accès externe.

Déployer un assembly de jeu d'autorisations non sécurisé

  • db_DDLAdmin : cette autorisation accorde des autorisations CREATE et ALTER pour les assemblys et les types d'objets que vous déployez.

  • VIEW DEFINITION au niveau de la base de données : requise pour le déploiement.

  • CONNECT au niveau de la base de données : accorde la capacité de se connecter à la base de données.

De plus, vous devez également :

  • affecter la valeur ON à l'option de base de données TRUSTWORTHY.

  • La connexion que vous utilisez pour le déploiement doit avoir l'autorisation de serveur Assembly non sécurisé.

Déboguer à distance un assembly CLR SQL

Vous devez avoir l'autorisation de rôle fixe sysadmin.

Important

Dans tous les cas, le propriétaire de l'assembly doit être l'utilisateur que vous utilisez pour déployer l'assembly ou le propriétaire doit être un rôle duquel cet utilisateur est membre. Cette spécification s'applique également à tous les assemblys référencés par l'assembly que vous déployez.

Voir aussi

Concepts

Création et gestion de bases de données et d'applications de couche Données dans Visual Studio

Démarrage du développement en équipe de bases de données