2013-07-12 6 views
77

Si verifica un errore durante la connessione di MY DB che si trova in Ruolo VM (I ruolo SQL VM) dal sito Web di Azure. Sia il VM Role che il sito Web di Azure si trovano nella zona ovest. Sto affrontando il seguente numero "SqlException (0x80131904): Una connessione è stata stabilita correttamente con il server, ma poi si è verificato un errore durante il processo di accesso. (Provider: Provider SSL, errore: 0 - La catena di certificati è stata emessa da un'autorità che non è attendibile.)] ""La catena di certificati è stata emessa da un'autorità non attendibile" durante il collegamento di DB in VM Ruolo dal sito Web di Azure

Sono in grado di connettersi al mio DB utilizzando SSMS. La porta 1433 è aperta sul mio ruolo VM. Cosa c'è di sbagliato nella mia connessione?

risposta

174

Probabilmente non è stato installato un certificato firmato da CA nell'archivio principale attendibile della VM virtuale.

Se avete Encrypt=True nella stringa di connessione, entrambi i set che su off (non raccomandato), o aggiungere quanto segue nella stringa di connessione:

TrustServerCertificate=True 

SQL Server creerà un certificato auto-firmato, se si non installarne uno da utilizzare, ma non sarà considerato attendibile dal chiamante poiché non è firmato da una CA, a meno che non si dica alla stringa di connessione di considerare attendibile qualsiasi certificato server.

A lungo termine, consiglierei di sfruttare lo Let's Encrypt per ottenere gratuitamente un certificato firmato da una CA riconosciuta e installarlo sulla VM. Non dimenticare di configurarlo per l'aggiornamento automatico. È possibile leggere ulteriori informazioni su questo argomento nei libri di SQL Server online sotto l'argomento "Gerarchia di crittografia" e "Utilizzo della crittografia senza convalida".

HTH

+0

mi dispiace my bad, TTrusted_Connection = False è stato impostato nella stringa di connessione. impostarlo vero funziona per me. Grazie comunque – ZafarYousafi

+1

@ZafarYousafi dovresti contrassegnare questa risposta come corretta. – Termato

+2

Non è opportuno consigliare l'impostazione di 'TrustServerCertificate' su' true' - questo disabilita il controllo dei certificati. Non è meglio che impostare 'Encrypt' su' false'! –

3

se si sta tentando di accedervi tramite connessioni dati in Visual Studio 2015, e ottenere l'errore precedente, poi vai a Avanzate e impostare TrustServerCertificate=True per l'errore di andare via.

12

Se viene visualizzato questo messaggio di errore quando si tenta di connettersi utilizzando SQL Management Studio, aggiungere TrustServerCertificate = True ai parametri di connessione aggiuntivi.

Problemi correlati