Risoluzione dei problemi relativi al clustering di failover

Data aggiornamento: 17 luglio 2006

In questo argomento sono riportate informazioni sui seguenti argomenti:

  • Procedura di base per la risoluzione dei problemi.
  • Recupero da un errore del clustering di failover.
  • Risoluzione dei problemi più comuni relativi al clustering di failover.
  • Utilizzo di stored procedure estese e di oggetti COM.

Procedura di base per la risoluzione dei problemi

Quando si utilizza il clustering di failover di SQL Server 2005, tenere presente che il cluster di server è costituito da un'istanza del cluster di failover eseguita in Microsoft Cluster Services (MSCS). L'istanza di SQL Server può essere ospitata da nodi basati su Microsoft MSCS che forniscono il cluster di server Microsoft.

Gli eventuali problemi esistenti sui nodi che ospitano il cluster di server possono manifestarsi in relazione all'istanza del cluster di failover. Per analizzare e risolvere questi problemi, attenersi nell'ordine ai passaggi della procedura di risoluzione dei problemi del cluster di failover SQL Server riportati di seguito:

  1. Componenti hardware: esaminare il registro eventi di sistema di Microsoft Windows.
  2. Sistema operativo: esaminare il registro eventi di sistema e il registro eventi applicazioni di Windows.
  3. Rete: esaminare i registri eventi di sistema e il registro eventi applicazioni di Windows. Confrontare l'attuale configurazione con quanto indicato nell'articolo della Knowledge Base Ha consigliato la configurazione privata di "heartbeat" su un server di cluster.
  4. Protezione: esaminare i registri eventi di protezione e il registro eventi applicazioni di Windows.
  5. MSCS: esaminare il registro di sistema di Windows, il registro eventi applicazioni e il registro cluster.
  6. SQL Server: eseguire la normale procedura di risoluzione dei problemi dopo aver verificato che i componenti hardware, il sistema operativo, la rete, il sistema di protezione e MSCS non presentano problemi.

Recupero da un errore del clustering di failover

Sono in genere due le cause di un errore del clustering di failover:

  • 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 non in linea, ripristinare il computer, quindi aggiungere nuovamente il nodo riparato all'istanza del cluster di failover.
    Per ulteriori informazioni, vedere Procedura: Creazione di un nuovo cluster di failover di SQL Server 2005 (Installazione) e Procedura: Recupero da un errore del cluster di failover. Scenario 1.
  • Errore del sistema operativo. In questo caso, il nodo non è in linea ma è irrimediabilmente danneggiato.
    Per eseguire il recupero in presenza di un errore del sistema operativo, recuperare il nodo e testare il cluster di failover. Se il failover dell'istanza di SQL Server non viene eseguito correttamente, è necessario utilizzare il programma di installazione di SQL Server per rimuovere SQL Server dal cluster di failover, apportare le necessarie correzioni, ripristinare il computer, quindi aggiungere nuovamente il nodo riparato 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 eseguire il recupero in modo più agevole, evitare di utilizzare questa tecnica.
    Per ulteriori informazioni, vedere Procedura: Creazione di un nuovo cluster di failover di SQL Server 2005 (Installazione) e Procedura: Recupero da un errore del cluster di failover. Scenario 2.

Considerare inoltre le modifiche seguenti al clustering di failover in SQL Server 2005:

Risoluzione di 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 2005

Problema 1: è difficile diagnosticare problemi di installazione quando si utilizza l'opzione /qn dal prompt dei comandi, in quanto essa elimina tutte le finestre di dialogo dell'interfaccia utente e i messaggi di errore del programma di installazione. Se l'opzione /qn viene specificata, tutti i messaggi del programma di installazione, compresi i messaggi di errore, vengono inseriti nei file di log del programma. Per ulteriori informazioni sui file di log, vedere Procedura: Visualizzazione dei file di log del programma di installazione di SQL Server 2005.

Risoluzione 1: utilizzare l'opzione /qb anziché l'opzione /qn. Se si utilizza l'opzione /qb, per ogni passaggio verrà visualizzata l'interfaccia utente di base, inclusi i messaggi di errore.

Problema 2: non conformità al formato utilizzato nel file template.ini, disponibile nella directory principale del supporto di installazione di SQL Server 2005.

Risoluzione 2: sebbene eventuali caratteri imprevisti possano essere ignorati durante il programma di installazione, includere nel comando di installazione tutte le variabili necessarie.

