Как разрешить Azure "Лог-серверы Windows не поддерживаются в этой версии SQL Server"?

Я получаю следующее сообщение об ошибке, когда пытаюсь подключиться к 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.

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

Ответы

Ответ 1

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

Trusted_Connection=False;Encrypt=True;

Ответ 2

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

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

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

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

Ответ 3

Set

Integrated Security=False

В строке соединения.

Ответ 4

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

Ответ 5

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

"ConnectionString": "Server = tcp: xxxx.database.windows.net, 1433; Database = xxx; User ID = xxx; Password = xxx; Encrypt = True; TrustServerCertificate = False; Timeout Time = 30;"