Как решить Azure «Вход в систему Windows не поддерживается в этой версии SQL Server»? - PullRequest
24 голосов
/ 22 марта 2012

При попытке подключиться к SQL Azure появляется следующее сообщение об ошибке.

Вход в систему Windows не поддерживается в этой версии SQL Server

Я использую строку подключения Azure. В разработке я работаю с SQL Server Express. Эта конкретная ошибка выдается при попытке извлечь некоторые данные из базы данных.

Контекст, который я использую, выполняется в предложении using, см. Ниже

function List<SomeType> GetList(string dbContextName) 
{ 
    using (MyDbContext context = new MyDbContext) 
    {
         return context.SomeTypes.ToList();
    } 
}

Мы используем Entity Framework версии 4.2, ASP.NET MVC 3 и .NET 4.0.

Как мне решить эту проблему?

Ответы [ 6 ]

33 голосов
/ 09 июля 2014

Я использовал user / pass и все еще получил сообщение об ошибке. Но я добавил это в строку подключения, и это сработало.

Trusted_Connection=False;Encrypt=True;
14 голосов
/ 30 марта 2015

Set

Integrated Security=False

В строке подключения.

8 голосов
/ 22 марта 2012

Az уже упоминалось другими, в SQL Azure поддерживается только аутентификация SQL Server. Вы можете прочитать больше о Правила и ограничения с SQL Azure . А также Правила безопасности и ограничения для SQL Azure .

Вы должны СОЗДАТЬ ЛОГИН самостоятельно в своей базе данных MASTER, затем вы захотите СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ в своей пользовательской базе данных Azure. Также не забудьте выполнить sys.sp_addrolemember, чтобы предоставить некоторые разрешения вашему пользователю.

Подробнее о управлении пользователями и логинами в SQL Azure можно найти здесь .

И, наконец, вы всегда можете посмотреть на бесценный источник строк подключения .

7 голосов
/ 22 марта 2012

Встроенная проверка подлинности (т. Е. SSPI в строке подключения) НЕ поддерживается в SQL Azure. Поддерживается только аутентификация SQL (то есть имя пользователя и пароль в строке подключения)

5 голосов
/ 16 февраля 2016

Возможно, вы использовали неверную строку подключения, это формат строки подключения, который работал для моего случая:

"ConnectionString": "Server = tcp: xxxx.database.windows.net, 1433;База данных = xxx; ID пользователя = xxx; Пароль = xxx; Encrypt = True; TrustServerCertificate = False; Время ожидания подключения = 30; "

3 голосов
/ 08 марта 2018
1.**Windows Authentication** is not supported in Azure so you should go with **SQL Server Authentication**.
2.When you use SQL server Authentication you should pass User Id(Login in SQL server) and Password(Password in SQL server).
3.User Id should contain space in between should not be like UserId.
4.Trusted_Connection should be false.
The connection string in *appsettings.json* look like this:

"ConnectionStrings": {
    "DBContext": "Server=ServerName;Database=DbName;User Id=loginName;Password=loginPassword;Trusted_Connection=false;MultipleActiveResultSets=true"
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...