Non includere spazi tra una variable e il relativo valore sulla riga di comando. Ad esempio, non includere spazi in "ADDLOCAL=ALL". Se viene utilizzato "ADDLOCAL = ALL" il programma di installazione non riuscirà. Un altro esempio riguarda l'IP e il relativo valore. "IP=www.xxx.yyy.zzz,Local Area Connection" è corretto. Se viene inserito uno spazio dopo ",", il programma di installazione non riuscirà.

Problema: SQL Server 2005 non è in grado di accedere alla rete dopo la migrazione in un altro nodo

Problema 1: gli account del servizio SQL Server non sono in grado di 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 oppure il nodo non è in grado di riavviare un servizio SQL Server di cui è stata eseguita la migrazione da un nodo bloccato.

Risoluzione 2: modificare le password dell'account del servizio SQL Server tramite Gestione configurazione SQL Server. In caso contrario, se si modificano le password dell'account del servizio SQL Server in un nodo, sarà necessario modificare le password anche in tutti gli altri nodi. Questa operazione viene eseguita automaticamente in Gestione configurazione SQL Server.

Problema: SQL Server non è in grado di accedere ai dischi del cluster

Problema 1: il firmware o i driver non sono 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 è in grado di recuperare i dischi del cluster di cui è stata eseguita la migrazione da un nodo bloccato in un disco cluster condiviso che utilizza una diversa lettera di unità.

Risoluzione 2: le lettere di unità disco dei dischi del cluster devono essere identiche su entrambi i server. In caso contrario, modificare l'installazione originale del sistema operativo e del servizio cluster (MSCS, Microsoft Cluster Service).

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 Influisce sul gruppo nella scheda Avanzate della finestra di dialogo Proprietà full-text. Se tuttavia SQL Server causa un failover, il servizio Ricerca full-text verrà riavviato.

Problema: SQL Server non viene avviato automaticamente

Risoluzione: per avviare automaticamente un cluster di failover, utilizzare Amministrazione cluster in MSCS. Impostare il servizio SQL Server per l'avvio manuale. Configurare inoltre Amministrazione cluster in MSCS per l'avvio del servizio SQL Server.

Problema: il nome di rete non è in linea 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: utilizzare NBTSTAT per individuare il nome duplicato e risolvere il problema.

Problema 3: SQL Server non esegue la connessione tramite named pipe.

Risoluzione 3: per la connessione tramite named pipe, creare un alias utilizzando Gestione configurazione SQL Server per connettersi al computer appropriato. Se, ad esempio, si utilizzano un cluster con due nodi (Node A e Node B) e un'istanza del cluster di failover (Virtsql) con un'istanza predefinita, è possibile eseguire la procedura seguente per connettersi al server la cui risorsa Nome di rete non è in linea:

  1. Utilizzare Amministrazione cluster per determinare il nodo in cui è esecuzione il gruppo che contiene l'istanza di SQL Server. In questo esempio si tratta del nodo Node A.
  2. Avviare il servizio SQL Server nel computer tramite net start. Per ulteriori informazioni sull'utilizzo di net start, vedere Avvio manuale di SQL Server.
  3. Avviare Gestione configurazione SQL Server di SQL Server su Node A. Visualizzare il nome della pipe sulla quale il server è in attesa. Il nome dovrebbe avere il formato seguente: \\.\$$\VIRTSQL\pipe\sql\query.
  4. Sul computer client, avviare Gestione configurazione SQL Server.
  5. Creare l'alias SQLTEST1 per connettersi alla pipe tramite named pipe. A tale scopo, immettere Node A come nome del server e modificare il nome della pipe in \\.\pipe\$$\VIRTSQL\sql\query.
  6. Connettersi all'istanza utilizzando l'alias SQLTEST1 come nome del server.

Problema: impossibile installare SQL Server in un cluster con errore 1058

Problema: in seguito alla disattivazione del servizio Utilità di pianificazione nei nodi del cluster, non è possibile eseguire l'installazione e viene visualizzato l'errore 1058. Il problema è indicato dalla voce seguente nel file core.log:

Error: SetTargetComputer on \\machinename failed with
Unable to start service (1058)
Error: RunRemoteProcess Received return code 1058 from STPCOMPAQ3790N2

Di seguito è riportata l'ultima riga del log:

<EndFunc Name='DwLaunchMsiExec' Return='1058' GetLastError='183'>

Risoluzione: utilizzare la gestione cluster per attivare il servizio Utilità di pianificazione in tutti i nodi del cluster. Per ulteriori informazioni, vedere Procedura: Attivazione del servizio Utilità di pianificazione di Windows.

Problema: impossibile installare SQL Server in un cluster con errore 11001

Problema: Chiave orfana del Registro di sistema in [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.X\Cluster]

