Comment créer un utilisateur pour une connexion en 2013 SQL Server Database Project
Je suis en train de créer un utilisateur avec un compte de connexion pour un SSDT projet de base de données. Le login existe déjà sur le serveur cible. Avec le SQL suivant:
CREATE USER [MyLogin]
FOR LOGIN [MyLogin]
WITH DEFAULT_SCHEMA = dbo
GO
J'obtiens l'erreur:
Erreur 1 SQL71501: Utilisateur: [MyLogin] a une référence non résolue de Connexion [MyLogin].
J'ai trouvé deux solutions, mais ni travailler avec 2013:
1) Créer un projet de serveur de référence de la connexion. Ce n'est pas une option dans la version actuelle de SSDT /VS2013
2) Désactiver la vérification du schéma. L'option est absente en 2013 (je crois que c'était Options -> Database Tools -> Schema Compare
)
source d'informationauteur Turch
Vous devez vous connecter pour publier un commentaire.
Vous pouvez en fait créer le Serveur de Connexion du Niveau de l'intérieur de la Base de données SQL Server Projet à l'aide de la norme T-SQL Syntaxe:
Note: Vous pouvez aussi cliquer droit sur le projet de base de données et choisissez "Ajouter un Nouvel Élément" et accédez à SQL Server > Sécurité (à l'intérieur de la boîte de dialogue modèles) et sélectionnez " Connexion SQL (Serveur)'.
Cela résout le SQL71501 Erreur et (en supposant que vous utilisez SQLPackage.exe pour le déploiement) permettra SQLPackage.exe la possibilité de comparer l'objet de sécurité avec la Base de données cible avant le déploiement et la publication se produit.
Espère que cela aide 🙂
Si vous êtes garanti d'avoir la connexion sur le serveur, votre meilleur pari est de modifier votre maître de fichier dacpac. Il y a des instructions sur la façon de le faire ici:
http://sqlproj.com/index.php/2013/02/how-to-add-objects-to-master-dacpac
Alternativement, vous pouvez supprimer les références à des connexions à partir de la SSDT partie et de les traiter en post-déploiement de scripts. Si vous avez toute sorte d'environnement où les différentes autorisations doivent être appliquées dans les différents serveur (Développement, pré-Production, Production), qui pourrait être la meilleure option. J'ai blogué à ce sujet ici: http://schottsql.blogspot.com/2013/05/ssdt-setting-different-permissions-per.html
Nous espérons que l'un de ceux qui vont les aider. En fait, j'ai utilisé la première option pour contourner un problème avec avoir besoin d'EXÉCUTER, ce qui nécessite que l'utilisateur est dans le projet. C'était un peu difficile à obtenir l'exacte XML, mais j'ai travaillé autour d'elle par la création d'un projet vide avec juste que la connexion de la construire et de la copie du document XML à partir de la dacpac dans le maître dacpac.