Ich wollte die Funktion für enthaltene Datenbankbenutzer in Azure SQL Database V12 ausprobieren , habe jedoch ein Problem bei der Authentifizierung, das mir seltsam vorkommt.
Ich habe eine Datenbank namens erstellt Classifier
. Ich habe meine IP-Adresse zu den Firewallregeln hinzugefügt, damit ich von SSMS auf meiner Arbeitsstation aus eine Verbindung zum Azure-Datenbankserver herstellen kann. Nachdem ich für die Verwaltung eine Verbindung über SSMS herstellen konnte, habe ich versucht, der Datenbank einen Benutzer mit einem Kennwort hinzuzufügen:
CREATE USER classifier WITH PASSWORD='thepassword'
Ich habe diesen Benutzer auch zu den Data Writer- und Reader-Rollen hinzugefügt:
exec sp_addrolemember 'db_datawriter', 'classifier'
exec sp_addrolemember 'db_datareader', 'classifier'
Danach kann ich mit den folgenden Anmeldeinformationen von SSMS eine Verbindung zur Datenbank herstellen:
Aber hier geht es schief: Ich habe verschiedene Beschwörungsformeln für Verbindungszeichenfolgen ausprobiert und kann in einer Web-App, an der ich arbeite, keine Verbindung herstellen. In der Azure-Umgebung hat es nicht funktioniert, daher wird auf localhost eine Verbindungszeichenfolge zur Azure-Datenbank ausgeführt, und es wird einfach keine Verbindung hergestellt. Hier ist die Verbindungszeichenfolge, die ich im Moment verwende:
<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"/>
Ich habe versucht, das Kennwort (über SSMS) für den Benutzer zurückzusetzen und dann die Verbindungszeichenfolge zu aktualisieren. Ich habe das Kennwort auch doppelt überprüft, indem ich es direkt aus dieser Verbindungszeichenfolge in den Verbindungsdialog in SSMS kopiert habe, um sicherzustellen, dass ich dort keinen Tippfehler hatte.
Ich habe die Überwachung auf dem Azure-Datenbankserver aktiviert, in der Hoffnung, einige Details darüber zu erhalten, warum sie fehlschlägt, aber alles, was ich erhalte, ist Folgendes:
Und hier stecke ich fest. Das meiste, was ich anhand von Dokumentation oder Blogs finden konnte, deutet darauf hin, dass das, was zu tun ist, darin besteht, in SQL Server-Protokollen zu suchen, um den tatsächlichen Fehlerstatus zu ermitteln, der die Art des Fehlers genauer anzeigen würde, aber seitdem ich Ich habe es mit Azure zu tun, es gibt keine Möglichkeit, dies zu tun (soweit ich weiß).
Was kann dazu führen, dass die Anwendung fehlschlägt, wenn SSMS (und im Übrigen LinqPad und Visual Studio Server Explorer) erfolgreich sind?