15

Aparece el siguiente mensaje de error cuando intento conectarme a SQL Azure.Cómo resolver Azure "Los inicios de sesión de Windows no son compatibles con esta versión de SQL Server"?

inicios de sesión de Windows no son compatibles con esta versión de SQL Server

estoy usando una cadena de conexión Azure. En desarrollo, me estoy ejecutando contra SQL Server Express. Este error específico se produce cuando trato de obtener algunos datos de la base de datos.

El contexto que estoy usando se está ejecutando en una cláusula de usar, ver más abajo

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

Estamos utilizando Entity Framework versión 4.2, ASP.NET MVC 3 y .NET 4.0.

¿Cómo puedo resolver este problema?

+4

Parece bastante claro que debe utilizar un inicio de sesión de SQL en lugar de un inicio de sesión de Windows para la seguridad, es decir, no tiene SSPI, etc .; solo un nombre de usuario/contraseña de SQL –

+2

** MOSTRARNOS ** ¡la (s) cadena (s) de conexión utilizada (s)! ** No puede ** utilizar la configuración 'Integrated Security = SSPI;' contra SQL Azure, que probablemente sea la predeterminada para su instalación local de SQL Server Express ... –

Respuesta

6

La autentificación integrada (es decir, SSPI en la cadena de conexión) NO se admite en SQL Azure. Solo se admite SQL Autenticación (es decir, nombre de usuario & contraseña en la cadena de conexión)

8

Az ya mencionado por otros, solo la autenticación SQL Server es compatible con SQL Azure. Puede leer más en Guidelines and Limitations with SQL Azure. Además del Security Guidelines and limitations for SQL Azure.

Tienes que CREATE LOGIN por ti mismo en tu base de datos MASTER, entonces querrás CREATE USER en tu base de datos personalizada de Azure. Además, no te olvides de ejecutar sys.sp_addrolemember para otorgar algunos permisos a tu usuario.

Más sobre managing users and logins in SQL Azure se puede encontrar here.

Y, al final, siempre puede ver la fuente inestimable para connection strings.

22

Estaba usando user/pass y sigo recibiendo el mensaje de error. Pero agregué esto a mi cadena de conexión y funcionó.

Trusted_Connection=False;Encrypt=True; 
8

Conjunto

Integrated Security=False 

En Cadena de conexión.

4

probablemente usted ha utilizado la cadena de conexión incorrecta, este es el formato de cadena de conexión que trabajaba para mi caso:

"ConnectionString": "Servidor = tcp: xxxx.database.windows.net, 1433; Base de Datos = xxx; ID de usuario = xxx; Contraseña = xxx; Encrypt = True; TrustServerCertificate = False; Tiempo de espera de conexión = 30; "

0
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": { 
    "WinDwellContext": "Server=ServerName;Database=DbName;User Id=loginName;Password=loginPassword;Trusted_Connection=false;MultipleActiveResultSets=true" 
    } 
Cuestiones relacionadas