Select the product you need help with
Risoluzione dei problemi di connessione in SQL Server 2000Identificativo articolo: 827422 - Visualizza i prodotti a cui si riferisce l?articolo. In questa paginaSommarioIn questo articolo vengono descritti i più comuni problemi
di connessione relativi a Microsoft SQL Server 2000 e le azioni da
intraprendere per risolverli. In SQL Server 2000 sono supportati vari metodi di
comunicazione tra l'istanza di SQL Server e le applicazioni client. Se
l'applicazione client in uso e l'istanza di SQL Server si trovano sullo stesso
computer, per le comunicazioni vengono utilizzati i componenti IPC
(Interprocess Communication, Comunicazione interprocesso) di Microsoft Windows,
ad esempio le named pipe locali o il protocollo Shared Memory. Tuttavia, quando
l'applicazione client e l'istanza di SQL Server si trovano su computer diversi,
per comunicare viene utilizzato un componente IPC di rete, ad esempio il
protocollo TCP/IP o le named pipe. In SQL Server 2000 viene utilizzata la libreria di rete, ossia un file DLL, per comunicare con un particolare protocollo di rete. Sul computer client e sul computer server devono essere attive due librerie di rete corrispondenti affinché sia supportato il protocollo di rete che si desidera utilizzare. Se ad esempio si desidera abilitare un'applicazione client alla comunicazione con un'istanza specifica di SQL Server tramite il protocollo TCP/IP, è necessario che sul computer client sia configurata la libreria di rete per i socket TCP/IP (Dbnetlib.dll) affinché possa realizzarsi la comunicazione con il server. Analogamente, la versione server della libreria di rete per socket TCP/IP (Ssnetlib.dll) deve essere in attesa sul computer server. In questo caso, lo stack del protocollo TCP/IP deve essere installato sia sul computer client sia sul computer server. Dopo aver installato SQL Server 2000, è possibile configurare le proprietà delle librerie di rete client utilizzando Configurazione di rete client. È possibile configurare le proprietà delle librerie di rete server mediante Configurazione di rete di SQL Server (Svrnetcn.exe). Le librerie di rete server vengono installate durante l'installazione degli strumenti server in Installazione di SQL Server. Tuttavia alcune delle librerie di rete server potrebbero non essere attive. In base all'impostazione predefinita, in SQL Server 2000 vengono abilitati e utilizzati il protocollo TCP/IP, le named pipe e il protocollo Shared Memory. Pertanto, affinché possa collegarsi a un computer server, un client deve connettersi mediante una libreria di rete client che corrisponda a una delle librerie di rete server attualmente utilizzate dall'istanza di SQL Server. Per ulteriori informazioni sui componenti di comunicazione e sulle librerie di rete di SQL Server, vedere gli argomenti seguenti nella documentazione in linea di SQL Server:
Risoluzione dei problemi di connessioneLa maggior parte dei problemi di connessione osservabili in SQL Server 2000 si verifica a causa di problemi con il protocollo TCP/IP, con l'autenticazione di Windows o con una combinazione dei due elementi.Importante Prima di iniziare a risolvere i problemi di connessione in SQL Server 2000, assicurarsi che sul computer che esegue SQL Server sia stato avviato il servizio MSSQLServer. Verifica delle impostazioni DNSPer risolvere l'indirizzo IP nel nome dell'istanza di SQL server viene utilizzato il processo di risoluzione dei nomi del sistema DNS (Domain Name System). Se il processo di risoluzione dei nomi non funziona, l'istanza di SQL Server non è raggiungibile e possono essere visualizzati uno o più messaggi di errore analoghi ai seguenti:Server SQL inesistente o
accesso negato Errore di rete
generico Impossibile generare il contesto
SSPI
223413
(http://support.microsoft.com/kb/223413/
)
Opzioni per Ipconfig.exe in Windows 2000
Per risolvere temporaneamente questo problema, aggiungere una voce relativa al server nel file %systemroot%\system32\drivers\etc\hosts presente sul computer client. Il problema può inoltre essere ovviato collegandosi al server mediante la libreria di rete delle named pipe. Verifica dei protocolli e degli alias abilitatiPossono verificarsi problemi di connettività se l'alias sul computer client è impostato in modo errato. È possibile visualizzare gli alias mediante Configurazione di rete client. Per effettuare questa operazione, attenersi alla seguente procedura:
Nota Nelle versioni precedenti di Microsoft Data Access Components (MDAC) è presente un'interfaccia utente diversa per Configurazione di rete client. Se pertanto non si riesce a visualizzare le opzioni indicate nel presente articolo, installare una versione più recente di MDAC sul computer che esegue l'applicazione client. Verifica che l'istanza di SQL Server sia correttamente in attesaPer verificare che l'istanza di SQL Server sia in attesa sulle named pipe, sul protocollo TCP/IP o su un altro protocollo utilizzato con l'applicazione client, aprire il file di registro degli errori corrente di SQL Server. Questo file può contenere voci simili alle seguenti:2003-11-06 09:49:36.17 server Computer SQL Server in attesa su TCP, Shared Memory, Named Pipes. 2003-11-06 09:49:36.17 server Computer SQL Server in attesa su 192.168.1.5:1433, 127.0.0.1:1433. Analizzando le voci presenti nel file di registro degli errori di SQL Server è possibile verificare se l'istanza di SQL Server è in attesa sull'indirizzo IP corretto e sulla porta giusta. In base all'impostazione predefinita, un'istanza predefinita di SQL Server è in attesa sulla porta 1433. È anche possibile utilizzare Configurazione di rete di SQL Server per controllare le impostazioni di protocollo e modificare le proprietà in SQL Server, inclusi i protocolli in grado di connettersi a SQL Server e le porte che è possibile utilizzare. Per ulteriori informazioni sull'utilizzo di Configurazione di rete di SQL Server, vedere l'argomento relativo a questo argomento nella documentazione in linea di SQL Server. Può avvenire talvolta che in SQL Server 2000 non sia possibile effettuare il collegamento alla porta 1433 o a un'altra porta specificata. Questo problema può verificarsi se la porta è utilizzata da un'altra applicazione o se si sta tentando di connettersi con un indirizzo IP non corretto. Pertanto, le connessioni TCP/IP a SQL Server potrebbero non avere esito positivo, con la conseguente visualizzazione di un messaggio di errore analogo al seguente nel file di registro degli errori di SQL Server: 2001-11-14
15:49:14.12 server Informazioni SuperSocket: binding non riuscito sulla porta
TCP 1433. 307197
(http://support.microsoft.com/kb/307197/
)
PRB: Porta TCP\IP utilizzata da un'altra applicazione
Se non si riesce a connettersi all'istanza di SQL Server mediante una connessione TCP/IP, provare a utilizzare il protocollo Named Pipes o il protocollo Shared Memory. Eseguire il comando indicato al prompt dei comandi per ottenere informazioni sulle porte in uso: Per ulteriori informazioni sull'utilità della riga di comando Portqry, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito: 310099 Per ulteriori
informazioni su un possibile bug correlato ai socket TCP/IP, fare clic sul
numero dell'articolo della Microsoft Knowledge Base riportato di seguito (il
contenuto potrebbe essere in inglese):
(http://support.microsoft.com/kb/310099/
)
Descrizione dell'utilità della riga di comando Portqry.exe
306865
(http://support.microsoft.com/kb/306865/
)
BUG: Potrebbe verificarsi una mancata attesa sui socket TCP/IP in SQL Server quando TCP/IP è il solo protocollo
Nota Nelle istanze denominate di SQL Server la porta viene determinata dinamicamente e l'attesa ha luogo su tale porta. Pertanto, quando si avvia un'istanza denominata di SQL Server, viene eseguito un tentativo di attesa sulla porta precedentemente in uso. Se in SQL Server non è possibile effettuare una connessione a tale porta, può accadere che l'istanza denominata venga connessa dinamicamente a un'altra porta. In questa situazione è necessario accertarsi che anche l'applicazione client sia impostata in modo da determinare dinamicamente la porta. In alternativa, mediante Configurazione di rete client è possibile specificare una porta statica a cui l'istanza denominata deve collegarsi e sulla quale deve mettersi in attesa. Per ulteriori informazioni, fare clic sui numeri degli articoli della Microsoft Knowledge Base riportati di seguito (il contenuto potrebbe essere in inglese): 286303
(http://support.microsoft.com/kb/286303/
)
INF: Funzionamento della libreria di rete di SQL Server 2000 durante il rilevamento dinamico delle porte
823938
(http://support.microsoft.com/kb/823938/
)
Utilizzo dell'allocazione statica e dinamica delle porte in SQL Server 2000
Risoluzione dei problemi di MDACI problemi di connessione possono verificarsi anche a causa di problemi con MDAC. Ad esempio, l'installazione di un programma software può sovrascrivere alcuni dei file di MDAC o modificare le autorizzazioni necessarie per accedere a tali file. È possibile eseguire lo strumento di verifica dei componenti di MDAC per controllare l'installazione di MDAC sul computer in uso.Per ulteriori informazioni su come determinare la versione di MDAC, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito: 301202
(http://support.microsoft.com/kb/301202/
)
Verifica della versione MDAC
Nota Se ci si connette a un'istanza denominata di SQL Server, assicurarsi di eseguire sul computer MDAC 2.6 o versione successiva. Le versioni precedenti di MDAC non sono in grado di riconoscere le istanze denominate di SQL Server. Pertanto, le connessioni a istanze denominate potrebbero non avere esito positivo. È possibile utilizzare l'utilità Odbcping.exe per verificare le connessioni effettuate tramite il driver ODBC di SQL Server. Per ulteriori informazioni su Odbcping.exe, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito: 138541 Per ulteriori informazioni sulla
configurazione dei DNS ODBC, fare clic sul numero dell'articolo della Microsoft
Knowledge Base riportato di seguito (il contenuto potrebbe essere in inglese):
(http://support.microsoft.com/kb/138541/
)
INF: ODBCPING.EXE per la verifica della connettività ODBC a SQL Server
289573
(http://support.microsoft.com/kb/289573/
)
PRB: Configurazione di DSN con librerie di rete di SQL Server
È inoltre possibile verificare la connettività all'istanza di SQL Server mediante un file udl. Per ulteriori informazioni sulla creazione di un file udl, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito (il contenuto potrebbe essere in inglese): 244659
(http://support.microsoft.com/kb/244659/
)
SAMPLE: Creazione di un file Microsoft Data Link con Windows 2000
Risoluzione dei problemi del firewallSe tra il computer client e il computer che esegue SQL Server è presente un firewall, assicurarsi che le porte necessarie per comunicare attraverso il firewall siano aperte.Per ulteriori informazioni sulle porte che dovrebbero essere aperte per comunicare tramite un firewall, fare clic sui numeri degli articoli della Microsoft Knowledge Base riportati di seguito (il contenuto potrebbe essere in inglese): 287932
(http://support.microsoft.com/kb/287932/
)
INF: Per la comunicazione con un server SQL attraverso firewall sono necessarie porte TCP
269882
(http://support.microsoft.com/kb/269882/
)
Utilizzo di ADO per connettersi a SQL Server protetto da un firewall
Se per collegarsi all'istanza di SQL Server si utilizza il protocollo TCP/IP, è necessario impiegare il programma Telnet per connettersi alla porta su cui SQL Server è in attesa. Per utilizzare il programma Telnet, eseguire il comando indicato al prompt dei comandi: Nota Per i problemi causati dal virus Slammer, la porta 1434 UDP (User Datagram Protocol) del firewall potrebbe essere bloccata. Risoluzione dei problemi di autenticazione e protezioneGli errori di autenticazione possono rendere inefficaci le connessioni a SQL Server. Se l'autenticazione non riesce, è possibile che venga visualizzato un messaggio di errore analogo ai seguenti:Impossibile eseguire l'accesso per l'utente
'<nomeutente>' Impossibile eseguire l'accesso per l'utente 'NTAUTHORITY\ANONYMOUS
LOGON' Impossibile eseguire l'accesso per
l'utente 'null'. Impossibile
generare il contesto SSPI
811889 Se la connessione con l'autenticazione di SQL Server
non riesce, viene visualizzato un messaggio di errore analogo al
seguente:
(http://support.microsoft.com/kb/811889/
)
HOW TO: Risolvere il messaggio di errore "Impossibile generare il contesto SSPI"
Impossibile eseguire l'accesso per l'utente
'<nomeutente>'. Associazione mancante a una
connessione trusted. Per risolvere il problema, attenersi alla procedura descritta di seguito. Avviso L'errato utilizzo dell'editor del Registro di sistema può causare gravi problemi che potrebbero richiedere la reinstallazione del sistema operativo. Microsoft non è in grado di garantire la risoluzione di problemi causati dall'errato utilizzo dell'editor del Registro di sistema. L'utilizzo dell'editor del Registro di sistema è a rischio e pericolo dell'utente.
316898
(http://support.microsoft.com/kb/316898/
)
HOW TO: Attivazione della crittografia SSL per SQL Server 2000 con Microsoft Management Console
322144
(http://support.microsoft.com/kb/322144/
)
FIX: SECDoClientHandShake non è in grado di connettersi a SQL Server
Risoluzione dei problemi di sollecitazione dei socket TCP/IPQuando si utilizza il driver ODBC di SQL Server, il provider OLE DB di Microsoft per SQL Server o il provider gestito System.Data.SqlClient, è possibile disattivare il pool di connessioni utilizzando le API appropriate. Quando si disattiva il pool di connessioni e l'applicazione apre e chiude spesso le connessioni, la sollecitazione sulla sottostante libreria di rete SQL Server può aumentare. Talvolta anche i server Web e i driver JDBC possono tentare di collegarsi all'istanza di SQL Server. Pertanto, le richieste di connessione a SQL Server potrebbero superare il numero di connessioni che SQL Server è in grado di gestire. Ciò può creare sollecitazione dei socket TCP/IP e portare alla visualizzazione del seguente messaggio di errore nel file di registro degli errori di SQL Server:2003-08-07
20:46:21.11 server Errore: 17832, Gravità: 20, Stato: 6 2003-08-07 20:46:21.11 server La connessione è stata aperta ma sono stati inviati pacchetti di accesso non validi. Connessione chiusa. Per ulteriori informazioni, fare clic sui numeri degli articoli della Microsoft Knowledge Base riportati di seguito (il contenuto potrebbe essere in inglese): 154628
(http://support.microsoft.com/kb/154628/
)
INF: Registrazione del codice 17832 con più richieste di connessione TCP\IP
328476
(http://support.microsoft.com/kb/328476/
)
Impostazioni TCP/IP per i driver di SQL Server con pool disattivato
Nota Può accadere di non osservare alcuna sollecitazione dei socket TCP/IP se si esegue SQL Server 2000 SP3 o SQL Server 2000 SP3a, in quanto vi è stato aggiunto un limite nel numero di pacchetti di accesso. L'errore 17832 si verifica quando si utilizzano i driver di terze parti per collegarsi all'istanza di SQL Server. Per risolvere questo problema, rivolgersi al fornitore di terze parti per ottenere driver verificati in relazione al funzionamento con SQL Server 2000 SP3 e SQL Server 2000 SP3a. Verifica che l'istanza di SQL Server sia stata avviata in modalità utente singoloSe l'istanza di SQL Server a cui si tenta di connettersi è stata avviata in modalità utente singolo, è possibile stabilire solo una connessione con SQL Server. Se sul computer è in esecuzione un programma software che si collega automaticamente a SQL Server, è facile che tale software utilizzi questa unica connessione. Ad esempio, i programmi software riportati di seguito sono in grado di connettersi automaticamente all'istanza di SQL Server:
Server SQL inesistente o accesso negato Per stabilire se l'istanza di SQL Server è stata avviata in modalità utente singolo, controllare se nel file di registro degli errori di SQL Server è presente una voce simile alla seguente: 2003-07-31 11:26:43.79 spid3 Avviso
****************** 2003-07-31 11:26:43.80 spid3 SQL Server è stato avviato in modalità utente singolo. Sono consentiti aggiornamenti dei cataloghi di sistema. Verifica della connessione con le named pipe a SQL ServerSe non si è in grado di connettersi all'istanza di SQL Server mediante le named pipe, assicurarsi che l'istanza di SQL Server sia configurata in modo che accetti le connessioni con le named pipe. Per ulteriori informazioni sulla procedura di verifica delle named pipe, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito (il contenuto potrebbe essere in inglese):68941
(http://support.microsoft.com/kb/68941/
)
INF: Procedura di verifica delle named pipe
Risoluzione dei problemi delle connessioni che scadono durante il processo di recuperoOgni volta che si avvia un'istanza di SQL Server, viene recuperato ogni database. Durante questo processo di recupero, in SQL Server viene eseguito il roll back delle transazioni non salvate. Viene inoltre eseguito il roll forward delle transazioni salvate e delle modifiche non scritte sul disco rigido al momento dell'arresto dell'istanza di SQL Server. Quando il processo di recupero è terminato, viene registrato il seguente messaggio nel file di registro degli errori di SQL Server: Può avvenire che durante il processo di recupero non vengano accettate le connessioni da parte di SQL Server. Sui client che tentano di connettersi all'istanza di SQL Server in quel lasso di tempo può essere visualizzato un messaggio di errore analogo al seguente:Timeout Verifica di modi diversi di connettersi all'istanza di SQL ServerSe si verificano problemi di connessione quando ci si connette all'istanza di SQL Server, è possibile utilizzare uno o più dei metodi seguenti per risolvere temporaneamente il problema in questione.
Acquisizione delle tracce di Network MonitorSe il problema di connessione non viene risolto mediante la procedura menzionata nella sezione "Verifica di modi diversi di collegarsi all'istanza di SQL Server", utilizzare l'utilità Network Monitor per acquisire le tracce di rete. Per ulteriori informazioni sulla tracce di rete, fare clic sui numeri degli articoli della Microsoft Knowledge Base riportati di seguito (il contenuto potrebbe essere in inglese):148942
(http://support.microsoft.com/kb/148942/
)
Acquisizione del traffico di rete con Network Monitor
294818
(http://support.microsoft.com/kb/294818/
)
Domande frequenti su Network Monitor
169292
(http://support.microsoft.com/kb/169292/
)
Nozioni fondamentali sulla lettura delle tracce TCP/IP
102908
(http://support.microsoft.com/kb/102908/
)
Risoluzione dei problemi di connettività TCP/IP in Windows NT
Per ottenere informazioni più dettagliate, può essere necessario utilizzare le tracce di SQL Profiler. È anche possibile utilizzare lo strumento Diagnostica di rete per i computer non raggruppati in cluster che eseguono SQL Server per le tracce di rete. Per ulteriori informazioni sull'utilizzo dello strumento Diagnostica di rete, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito (il contenuto potrebbe essere in inglese): 321708
(http://support.microsoft.com/kb/321708/
)
Utilizzo dello strumento Diagnostica di rete (Netdiag.exe) in Windows 2000
Riferimenti Per ulteriori
informazioni sui vari problemi di connessione correlati a SQL Server, fare clic
sui numeri degli articoli della Microsoft Knowledge Base riportati di seguito
(il contenuto potrebbe essere in inglese): 812817
(http://support.microsoft.com/kb/812817/
)
WebCast: Microsoft SQL Server 2000: Risoluzione dei problemi di connettività
319930
(http://support.microsoft.com/kb/319930/
)
Effettuare la connessione a MSDE (Microsoft Desktop Engine)
257434
(http://support.microsoft.com/kb/257434/
)
INF: Libreria di rete in DNS esistente sostituita da una libreria di rete in nuovo DNS con lo stesso nome SQL Server
306985
(http://support.microsoft.com/kb/306985/
)
Errori RPC nella connessione a un server virtuale cluster con named pipe
313062
(http://support.microsoft.com/kb/313062/
)
HOW TO: Connettersi a un database mediante pagine ASP in Windows 2000
313295
(http://support.microsoft.com/kb/313295/
)
HOW TO: Utilizzare il parametro del nome del server in una stringa di connessione per specificare la libreria di rete client
320728
(http://support.microsoft.com/kb/320728/
)
HOW TO: Risolvere il messaggio di errore che segnala il raggiungimento del numero massimo di connessioni
328306
(http://support.microsoft.com/kb/328306/
)
Potenziali cause del messaggio di errore "Server SQL inesistente o accesso negato"
247931
(http://support.microsoft.com/kb/247931/
)
Metodi di autenticazione per le connessioni a SQL Server nelle pagine ASP
169377
(http://support.microsoft.com/kb/169377/
)
Accesso a SQL Server nelle pagine ASP
328383
(http://support.microsoft.com/kb/328383/
)
INF: È possibile che sui client di SQL Server vengano modificati i protocolli durante il tentativo di connessione
238949
(http://support.microsoft.com/kb/238949/
)
HOWTO: Impostare la libreria di rete di SQL Server in una stringa di connessione ADO
270126
(http://support.microsoft.com/kb/270126/
)
PRB: Gestione della connettività client con entrambi i server virtuali SQL Server 2000 dopo l'aggiornamento al cluster in modalità attiva/attiva 7.0
316779
(http://support.microsoft.com/kb/316779/
)
PRB: Impossibile connettersi con un indirizzo IP in client su cui è impostata l'opzione Imponi crittografia protocolli
216643
(http://support.microsoft.com/kb/216643/
)
INF: Opzioni di connessione ODBC/OLEDB non visualizzate quando si tiene traccia delle connessioni a SQL Server 7.0
265808
(http://support.microsoft.com/kb/265808/
)
INF: Connessione a un'istanza specifica di SQL Server 2000 con gli strumenti client della versione precedente
191572
(http://support.microsoft.com/kb/191572/
)
INFO: Gestione del pool di connessioni mediante oggetti ADO chiamati dalle pagine ASP
313173
(http://support.microsoft.com/kb/313173/
)
Gestore di esempio del pool di connessioni utilizzabile con il driver Microsoft SQL Server 2000 per JDBC
237844
(http://support.microsoft.com/kb/237844/
)
HOWTO: Attivazione del pool di connessioni ODBC in un'applicazione Visual Basic ADO
259569
(http://support.microsoft.com/kb/259569/
)
PRB: L'installazione di un prodotto di terze parti danneggia le impostazioni del Registro di sistema per MDAC in Windows 2000
ProprietàIdentificativo articolo: 827422 - Ultima modifica: mercoledì 10 agosto 2005 - Revisione: 3.2
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO. | Traduzione articoli |


Torna all'inizio








