Я хотел опробовать функцию пользователей автономной базы данных в базе данных SQL Azure V12, но у меня возникла проблема с аутентификацией, которая кажется мне странной.
Я создал базу данных под названием Classifier
. Я добавил свой IP в правила брандмауэра, чтобы подключиться к серверу базы данных Azure из SSMS на своей рабочей станции. После того, как я смог подключиться через SSMS для администрирования, я попытался добавить пользователя с паролем в базу данных, например:
CREATE USER classifier WITH PASSWORD='thepassword'
Я также добавил этого пользователя в роли автора данных и читателя:
exec sp_addrolemember 'db_datawriter', 'classifier'
exec sp_addrolemember 'db_datareader', 'classifier'
После этого я могу подключиться к базе данных с этими учетными данными из SSMS:
Но здесь все идет не так, как надо: я пробовал несколько разных заклинаний строки подключения и, похоже, не могу подключиться в веб-приложении, над которым я работаю. В среде Azure это не сработало, поэтому я работаю на локальном хосте со строкой подключения к базе данных Azure и просто не могу подключиться. Вот строка подключения, которую я использую в данный момент:
<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"/>
Я попытался сбросить пароль (через SSMS) для пользователя и затем обновить строку подключения; Я также дважды проверил пароль, скопировав его прямо из этой строки подключения и в диалог подключения в SSMS, чтобы убедиться, что у меня там нет какой-либо опечатки.
Я включил аудит на сервере базы данных Azure в надежде получить некоторые сведения о том, почему он не работает, но все, что я получаю, это:
И вот где я застрял. Большинство из того, что я смог найти с помощью документации или блогов, показывает, что нужно взглянуть на журналы SQL Server, чтобы увидеть реальное состояние ошибки, которое более точно указывает на характер сбоя, но поскольку Я имею дело с Azure, нет способа сделать это (насколько я знаю).
Что может привести к сбою приложения в случае успеха SSMS (а также LinqPad и Visual Studio Server Explorer)?