sql server une Visual Studio 2010-Le projet de base de données avec base de données importée ne parvient pas à générer




wpf base de données (3)

Le Login est en fait défini dans la base de données master de l'installation du serveur. L'instruction CREATE USER doit pointer vers un Login existant sinon il y a des erreurs. Le projet de base de données n'est pas au courant de la connexion au niveau du serveur. Soit vous pouvez créer un projet serveur pour gérer les connexions, soit vous pouvez désactiver la vérification des objets Sécurité dans votre projet de base de données. Voir la réponse de Demetri M pour plus de détails: http://social.msdn.microsoft.com/Forums/eu/vstsdb/thread/1f8226fe-b791-4344-8735-3d38307e8664

Je regarde le projet de base de données dans VS2010, l'idée étant que je veux quelque chose que je peux utiliser pour garder une trace du schéma de base de données (dans le contrôle de source) et la capacité de générer de nouveaux scripts d'installation.

Lorsque je crée un nouvel assistant de projet de base de données et que j'importe mon schéma de base de données existant, il ne "construit" pas. J'ai l'erreur:

SQL03006: Utilisateur: [scanner] a une référence non résolue à Login [scanner].

Le code SQL qui génère cette erreur:

CREATE USER [scanner] POUR LOGIN [scanner];

L'utilisateur "scanner" est un identifiant défini dans la base de données que j'ai importé. Je n'ai aucune idée de ce que ça me dit, et Google ne jette pas grand chose. Des idées?


Vous pouvez modifier les scripts de création d'utilisateur pour créer des rôles. Donc, au lieu de "Créer un nom d'utilisateur pour login loginName;"

utilisez "Créer un rôle [nom_utilisateur] autorisation dbo;"

C'est un hack, mais tant que vous n'avez pas à gérer les utilisateurs et les rôles dans votre projet, vous pouvez faire ce qui suit:

GRANT EXECUTE ON OBJECT :: [dbo]. [Nom_sp] TO [nom_utilisateur];


J'utilise Visual Studio 2012 pour un projet de base de données SQL Server 2008 R2. Les options listées par @Judah ne semblent plus fonctionner.

Ils semblent maintenant être des paramètres que vous configurez lors d'une comparaison de schéma:

Cliquez avec le bouton droit de la souris sur le projet de base de données> Sélectionnez 'Schema Compare'> Choisissez l'icône en forme de roue dentée 'Settings'> Choisissez l'onglet 'Object Types'>

Les connexions sont non-applicatives. Les rôles de base de données, les autorisations, les appartenances aux rôles et les utilisateurs ont tous une portée d'application.

Malheureusement, la seule façon que je peux trouver pour les préserver est de sauver le schéma de comparaison. Cela peut être un peu gênant si vous partagez cela dans une équipe et que vous souhaitez définir des paramètres de projet / base de données (ou serveur) pour toute comparaison de schéma.

Il fait le travail, cependant.







database-project