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.
|
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é.
|
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 :
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 :
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.
Important
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é |
|
Déployer un assembly de jeu d'autorisations d'accès externe |
De plus, vous devez également :
|
Déployer un assembly de jeu d'autorisations non sécurisé |
De plus, vous devez également :
|
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