15

Viene visualizzato il seguente messaggio di errore quando si tenta di connettersi a SQL Azure.Come risolvere Azure "Gli accessi a Windows non sono supportati in questa versione di SQL Server"?

login di Windows non sono supportati in questa versione di SQL Server

sto usando una stringa di connessione Azure. In fase di sviluppo sono in esecuzione su SQL Server Express. Questo errore specifico viene generato quando provo a recuperare alcuni dati dal database.

Il contesto che sto usando è in esecuzione in una clausola utilizzando, vedi sotto

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

Stiamo usando la versione di Entity Framework 4.2, ASP.NET MVC 3 e .NET 4.0.

Come posso risolvere questo problema?

+4

Sembra abbastanza chiaro che è necessario utilizzare un account di accesso SQL anziché un accesso di Windows per la sicurezza, ad esempio SSPI, ecc .; solo un nome utente/password SQL –

+2

** SHOW US ** le stringhe di connessione utilizzate! Tu ** non puoi ** usare l'impostazione 'Integrated Security = SSPI;' contro SQL Azure, che è probabilmente l'impostazione predefinita per l'installazione locale di SQL Server Express ... –

risposta

6

L'autenticazione integrata (ad esempio SSPI nella stringa di connessione) NON è supportata in SQL Azure. autenticazione di SQL è supportato solo (vale a dire il nome utente & password nella stringa di connessione)

8

Az già detto da altri, solo l'autenticazione di SQL Server è supportato in SQL Azure. Puoi leggere di più su Guidelines and Limitations with SQL Azure. Così come lo Security Guidelines and limitations for SQL Azure.

È necessario CREATE LOGIN da soli nel database MASTER, quindi si desidera CREATE USER nel database di Azure personalizzato. Inoltre, non dimenticare di eseguire sys.sp_addrolemember per concedere alcune autorizzazioni all'utente.

Ulteriori informazioni su managing users and logins in SQL Azure possono essere trovati here.

E, alla fine, è sempre possibile guardare la fonte inestimabile per connection strings.

22

Stavo usando user/pass e ho ancora ricevuto il messaggio di errore. Ma, ho aggiunto questo alla mia stringa di connessione e ha funzionato.

Trusted_Connection=False;Encrypt=True; 
8

Set

Integrated Security=False 

In stringa di connessione.

4

probabilmente avete usato la stringa di connessione non corretta, questo è il formato stringa di connessione che ha lavorato per il mio caso:

"ConnectionString": "il server = tcp: xxxx.database.windows.net, 1433; Database = xxx; ID utente = xxx; Password = xxx; Encrypt = True; TrustServerCertificate = False; Timeout connessione = 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" 
    } 
Problemi correlati