Je voulais essayer la fonctionnalité des utilisateurs de base de données contenus sur Azure SQL Database V12, mais j'ai un problème d'authentification qui me semble étrange.
J'ai créé une base de données appelée Classifier
. J'ai ajouté mon adresse IP aux règles de pare-feu afin de pouvoir me connecter au serveur Azure db à partir de SSMS sur mon poste de travail. Une fois que j'ai pu me connecter via SSMS pour l'administration, j'ai essayé d'ajouter un utilisateur avec un mot de passe à la base de données, comme ceci:
CREATE USER classifier WITH PASSWORD='thepassword'
J'ai également ajouté cet utilisateur aux rôles de rédacteur et de lecteur de données:
exec sp_addrolemember 'db_datawriter', 'classifier'
exec sp_addrolemember 'db_datareader', 'classifier'
Après cela, je peux me connecter à la base de données avec ces informations d'identification de SSMS:
Mais c'est là que les choses tournent mal: j'ai essayé plusieurs incantations de chaînes de connexion différentes et je n'arrive pas à me connecter dans une application Web sur laquelle je travaille. Cela ne fonctionnait pas dans l'environnement Azure, je suis donc en cours d'exécution sur localhost avec une chaîne de connexion à la base de données Azure, et il ne se connecte tout simplement pas. Voici la chaîne de connexion que j'utilise en ce moment:
<add name="Classifier" connectionString="Data Source=xxxxxxx.database.secure.windows.net;Initial Catalog=Classifier;User ID=classifier;Password=xxxxxxxxxxxxx;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;" providerName="System.Data.SqlClient"/>
J'ai essayé de réinitialiser le mot de passe (via SSMS) pour l'utilisateur, puis de mettre à jour la chaîne de connexion; J'ai également revérifié le mot de passe en le copiant directement à partir de cette chaîne de connexion et dans la boîte de dialogue de connexion dans SSMS pour m'assurer que je n'avais pas de faute de frappe.
J'ai activé l'audit sur le serveur Azure db en espérant obtenir des détails sur les raisons de l'échec, mais tout ce que j'obtiens est le suivant:
Et c'est là que je suis coincé. La plupart de ce que j'ai pu trouver par le biais de documentation ou de blogs indique que la chose à faire est de regarder les journaux de SQL Server pour voir quel est le véritable état d'erreur, ce qui indiquerait plus précisément la nature de l'échec, mais puisque je 'ai affaire à Azure, il n'y a aucun moyen de le faire (pour autant que je sache).
Qu'est-ce qui pourrait entraîner l'échec de l'application là où SSMS (et LinqPad et Visual Studio Server Explorer, soit dit en passant) réussit?