Je viens d'importer une base de données de production SQL Server 2008r2 existante dans un projet de base de données VS 2013.
Je reçois maintenant un certain nombre d'erreurs dans le sens de
Error SQL71501: User: [mydbuser] has an unresolved reference to Login [mydbuser].
Je n'ai pas vraiment besoin de mon projet VS DB pour gérer les utilisateurs, mais je crains qu'il essaie de les supprimer lors du déploiement s'ils n'étaient pas là.
Les fichiers eux-mêmes sont générés comme
CREATE USER [mydbuser] FOR LOGIN [mydbuser];
ou
CREATE USER [mydomainuser] FOR LOGIN [MYDOMAIN\mydomainuser];
Le marqueur d'erreur montre que c'est spécifiquement pour la connexion . Comme il s'agit d'un objet au niveau du système, je peux comprendre qu'il est en dehors de la portée du projet db.
Est-il préférable que je les change tous
CREATE USER [mydbuser] WITHOUT LOGIN;
ou ajouter la CREATE LOGIN
clause au début de chaque fichier?
La suppression de la référence de connexion semble être plus simple et la suppression totale des utilisateurs serait la plus simple.
Je veux m'assurer que j'utilise l'outil comme il était prévu. Y aura-t-il des problèmes lors de la republication de ceux-ci de retour à la production? Quelle est la procédure appropriée pour ajouter un utilisateur / login via un projet?
Réponses:
Le moyen le plus simple est de ne pas gérer les utilisateurs via ssdt (la plupart des gens ne le font pas). Vous pouvez donc simplement les supprimer et ne pas déployer de connexions ou d'utilisateurs.
Il existe trois façons:
Ed
la source
J'ai eu le même problème et j'ai trouvé ce lien
L'utilisateur a une référence non résolue à la connexion
la source
Apparemment, ce problème se produit également sur les projets de base de données VS2017.
J'ai réussi à le résoudre en créant d'abord le login puis en créant l'utilisateur.
la source