2009-09-15 7 views
3

Je tente de déployer un projet de base de données Visual Studio (GDR R2) à l'aide de l'utilitaire VSDBCMD.exe. Je peux déployer avec succès lorsque la chaîne de connexion utilise Integrated Security, mais lorsque j'utilise une authentification Sql Server, l'erreur suivante se produit:Déploiement de base de données avec VSDBCMD.exe n'utilisant pas la sécurité intégrée

Impossible d'importer le modèle cible MyCatalog. Message détaillé L'opération Reverse engineering ne peut pas continuer car vous n'avez pas l'autorisation Afficher la définition dans la base de données 'MonCatalogue'.

Je peux déployer avec succès l'authentification Sql Server lors du déploiement via Visual Studio.

Voici la commande que je utilise pour fonctionner:

vsdbcmd 
    /a:deploy 
    /dsp:sql 
    /dd- 
    /cs:"Data Source=localhost;Initial Catalog=MyCatalog;User ID=MyUserId;Password=MyPassword" 
    /script:C:\MyDbScriptFile.sql 
    /manifest:C:\Database.deploymanifest   
    /p:DeploymentConfigurationFile=C:\Database.sqldeployment  
    /p:SqlCommandVariablesFile=C:\Database.sqlcmdvars 

Tous les paramètres sont sur des lignes distinctes uniquement pour des raisons d'affichage. Encore une fois, quand je change la chaîne de connexion à la sécurité intégrée cela fonctionne. L'exécution de Sql Server Profiler pour Visual Studio et VSDBCMD.exe affiche uniquement les connexions pour MyUserId. Visual Studio ne semble pas utiliser un autre compte. Mais les requêtes en cours sont différentes. Je suppose que je ne devrais pas être surpris que les outils semblent se comporter différemment.

Je ne souhaite pas ajouter d'autorisations de définition de vue spécifiques à l'utilisateur tant que je n'ai pas découvert pourquoi je peux le faire avec succès via Visual Studio.

Merci.

Répondre

0

Grant View Definition le fait fonctionner. Visual Studio semble avoir secrètement des permissions ailleurs.

Questions connexes