web-dev-qa-db-fra.com

Échec de publication du SSDT: "Impossible de se connecter au serveur maître ou cible"

J'essaie d'utiliser SSDT pour publier sur une base de données SQL Server dans Azure. Quand je le fais, je vois l'erreur suivante:

Impossible de se connecter au serveur maître ou cible 'DATABASE_NAME'. Vous devez avoir un utilisateur avec le même mot de passe dans le serveur maître ou cible 'DATABASE_NAME'.

Ignorant le fait qu'il énumère un nom de base de données en tant que nom de serveur dans l'erreur, je ne sais pas comment le résoudre. Lorsque je spécifie la base de données cible, je peux tester avec succès la connexion. Je peux également me connecter avec les mêmes comptes à la base de données via SSMS.

Après avoir recherché l'erreur, il semble souvent que le pare-feu de la base de données dans Azure n'inclut pas l'adresse IP de la machine à partir de laquelle vous publiez. Il contient non seulement mon adresse IP, mais j'ai ajouté une autre règle de pare-feu permettant à chaque adresse IP (0.0.0.0-255.255.255.255) d'éliminer le pare-feu en tant que cause potentielle du problème.

Des idées?

5
im1dermike

C'est un problème connu. Cela est dû au nouveau niveau de compatibilité 140 pour les bases de données SQL Azure nouvellement créées. Le problème a été documenté ici et la mise à jour de SSDT à partir de ici vers la dernière version peut résoudre le problème.

Vous pouvez également modifier le niveau de compatibilité de votre base de données sur 130.

ALTER DATABASE database_name   
SET COMPATIBILITY_LEVEL =  130;

J'espère que cela t'aides.

10
Alberto Morillo
Initializing deployment (Start)
Initializing deployment (Failed)
*** Could not deploy package.
Unable to connect to master or target server 'DbName'. You must have a user with the same password in master or target server 'DbName'.

Un problème est survenu lors du déploiement de la génération via VisualStudio-2015 et prend en charge la publication de la base de données sur les serveurs de base de données dont la version est limitée à 2016.

Solution : Pour SQL Server 2017, nous devons uniquement publier la base de données avec Visual Studia 2017. Besoin de mettre à niveau SSDT.

3
Komal Bisen

Ma situation était légèrement différente dans le sens où j'avais exporté une base de données Azure (avec le niveau de compatibilité 140) à partir de SQL Azure, puis essayé de l'importer dans une installation locale de SQL Server 2017 - à l'aide du dernier SSMS 2017 Je juste _ installé hier - et j'ai toujours ce message.

Il s’est avéré que bien que j’ai eu le dernier SSMS installé, j’étais en fait ouvrant SSMS 2016 par erreur! Veillez donc à sélectionner et épingler la version correcte pour éviter que cela ne se reproduise. Il suffit de taper «SSMS» dans le menu Démarrer de Windows pour ne pas afficher les deux. 

Donc, si vous utilisez SSMS pour importer, vous n’avez besoin que de la dernière version et pas d’outils distincts.


Note de bas de page: Même après avoir ouvert la version correcte de SSMS, j'ai eu une autre erreur - quelque chose à propos des bases de données contenues.

Une base de données Azure est une base de données "contenue" (ou du moins la mienne l'était), ce qui signifie que ses noms d'utilisateur sont incorporés dans la base de données. Cela n'est apparemment pas activé par défaut dans SQL Server 2017 standard. 

Après avoir exécuté this dans le SQL local dans master, j’ai pu l’importer avec succès.

sp_configure 'contained database authentication', 1;
GO
RECONFIGURE;
GO
1
Simon_Weaver

Problème identique rencontré lors de la tentative de déploiement d'une base de données à partir de SQL Server local vers Azure SQL DB via SSMS. 

J'ai essayé de modifier le niveau de compatibilité du DB source à 130, toujours la même erreur.

J'ai essayé d’ajouter les mêmes identifiants d’utilisateur à la base de données master, sans aide.

Finalement, a commencé à chercher d'autres approches. Réussi à l'aide de Data Migration Assistant, comme indiqué dans https://docs.Microsoft.com/en-us/Azure/sql-database/sql-database-cloud-migrate

1
potsi

La même erreur s'est produite lors de la tentative de mise à jour d'une base de données SQL Server locale à partir d'un projet de base de données Visual Studio (c'est-à-dire pas Azure). Il s'avère que le problème était que j'exécutais SSDT pour Visual Studio 2017 en utilisant Visual Studio 2015. Visual Studio a découvert une version mise à jour de SSDT (elle venait juste de le voir dans les notifications!), Pointant vers la bonne version de Visual Studio. Maintenant ça marche!

Ma configuration: BizTalk Server 2016 m'oblige à utiliser Visual Studio 2015. Ma base de données locale repose sur SQL Server 2017. L'utilisation de SSDT pour Visual Studio 2015 permet de mettre à jour des bases de données dans SQL Server 2017. Sachez-le. ;)

0
JERKER

* pour publier sur une base de données SQL Server dans Azure *, vous pouvez utiliser "Assistant de migration de données" (DMA).

Je viens de l'essayer et cela fonctionne sans problème (niveau de pare-feu et de compatibilité)

veuillez vous référer à ce lien Migration de la base de données SQL Server vers Azure SQL Database

pour étape par étape: 10. Comment migrer la base de données SQL vers Azure avec le service de migration de base de données Azure

0
Daleman