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