MSSQLSERVER_17182
Si applica a: SQL Server
Dettagli
Attributo | valore |
---|---|
Nome prodotto | SQL Server |
ID evento | 17182 |
Origine evento | MSSQLSERVER |
Componente | SQLEngine |
Nome simbolico | INIT_TDSSNICLIENT |
Testo del messaggio | Inizializzazione di TDSSNIClient non riuscita con errore 0x%lx, codice di stato 0x%lx. Motivo: %S_MSG %.*ls |
Spiegazione
All'avvio di SQL Server, uno dei passaggi necessari consiste nell'inizializzare un listener TDS (Tabular Data Stream) e librerie di rete per accettare le connessioni in ingresso. Se l'inizializzazione ha esito negativo, viene generato l'errore 17182. Le attività di inizializzazione includono l'avvio del listener SNI layer/TDS, la configurazione o l'inizializzazione di porte, protocolli, contesto di autenticazione SSPI , crittografia (TLS/SSL) e così via.
In genere questo errore viene generato insieme ad altri errori MSSQLSERVER_17826 e MSSQLSERVER_17120
Il messaggio di errore 17182 contiene tre segnaposto compilati dinamicamente in base al problema che si è verificato. Il valore esadecimale "failed with error 0x%lx" è l'errore del sistema operativo sottostante che si è verificato. Questa è la parte più importante dell'errore. Il testo dopo "Reason: " è il messaggio di testo associato a questo errore del sistema operativo. Per illustrare, di seguito è riportato un esempio di questo errore:
Error: 17182, Severity: 16, State: 1.
TDSSNIClient initialization failed with error 0x139f, status code 0x80. Reason: Unable to initialize SSL support. The group or resource is not in the correct state to perform the requested operation.
In questo caso l'errore del sistema operativo = 0x139f, ovvero 5023 in decimale. Se si passa a un prompt dei comandi e si digita net helpmsg 5023
per cercare questo errore del sistema operativo, si otterrà: "Il gruppo o la risorsa non è nello stato corretto per eseguire l'operazione richiesta". Questo testo è quello visualizzato dopo "Reason:" nell'esempio.
Il terzo segnaposto è il codice di stato. Si tratta di un valore interno che indica quale componente nell'inizializzazione non è riuscito. Ciò può aiutare Microsoft a risolvere il problema in modo più dettagliato, se necessario. Ecco alcuni codici di stato comuni osservati:
Codice di stato | Significato |
---|---|
0x01 | SNI Client |
0x04 | Nessun listener (vuoto) |
0x0a | Provider TCP/IP |
0x40 | Provider di memoria condivisa |
0x50 | Provider Named Pipe |
0x80 | Provider SSL |
Causa
Possono verificarsi diversi motivi per cui può verificarsi questo errore, ma tutti sono correlati all'inizializzazione di librerie di rete o alla crittografia a livello SNI (SQL Server Network Interface). Di seguito sono riportati alcuni esempi.
- Protocolli di rete configurati in modo errato
- nessun protocollo selezionato
- Vengono specificate porte TCP non valide
- TLS/SSL configurato in modo errato per la crittografia di rete
- certificato non valido,
- versione TLS non valida
- configurazione della chiave del Registro di sistema non valida o mancante
- Problema del sistema operativo con protocolli o TLS/SSL
Azione utente
Risolvere i protocolli configurati in modo errato Un problema comune segnalato include protocolli di SQL Server configurati in modo errato. Per altre informazioni, vedere SQL Server non può essere avviato se tutti i protocolli sono disabilitati. È possibile osservare la sequenza di errori seguente nel log degli errori:
Error: 17182, Severity: 16, State: 1. TDSSNIClient initialization failed with error 0xd, status code 0x4. Reason: **All protocols are disabled. The data is invalid**. Error: 17182, Severity: 16, State: 1. TDSSNIClient initialization failed with error 0xd, status code 0x1. Reason: Initialization failed with an infrastructure error. Check for previous errors. The data is invalid. Error: 17826, Severity: 18, State: 3. Could not start the network library because of an internal error in the network library. To determine the cause, review the errors immediately preceding this one in the error log. Error: 17120, Severity: 16, State: 1. SQL Server could not spawn FRunCommunicationsManager thread. Check the SQL Server error log and the operating system error log for information about possible related problems.
Risolvere i problemi di configurazione e aggiornamento di TLS Un altro problema comune segnalato include la configurazione TLS nel server che impedisce a SQL Server di creare un'attività di comunicazione in background.
Error: 26011, Severity: 16, State: 1. The server was unable to initialize encryption because of a problem with a security library. The security library may be missing. Verify that security.dll exists on the system. Error: 17182, Severity: 16, State: 1. TDSSNIClient initialization failed with error 0x139f, status code 0x80. Reason: Unable to initialize SSL support. The group or resource is not in the correct state to perform the requested operation. Error: 17182, Severity: 16, State: 1. TDSSNIClient initialization failed with error 0x139f, status code 0x1. Reason: Initialization failed with an infrastructure error. Check for previous errors. The group or resource is not in the correct state to perform the requested operation. Error: 17826, Severity: 18, State: 3. Could not start the network library because of an internal error in the network library. To determine the cause, review the errors immediately preceding this one in the error log. Error: 17120, Severity: 16, State: 1. SQL Server could not spawn FRunCommunicationsManager thread. Check the SQL Server error log and the Windows event logs for information about possible related problems.
Assicurarsi di configurare TLS correttamente per SQL Server. Per informazioni sugli aggiornamenti necessari, vedere Supporto di TLS 1.2 per Microsoft SQL Server
Risolvere i problemi relativi ai certificati di crittografia Un altro problema comune è la configurazione errata dei certificati TLS/SSL che causano l'avvio e l'avvio di un thread in SQL Server.
Error: 26014, Severity: 16, State: 1. Unable to load user-specified certificate [Cert Hash(sha1) "%hs"]. The server will not accept a connection. You should verify that the certificate is correctly installed. See "Configuring Certificate for Use by SSL" in Books Online. Error: 17182, Severity: 16, State: 1. TDSSNIClient initialization failed with error 0x80092004, status code 0x80. Reason: Unable to initialize SSL support. Cannot find object or property. Error: 17826, Severity: 18, State: 3. Could not start the network library because of an internal error in the network library. To determine the cause, review the errors immediately preceding this one in the error log. Error: 17120, Severity: 16, State: 1. SQL Server could not spawn FRunCommunicationsManager thread. Check the SQL Server error log and the Windows event logs for information about possible related problems.
Per altre informazioni, vedere Il servizio SQL Server non può essere avviato dopo la configurazione di un'istanza per l'uso di un certificato Secure Sockets Layer
Usare Gestione configurazione SQL Server per verificare che i protocolli di rete siano stati configurati correttamente. Per altre informazioni, vedere Abilitare o disabilitare un protocollo di rete del server
Usare Gestione configurazione SQL Server 2019 o versione successiva per gestire i certificati e convalidarli. Per altre informazioni, vedere Gestione certificati (Gestione configurazione SQL Server)