Risoluzione: accertarsi che l'hive del Registro di sistema MSSQL.X non sia attualmente in uso, quindi eliminare la chiave relativa al cluster.

Problema: messaggio di errore "Impossibile continuare l'installazione. Windows Installer non dispone di privilegi sufficienti per l'accesso alla directory <unità>\Microsoft SQL Server. Accedere come amministratore oppure contattare l'amministratore del sistema"

Problema: questo errore è causato da un'unità condivisa SCSI non partizionata correttamente.

Risoluzione: utilizzare la procedura seguente per ricreare una singola partizione nel disco condiviso:

  1. Eliminare la risorsa disco dal cluster.
  2. Eliminare tutte le partizioni presenti nel disco.
  3. Nelle proprietà del disco verificare che si tratta di un disco di base.
  4. Creare un'unica partizione nel disco condiviso, formattare il disco e assegnarvi una lettera di unità.
  5. Aggiungere il disco al cluster tramite Amministrazione cluster (cluadmin).
  6. Eseguire il programma di installazione di SQL Server.

Problema: le applicazioni non riescono a integrare le risorse di SQL Server 2005 in una transazione distribuita

Problema: Microsoft Distributed Transaction Coordinator (MS DTC) non è completamente configurato in Windows, pertanto è possibile che le applicazioni non siano in grado di visualizzare l'elenco delle risorse SQL Server 2005 in una transazione distribuita. Questo problema può interessare server collegati, query distribuite e stored procedure remote che utilizzano transazioni distribuite.

Risoluzione: per ovviare a tali problemi, è necessario attivare completamente i servizi MS DTC nel server in cui è installato SQL Server 2005.

Per attivare completamente MS DTC, eseguire le operazioni seguenti:

  1. Nel Pannello di controllo aprire Strumenti di amministrazione e quindi Gestione computer.
  2. Nel riquadro sinistro di Gestione computer espandere Servizi e applicazioni e quindi fare clic su Servizi.
  3. Nel riquadro destro di Gestione computer fare clic con il pulsante destro del mouse su Distributed Transaction Coordinator e scegliere Proprietà.
  4. Nella finestra Distributed Transaction Coordinator fare clic sulla scheda Generale e quindi su Arresta per interrompere il servizio.
  5. Nella finestra Distributed Transaction Coordinator fare clic sulla scheda Connessione e impostare l'account di accesso NT AUTHORITY\NetworkService.
  6. Fare clic su Applica e quindi su OK per chiudere la finestra Distributed Transaction Coordinator. Chiudere la finestra Gestione computer. Chiudere la finestra Strumenti di amministrazione.

[!NOTA] Nel caso di installazioni di SQL Server 2005 in computer che fanno parte di un cluster di failover, è necessario attivare completamente ed eseguire il clustering di MS DTC prima di procedere con l'installazione. Se il clustering di MS DTC non è stato eseguito, non sarà possibile procedere con l'installazione. Prima di eseguire l'installazione, utilizzare Amministrazione cluster Microsoft per accertarsi che il clustering di MS DTC sia stato effettuato.

Problema: possibile esito negativo dell'installazione del cluster di failover di SQL Server 2005 quando l'installazione viene eseguita dal CD

Problema: quando si seleziona un componente del cluster di failover e un componente degli strumenti client durante l'installazione di SQL Server 2005, quest'ultima potrebbe non riuscire e potrebbe essere visualizzato l'errore "Installazione remota non riuscita" dopo aver inserito il CD 2.

Risoluzione: copiare i file di installazione di entrambi i CD nella stessa directory sulla condivisione di rete o sul nodo cluster attivo. Ad esempio,

c:
cd\
md SQLENT

Copiare entrambi i CD nella directory SQLENT:

\SQLENT\Servers

\SQLENT\Tools

[!NOTA] Questo problema non si verifica nelle installazioni da DVD.

Utilizzo delle stored procedure estese e degli oggetti COM

Le stored procedure estese con un cluster di failover devono essere installate in un disco del cluster dipendente da SQL Server. In tal modo quando un nodo cede il controllo a un altro nodo mediante il failover, sarà comunque possibile utilizzare le stored procedure 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.

Vedere anche

Altre risorse

Procedura: Visualizzazione dei file di log del programma di installazione di SQL Server 2005
How Extended Stored Procedures Work
Execution Characteristics of Extended Stored Procedures

Guida in linea e informazioni

Assistenza su SQL Server 2005

Cronologia modifiche

Versione Cronologia

17 luglio 2006

Contenuto modificato:
  • Aggiunta della sezione sull'esito negativo dell'installazione da CD.