Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a: SQL Server 2022 (16.x) e versioni successive
La crittografia stretta della connessione applica buone pratiche di sicurezza e rende il traffico di SQL Server gestibile dagli appliance standard di rete. La crittografia strict usa TDS (Tabular Data Stream) 8.0, che esegue il wrapping della sessione TDS in Transport Layer Security (TLS) per la crittografia end-to-end.
Questo articolo illustra come connettersi a SQL Server 2022 (16.x) e versioni successive usando il tipo di connessione strict.
Prerequisito
- SQL Server 2022 (16.x) o versione successiva
- Driver OLE DB oppure ODBC per SQL Server
- Driver ODBC per SQL Server versione 18.1.2.1 o successive
- Driver OLE DB per SQL Server versione 19.2.0 o successive
- Creare e installare un certificato TLS (Transport Layer Security) per SQL Server. Per altre informazioni, vedere Abilitazione di connessioni crittografate al motore di database
Connessione a SQL Server tramite un'applicazione .NET
Per informazioni sulla generazione e la connessione a SQL Server tramite il tipo di crittografia strict, vedere Sintassi della stringa di connessione per la generazione corretta della stringa di connessione. Per altre informazioni sulle nuove proprietà della stringa di connessione, vedere Modifiche aggiuntive alle proprietà della crittografia della stringa di connessione.
Connessione tramite un DSN ODBC
È possibile testare una connessione con il tipo di crittografia della connessione Strict usando un DSN ODBC per SQL Server.
Cerca l'app Origini dati ODBC in Windows.
Assicurati di avere il driver ODBC più recente controllando nella scheda Driver dell'Amministratore dati ODBC.
Screenshot dei driver disponibili.
Nella scheda DSN di sistema, selezionare Aggiungi per creare un DSN. Selezionare, quindi, il Driver ODBC 18 per SQL Server. Selezionare Fine. Verrà usato per testare la connessione.
Nella finestra Crea una nuova origine dati per SQL Server, specificare un nome per questa origine dati e aggiungere il nome del server di SQL Server 2022 (16.x) a Server. Selezionare Avanti.
Usare tutti i valori predefiniti per tutte le impostazioni fino alla schermata Crittografia connessione. Selezionare Strict. Se il nome del server inserito è diverso da quello nel certificato o se viene usato l'indirizzo IP, devi impostare Nome host nel certificato al nome utilizzato nel tuo certificato. Selezionare Fine.
Quando viene visualizzata la finestra di dialogo Installazione di Microsoft SQL Server ODBC, selezionare il pulsante Origine dati di test… per testare la connessione. Questa operazione dovrebbe imporre la connessione
stricta SQL Server per questo test.
Connessione tramite Universal Data Link
È possibile testare la connessione a SQL Server anche con la crittografia strict usando il driver OLE DB con Universal Data Link (UDL).
Per creare un file UDL per testare la connessione, fare clic con il pulsante destro del mouse sul desktop e selezionare Nuovo>Documento di testo. È necessario modificare l'estensione da
txtaudl. Al file è possibile assegnare un nome qualunque.Nota
È necessario essere in grado di visualizzare il nome dell'estensione per modificare l'estensione da
txtaudl. Se non è possibile visualizzare l'estensione, è possibile abilitare la visualizzazione dell'estensione aprendo Visualizzazione File Explorer Show File name extensions .If you't see the extension, you can enable view the extension by opening File Explorer>View>Show>File name extensions.Aprire il file UDL creato e accedere alla scheda Provider per selezionare il Driver OLE DB di Microsoft 19 per SQL Server. Selezionare Avanti>>.
Nella scheda Connessione, inserire il nome del server di SQL Server e selezionare il metodo di autenticazione usato per accedere a SQL Server.
Nella scheda Avanzate, selezionare Strict per la Crittografia di connessione. Se il nome del server inserito è diverso da quello nel certificato o se viene usato l'indirizzo IP, impostare il Nome host nel certificato su quello usato nel certificato. Al termine, tornare alla scheda Connessione.
Screenshot della schermata avanzata di UDL.
Selezionare Connessione di test per testare la connessione con la crittografia di connessione
strict.
Connettersi con SSMS
A partire dalla versione 20, è possibile applicare la crittografia rigorosa in SQL Server Management Studio (SSMS) nella scheda Account di accesso della finestra di dialogo Connetti al server :
Connettersi a un gruppo di disponibilità AlwaysOn
A partire da SQL Server 2025 (17.x), è possibile crittografare la comunicazione tra il cluster di failover di Windows Server e una replica del gruppo di disponibilità Always On usando il tipo di crittografia della connessione Strict o Mandatory. Il tuo gruppo di disponibilità può applicare la crittografia solo se si basa su un cluster di failover di Windows Server. Altri tipi di gruppi di disponibilità non supportano la crittografia rigorosa.
Nota
La crittografia per gli endpoint del mirroring del database è configurata separatamente e TLS non è supportata. Per altre informazioni, vedere Sicurezza del trasporto nei gruppi di disponibilità e mirroring del database.
I passaggi variano a seconda che la disponibilità esista o meno.
Per forzare la crittografia rigorosa in un nuovo gruppo di disponibilità, seguire questa procedura:
- Se non è già stato fatto, importare il certificato TLS in ogni replica del gruppo di disponibilità, come definito dai requisiti del certificato. Riavviare ogni istanza di SQL Server dopo l'importazione del certificato.
- Testare le connessioni a ogni replica di SQL Server usando uno dei metodi indicati in questo articolo che applica la crittografia.
-
CREATE AVAILABILITY GROUP con la
Encryptproprietà impostata suStrictnellaCLUSTER_CONNECTION_OPTIONSclausola per il gruppo di disponibilità. In questo modo tutte le connessioni al gruppo di disponibilità usano il tipo di crittografia specificato. - Se il gruppo di disponibilità è attualmente online, eseguire il failover del gruppo di disponibilità in una replica secondaria per applicare le nuove impostazioni di crittografia al gruppo di disponibilità. Se il gruppo di disponibilità non riesce a essere online, potrebbe non essere
ClusterConnectionOptionsimpostato correttamente. Controllare il cluster.log per errori ODBC relativi al fatto che il cluster non riesce a connettersi alla replica di SQL Server. Facoltativamente, è possibile riportare il gruppo di disponibilità alla replica primaria originale dopo che la nuova replica secondaria è online e connessa al gruppo di disponibilità. - (Facoltativo) È possibile applicare ulteriormente la crittografia impostando l'opzione Force Strict Encryption su
Yesnelle proprietà di Gestione configurazione SQL Server per il protocollo di connessione per ogni replica. Questa impostazione garantisce che tutte le connessioni alle repliche del gruppo di disponibilità usino una crittografia rigorosa. Riavviare ogni replica di SQL Server dopo aver modificato questa impostazione.
Connettersi a un'istanza del cluster di failover
A partire da SQL Server 2025 (17.x), è possibile crittografare la comunicazione tra il cluster di failover di Windows Server e un'istanza del cluster di failover Always On utilizzando il tipo di crittografia della connessione Strict oppure Mandatory. Per fare questo, segui questi passaggi:
- Se non è già stato fatto, importare il certificato TLS in ogni nodo del cluster di failover, come definito dai requisiti del certificato. Riavviare l'istanza di SQL Server dopo l'importazione del certificato.
- Verificare le connessioni all'istanza del cluster di failover utilizzando uno dei metodi menzionati in questo articolo che applicano la crittografia.
-
ALTER SERVER CONFIGURATION con la
CLUSTER_CONNECTION_OPTIONSclausola per impostare laEncryptproprietà suMandatoryoStrict. In questo modo tutte le connessioni all'istanza del cluster di failover usano il tipo di crittografia specificato. - Eseguire il failover dell'istanza in un nodo secondario per applicare le nuove impostazioni di crittografia all'istanza del cluster di failover. Se l'istanza del cluster di failover non riesce a essere online, potrebbe non essere
ClusterConnectionOptionsimpostata correttamente. Controllare il cluster.log per errori ODBC relativi al cluster che non riesce a connettersi all'istanza di SQL Server. Facoltativamente, è possibile eseguire il failback dell'istanza nel nodo primario originale dopo che il nuovo nodo secondario è online e connesso all'istanza del cluster di failover. - (Facoltativo) È possibile applicare ulteriormente la crittografia impostando l'opzione Force Strict Encryption su
Yesnelle proprietà di Gestione configurazione SQL Server per il protocollo di connessione per ogni nodo del cluster. Questa impostazione garantisce che tutte le connessioni all'istanza del cluster di failover usino una crittografia rigorosa. Apportare questa modifica al nodo secondario, eseguire il failover dell'istanza e quindi apportare la modifica nel nodo primario.
crittografia della connessione SQL Server Agent
A partire da SQL Server 2025 (17.x), SQL Server Agent usa Microsoft DRIVER ODBC 18 per SQL Server, che supporta TDS 8.0 e TLS 1.3. SQL Server Agent regola automaticamente la crittografia della connessione in modo che corrisponda alla modalità di configurazione dell'istanza di SQL Server.
Come SQL Server Agent determina la crittografia
All'avvio di SQL Server Agent, esegue una query sulle chiavi del Registro di sistema seguenti nel computer locale per determinare il livello di crittografia configurato per SQL Server:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL17.<InstanceName>\MSSQLServer\SuperSocketNetLib\ForceEncryptionHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL17.<InstanceName>\MSSQLServer\SuperSocketNetLib\ForceStrict-
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL17.<InstanceName>\MSSQLServer\SuperSocketNetLib\SubjectAlternativeName(novità in SQL Server 2025 (17.x))
In base a questi valori, SQL Server Agent seleziona la modalità di connessione:
- Se Force Strict Encryption è abilitato, SQL Server Agent si connette tramite
strict(TDS 8.0). - Se la crittografia forzata è abilitata, SQL Server Agent si connette tramite
mandatory(TDS 7.x). - Se nessuno dei due è abilitato, SQL Server Agent si connette tramite
optional(TDS 7.x).
I passaggi del processo T-SQL locale ereditano la stessa configurazione di crittografia del servizio SQL Server Agent. Se SQL Server Agent si connette con strict, i processi T-SQL in esecuzione localmente nel server usano la stessa opzione.
Importante
TLS 1.3 funziona solo con la crittografia rigorosa. Se l'istanza di SQL Server ha abilitato solo TLS 1.3 a livello di sistema operativo, ma è impostata solo La crittografia forzata (non Force Strict Encryption), SQL Server Agent non può iniziare perché mandatory e optional le modalità richiedono TDS 7.x, che non è compatibile con TLS 1.3.
Matrice di configurazione TLS e crittografia
| Versione TLS abilitata | Impostazione di configurazione | SQL Server Agent risultato | Notes |
|---|---|---|---|
| Solo TLS 1.3 | Impostare la Crittografia Stretta | Si connette correttamente | TDS 8.0 usa la crittografia rigorosa |
| Solo TLS 1.3 | Forza l'encryption | Non è possibile connettersi | TLS 1.3 richiede strict |
| Solo TLS 1.3 | None | Non è possibile connettersi | TLS 1.3 richiede una crittografia rigorosa |
| Solo TLS 1.2 | Impostare la Crittografia Stretta | Si connette correttamente | TDS 8.0 può usare TLS 1.2 |
| Solo TLS 1.2 | Forza l'encryption | Si connette correttamente | TDS 7.x con obbligatorio |
| Solo TLS 1.2 | None | Si connette correttamente | TDS 7.x con facoltativo |
| TLS 1.2 e TLS 1.3 | Impostare la Crittografia Stretta | Si connette correttamente | TDS 8.0 usa la crittografia rigorosa |
| TLS 1.2 e TLS 1.3 | Forza l'encryption | Si connette correttamente | TDS 7.x con obbligatorio |
| TLS 1.2 e TLS 1.3 | None | Si connette correttamente | TDS 7.x con facoltativo |
Verificare la crittografia negoziata di SQL Server Agent
Dopo la connessione SQL Server Agent, eseguire la query seguente per confermare la modalità di crittografia:
SELECT s.session_id, c.encrypt_option, s.program_name, s.client_interface_name, s.nt_user_name
FROM sys.dm_exec_connections AS c
INNER JOIN sys.dm_exec_sessions AS s
ON c.session_id = s.session_id
WHERE s.program_name LIKE 'SQLAgent%';
La encrypt_option colonna restituisce TRUE quando SQL Server Agent connesso con la crittografia.
Per una panoramica di SQL Server Agent stessa, vedere SQL Server Agent.
Forzare la crittografia rigorosa con Gestione configurazione SQL Server
È possibile applicare la crittografia rigorosa usando Gestione configurazione SQL Server a partire da SQL Server 2022 (16.x). A tale scopo, seguire questa procedura:
Aprire Gestore configurazione SQL Server.
Nel riquadro sinistro espandere Configurazione di rete di SQL Server e selezionare Protocolli per [InstanceName].
Fare clic con il pulsante destro del mouse su TCP/IP e scegliere Proprietà.
Nella finestra di dialogo Proprietà TCP/IP passare alla scheda Flags e quindi selezionare Sì per l'opzione Forza crittografia rigorosa :
Riavviare l'istanza di SQL Server durante una finestra di manutenzione per applicare le modifiche.
Osservazioni:
Se viene visualizzato SSL certificate validation failed, accertarsi che:
- Il certificato del server è valido sul computer che stai utilizzando per il test.
- Si verifichi almeno una delle situazioni seguenti:
- Il SQL Server del provider corrisponde al nome dell’autorità di certificazione o a uno dei nomi DNS nel certificato.
- La proprietà della stringa di connessione
HostNameInCertificatecorrisponde al nome dell’autorità di certificazione o a uno dei nomi DNS nel certificato.