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
Questo articolo fornisce informazioni sui problemi seguenti:
- Passaggi di base per la risoluzione dei problemi
- Eseguire il ripristino da un errore del cluster di failover
- Risolvere i problemi di clustering di failover più comuni
- Usare stored procedure estese e oggetti COM
Procedura di base per la risoluzione dei problemi
Il primo passaggio diagnostico consiste nell'eseguire un nuovo controllo di convalida del cluster. Per informazioni dettagliate sulla convalida, vedere Creare un cluster di failover: convalidare la configurazione. Questa operazione può essere completata senza interruzioni del servizio perché non influisce sulle risorse del cluster online.
La convalida può essere eseguita in qualsiasi momento dopo aver installato la funzionalità Clustering di failover, ovvero prima della distribuzione del cluster, durante la sua creazione e mentre il cluster è in esecuzione. In effetti, vengono eseguiti test aggiuntivi quando il cluster è in uso, che controlla che vengano seguite le procedure consigliate per carichi di lavoro a disponibilità elevata. In queste decine di test, solo alcuni di essi influiscono sui carichi di lavoro del cluster in esecuzione e questi sono tutti all'interno della categoria di archiviazione, quindi ignorare questa intera categoria è un modo semplice per evitare test di interruzione.
Il clustering di failover include una protezione integrata per prevenire i tempi di inattività accidentali quando si eseguono i test di archiviazione nel corso della convalida. Se il cluster dispone di gruppi online all'avvio della convalida e i test di archiviazione rimangono selezionati, chiede all'utente di confermare se vogliono eseguire tutti i test (e causare tempi di inattività) o di ignorare i test dei dischi di tutti i gruppi online per evitare tempi di inattività. Se l'intera categoria di archiviazione è stata esclusa dal test, questa richiesta non viene visualizzata. Ciò consente la convalida del cluster senza tempi di inattività.
Come riconvalidare il cluster
Nello snap-in Gestione del Cluster di Failover, nell'albero della console, verificare che Gestione cluster di failover sia selezionato e quindi, in Gestione, selezionare Convalida una configurazione.
Seguire le istruzioni della procedura guidata per specificare i server e i test ed eseguire i test. Successivamente all'esecuzione dei test viene visualizzata la pagina Riepilogo.
Nella pagina Riepilogo selezionare Visualizza report per visualizzare i risultati del test.
Per visualizzare i risultati dei test dopo aver chiuso la procedura guidata, vedere
%SystemRoot%\Cluster\Reports\Validation Report date and time.htmldove%SystemRoot%è la cartella in cui è installato il sistema operativo (ad esempio,C:\Windows).Per visualizzare gli articoli della Guida che consentono di interpretare i risultati, selezionare Altre informazioni sui test di convalida del cluster.
Per visualizzare gli articoli della Guida sulla convalida del cluster dopo aver chiuso la procedura guidata, nello snap-in Cluster di failover selezionare Guida, selezionare Argomenti della Guida, selezionare la scheda Contenuto, espandere il contenuto della Guida del cluster di failover e selezionare Convalida di una configurazione del cluster di failover. Al termine della procedura guidata di convalida, i risultati verranno visualizzati nel Report di riepilogo . Tutti i test devono essere superati con un segno di spunta verde o, in alcuni casi, un triangolo giallo di avviso. Quando si cercano aree problematiche (X rosse o punti interrogativi gialli), nella parte del report che riepiloga i risultati del test, selezionare un singolo test per esaminare i dettagli. Eventuali problemi di X rossa devono essere risolti prima di risolvere i problemi di SQL Server.
Installare gli aggiornamenti
L'installazione degli aggiornamenti è importante per prevenire i problemi del sistema. Collegamenti utili:
- Hotfix e aggiornamenti consigliati per i cluster di failover di Windows Server 2012 R2
- Hotfix e aggiornamenti consigliati per i cluster di failover di Windows Server 2012
- Hotfix e aggiornamenti consigliati per i cluster di failover di Windows Server 2008 R2
- Hotfix e aggiornamenti consigliati per i cluster di failover di Windows Server 2008
Ripristino da un errore del cluster di failover
Di solito, l'errore del cluster di failover è dovuto a una di due cause:
Errore hardware in uno dei nodi di un cluster a due nodi. L'errore hardware può essere causato dal danneggiamento della scheda SCSI o da un errore del sistema operativo.
Per eseguire il recupero in presenza di questo errore, utilizzare il programma di installazione di SQL Server per rimuovere il nodo bloccato dal cluster di failover, risolvere il problema hardware con il computer offline, ripristinare il computer, quindi aggiungere nuovamente il nodo riparato all'istanza del cluster di failover.
Per ulteriori informazioni, consultare Creare una nuova istanza del cluster di failover Always On (Setup) e Ripristinare da un errore dell'istanza del cluster di failover.
Errore del sistema operativo. In questo caso, il nodo è offline, ma non è irreversibilmente interrotto.
Per eseguire il ripristino a seguito di un errore del sistema operativo, ripristinare il nodo e testare il failover. Se l'istanza di SQL Server non esegue correttamente il failover, è necessario usare il programma di installazione di SQL Server per rimuovere SQL Server dal cluster di failover, eseguire le riparazioni necessarie, ripristinare il computer e quindi aggiungere di nuovo il nodo ripristinato all'istanza del cluster di failover.
L'utilizzo di questa procedura per eseguire il recupero in presenza di un errore del sistema operativo può richiedere tempo. Se è possibile ripristinare facilmente un errore del sistema operativo, evitare di utilizzare questa tecnica.
Per ulteriori informazioni, consultare Creare una nuova istanza del cluster di failover Always On (Setup) e Ripristinare da un errore dell'istanza del cluster di failover.
Risolvere i problemi comuni
Di seguito vengono elencati alcuni problemi comuni relativi all'utilizzo e le rispettive modalità di risoluzione.
Problema: uso non corretto della sintassi del prompt dei comandi per installare SQL Server
Problema 1: È difficile diagnosticare i problemi di installazione quando si usa l'opzione /qn dal prompt dei comandi, perché l'opzione /qn elimina tutte le finestre di dialogo di installazione e i messaggi di errore. Se si specifica l'opzione /qn , tutti i messaggi di installazione, inclusi i messaggi di errore, vengono scritti nei file di log del programma di installazione. Per altre informazioni sui file di log, vedere Visualizzare e leggere i file di log del programma di installazione di SQL Server.
Risoluzione 1: usare l'opzione /qb anziché l'opzione /qn . Se si usa l'opzione /qb , verrà visualizzata l'interfaccia utente di base in ogni passaggio, inclusi i messaggi di errore.
Problema: SQL Server non riesce a connettersi alla rete dopo la migrazione a un altro nodo
Problema 1: gli account del servizio SQL Server non riescono a contattare un controller di dominio.
Risoluzione 1: controllare la presenza di problemi di rete, quali errori della scheda o problemi DNS, nei log eventi. Verificare che sia possibile effettuare il ping del controller di dominio.
Problema 2: Le password dell'account del servizio SQL Server non sono identiche in tutti i nodi del cluster o il nodo non riavvia un servizio SQL Server migrato da un nodo non riuscito.
Risoluzione 2: modificare le password dell'account del servizio SQL Server tramite Gestione configurazione SQL Server. Se non lo fai, e cambi le password dell'account servizio SQL Server su un nodo, devi cambiare le password su tutti gli altri nodi. Gestione configurazione SQL Server effettua automaticamente questa operazione.
Problema: SQL Server non può accedere ai dischi del cluster
Problema 1: Il firmware o i driver non vengono aggiornati in tutti i nodi.
Risoluzione 1: verificare che in tutti i nodi vengano utilizzate le versioni corrette del firmware e le stesse versioni del driver.
Problema 2: Un nodo non può ripristinare i dischi del cluster migrati da un nodo non riuscito in un disco del cluster condiviso con una lettera di unità diversa.
Risoluzione 2: le lettere di unità disco dei dischi del cluster devono essere identiche su entrambi i server. In caso contrario, esaminare l'installazione originale del sistema operativo e del servizio Microsoft Cluster (MSCS).
Problema: un servizio SQL Server in errore determina il failover
Risoluzione: per impedire che un errore in servizi specifici determini il failover del gruppo SQL Server, configurare i servizi tramite Amministrazione cluster in Windows, come descritto di seguito:
- Deselezionare la casella di controllo Interessare il gruppo nella scheda Avanzate della finestra di dialogo Proprietà del testo completo. Se tuttavia SQL Server causa un failover, il servizio Ricerca full-text verrà riavviato.
Problema: SQL Server non viene avviato automaticamente
Risoluzione: utilizzare Cluster Administrator di MSCS per avviare automaticamente un cluster di failover. Il servizio SQL Server deve essere impostato per l'avvio manuale; l'Amministratore cluster deve essere configurato in MSCS per avviare il servizio SQL Server. Per altre informazioni, vedere Gestione dei servizi.
Problema: il nome di rete è offline e non è possibile connettersi a SQL Server tramite TCP/IP
Problema 1: DNS non è disponibile e la risorsa del cluster è impostata in modo da richiedere DNS.
Risoluzione 1: Risolvere i problemi relativi a DNS.
Problema 2: nella rete è presente un nome duplicato.
Risoluzione 2: Usare nbtstat per trovare il nome duplicato e quindi correggere il problema.
Problema 3: SQL Server non si connette usando Named Pipes.
Risoluzione 3: Per connettersi tramite Named Pipe, creare un alias utilizzando Gestione configurazione SQL Server per connettersi al computer corretto. Se, ad esempio, si usa un cluster con due nodi (Nodo A e Nodo B) e un'istanza del cluster di failover (Virtsql) con un'istanza predefinita, è possibile seguire la procedura seguente per connettersi al server la cui risorsa Nome di rete è offline:
Utilizzare Amministrazione cluster per determinare il nodo in cui è esecuzione il gruppo che contiene l'istanza di SQL Server. Per questo esempio, si tratta del nodo A.
Avviare il servizio SQL Server nel computer tramite net start. Per altre informazioni sull'uso di net start, vedere Avvio manuale di SQL Server.
Avvia Gestione configurazione SQL Server di SQL Server su Nodo A. Visualizza il nome della pipe su cui il server è in ascolto. Dovrebbe essere simile a
\\.\$$\VIRTSQL\pipe\sql\query.Sul computer client, avviare Gestione configurazione SQL Server.
Creare un alias
SQLTEST1per connettersi tramite Named Pipes al nome della pipe. A tale scopo, immettere Node A come nome del server e modificare il nome della pipe in modo che sia\\.\pipe\$$\VIRTSQL\sql\query.Connettersi a questa istanza usando l'alias
SQLTEST1come nome del server.
Problema: impossibile installare SQL Server in un cluster con errore 11001
Problema: Chiave del Registro di sistema orfana in HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.X\Cluster.
Risoluzione: Assicurarsi che l'hive del MSSQL.X Registro di sistema non sia attualmente in uso e quindi eliminare la chiave del cluster.
Problema: errore durante la configurazione del cluster: "Il programma di installazione non dispone di privilegi sufficienti per accedere a questa directory: <drive>\Microsoft SQL Server. L'installazione non può continuare. come amministratore oppure contattare l'amministratore del sistema"
Questione: Questo errore è causato da un'unità condivisa SCSI non partizionata correttamente.
Risoluzione: Ricreare una singola partizione nel disco condiviso seguendo questa procedura:
- Eliminare la risorsa disco dal cluster.
- Eliminare tutte le partizioni presenti nel disco.
- Nelle proprietà del disco verificare che si tratta di un disco di base.
- Creare un'unica partizione nel disco condiviso, formattare il disco e assegnarvi una lettera di unità.
- Aggiungere il disco al cluster utilizzando Cluster Administrator (cluadmin).
- Eseguire l'installazione di SQL Server.
Problema: le applicazioni non sono in grado di integrare le risorse di SQL Server in una transazione distribuita
Questione: Poiché Microsoft Distributed Transaction Coordinator (MS DTC) non è completamente configurato in Windows, le applicazioni potrebbero non riuscire a integrare le risorse di SQL Server in una transazione distribuita. Questo problema può influire su server collegati, query distribuite e stored procedure remote che utilizzano transazioni distribuite. Per ulteriori informazioni su come configurare MS DTC, vedere Before Installing Failover Clustering.
Risoluzione: per evitare tali problemi, è necessario abilitare completamente i servizi MS DTC nei server in cui è installato SQL Server e MS DTC è configurato.
Per abilitare completamente MS DTC, effettuare le operazioni seguenti:
Nel Pannello di controllo aprire Strumenti di amministrazionee quindi Gestione computer.
Nel riquadro sinistro di Gestione computer espandere Servizi e applicazioni e quindi selezionare Servizi.
Nel riquadro destro di Gestione computer fare clic con il pulsante destro del mouse su Distributed Transaction Coordinatore quindi scegliere Proprietà.
Nella finestra Distributed Transaction Coordinator selezionare la scheda Generale e quindi selezionare Arresta per arrestare il servizio.
Nella finestra Distributed Transaction Coordinator selezionare la scheda Accesso e impostare l'account
NT AUTHORITY\NetworkServicedi accesso .Selezionare Applica e OK per chiudere la finestra Distributed Transaction Coordinator . Chiudere la finestra Gestione computer . Chiudere la finestra Strumenti di amministrazione .
Problema: SQL Server Agent non riesce a connettersi a un'istanza di cluster di failover multi-subnet su una porta personalizzata
Problema: SQL Server Agent non riesce a connettersi al motore di database locale quando sono verificate tutte le seguenti condizioni:
- SQL Server è installato come istanza del cluster di failover multisubnet.
- L'istanza del cluster di failover è un'istanza predefinita.
- Il motore di database ascolta su una porta TCP fissa diversa dalla predefinita 1433.
- SQL Server Agent si collega all'istanza locale durante l'avvio.
Per un'istanza di cluster di failover multi-subnet, la connessione iniziale SQL Server Agent utilizza MultiSubnetFailover=Yes. Questa impostazione fa sì che il client utilizzi TCP. La connessione non torna alla memoria condivisa o ai canali nominati. Quando il target è (local) e nessuna porta è specificata, la connessione tenta la porta TCP 1433. La connessione non riesce se il motore di database non è in ascolto su quella porta.
Potresti vedere una connessione simile alla seguente in una traccia ODBC:
DRIVER=ODBC Driver 17 for SQL Server;SERVER=(local);APP=SQLAgent - Initial Boot Probe;DATABASE=master;MultiSubnetFailover=YES;
Risoluzione: Creare un alias TCP che indirizzi la connessione SQL Server Agent al nome della rete virtuale e configurare la porta TCP dell'istanza del cluster di failover. Configura l'alias su ogni nodo che può ospitare l'istanza del cluster di failover.
Passo 1: Conferma la porta TCP configurata
- Sul nodo attivo, apri Gestione configurazione SQL Server.
- Espandi la configurazione di rete di SQL Server, poi seleziona Protocolli per MSSQLSERVER.
- Apri TCP/IP e poi seleziona la scheda Indirizzi IP .
- Se Listen All è impostato su Sì, nota il valore della porta TCP sotto IPAll.
- Se Listen All è impostato su No, si noti il valore della porta TCP per ogni indirizzo IP abilitato usato dall'istanza del cluster di failover.
- Conferma che il registro errori di SQL Server indichi che il Motore di database è in ascolto sulla porta prevista.
Per altre informazioni, vedere Configurare SQL Server per l'ascolto su una porta TCP specifica.
Passo 2: Crea l'alias TCP su ogni nodo del cluster
Completa questi passaggi su ogni nodo che può ospitare l'istanza del cluster di failover:
- Apri lo strumento di configurazione degli alias client SQL Server che si applica alla versione installata di SQL Server.
- Crea un nuovo alias.
- In Alias Name, inserisci un nome univoco per la connessione locale SQL Server Agent. Usa lo stesso nome alias su ogni nodo.
- Seleziona TCP/IP come protocollo.
- In Server, inserisci il nome della rete virtuale dell'istanza del cluster di failover. Non inserire il nome fisico del nodo.
- In N. porta, inserisci la porta TCP fissa identificata al passaggio 1.
- Salva l'alias.
Per istruzioni dettagliate e requisiti di versione, vedi Crea o elimina un alias server da utilizzare da parte di un client.
Importante
Un alias SQL Server è una configurazione client. Crea un alias identico su ogni nodo che può ospitare l'istanza del cluster di failover. Altrimenti, SQL Server Agent potrebbe non funzionare dopo che l'istanza viene spostata su un nodo in cui l'alias non è configurato.
Passo 3: Configura SQL Server Agent per usare l'alias
- In SQL Server Management Studio, connettiti all'istanza del cluster di failover.
- In Esplora oggetti, espandi l'istanza.
- Clicca con il tasto destro su SQL Server Agent, poi seleziona Proprietà.
- Sotto Seleziona una pagina, seleziona Connessione.
- Nel server host locale Alias, inserisci il nome dell'alias creato nel passo 2.
- Seleziona OK.
- Riavviare SQL Server Agent.
Per ulteriori informazioni, vedi Imposta un alias SQL Server per il servizio SQL Server Agent.
Passo 4: Valida la configurazione
- Conferma che SQL Server Agent si avvii correttamente.
- Rivedi il log di SQL Server Agent e conferma che l'Agent sia collegato all'istanza locale di motore di database prevista.
- Esegui un semplice processo di SQL Server Agent per confermare che i processi possano connettersi all'istanza.
- In un momento in cui non interromperebbe le normali attività aziendali, sposta l'istanza del cluster di failover su un altro possibile nodo proprietario.
- Conferma che SQL Server Agent si avvia e che il test ha successo su quel nodo.
- Ripeti il test per ogni possibile nodo proprietario.
Uso di stored procedure estese e oggetti COM
Quando si utilizzano stored procedure estese con una configurazione di clustering di failover, tutte le stored procedure estese devono essere installate in un disco del cluster da cui dipende SQL Server. In tal modo, quando un nodo va in failover, sarà comunque possibile utilizzare le procedure memorizzate estese.
Se le stored procedure estese utilizzano componenti COM, l'amministratore dovrà registrare i componenti COM in ogni nodo del cluster. Per consentire la creazione dei componenti COM, le informazioni per il caricamento e l'esecuzione dei componenti stessi devono trovarsi nel Registro di sistema del nodo attivo. In caso contrario, le informazioni resteranno nel Registro di sistema del computer in cui i componenti COM sono stati registrati per la prima volta.