Configurazione del servizio Integration Services in un ambiente cluster

Data creazione: 15 settembre 2007

Il servizio Integration Services non è un servizio cluster o compatibile con i cluster e non supporta il failover da un nodo a un altro. Quindi, in un ambiente cluster, Integration Services deve essere installato e avviato come servizio di tipo autonomo in ciascun nodo del cluster.

ms345193.note(it-it,SQL.90).gifImportante:
Microsoft sconsiglia la configurazione del servizio Integration Services come risorsa cluster.

Anche se il servizio Integration Services non è un servizio cluster, è possibile configurare manualmente il servizio per farlo funzionare come risorsa cluster dopo l'installazione di Integration Services separatamente su ciascun nodo del cluster. Per coloro che sostengono che i vantaggi di questa configurazione compensano gli svantaggi, in questo argomento sono contenute istruzioni per la configurazione del servizio come risorsa cluster.

Tuttavia, se l'elevata disponibilità rappresenta l'obiettivo quando si crea un ambiente hardware cluster, è possibile ottenere questo obiettivo senza configurare il servizio Integration Services come risorsa cluster. Per gestire i pacchetti su ciascun nodo cluster, modificare il file di configurazione per il servizio Integration Services su ciascun nodo nel cluster. Modificare ciascuno dei file di configurazione per puntare a tutte le istanze disponibili di SQL Server sulle quali i pacchetti sono archiviati. Questa soluzione garantisce l'elevata disponibilità della quale la maggior parte dei clienti hanno bisogno, senza i potenziali problemi incontrati quando il servizio Integration Services viene configurato come risorsa cluster. Per ulteriori informazioni sulla modifica del file di configurazione, vedere Configurazione del servizio Integration Services.

Informazioni sul ruolo del servizio Integration Services

Le informazioni sul ruolo del servizio Integration Services sono fondamentali per prendere una decisione appropriata sulla modalità di configurazione del servizio in un ambiente cluster.

Il servizio Integration Services supporta l'interfaccia amministrativa in SQL Server Management Studio per l'elenco, l'avvio, l'arresto, il monitoraggio, l'importazione e l'esportazione dei pacchetti Integration Services. Il servizio Integration Services non è necessario per progettare i pacchetti. Il servizio Integration Services non è inoltre necessario per eseguire i pacchetti o per pianificare i processi SQL Server Agent che eseguono i pacchetti.

Ci sono alcune attività che è possibile realizzare anche quando il servizio Integration Services non è in esecuzione:

  • Progettare ed eseguire i pacchetti in Business Intelligence Development Studio.
  • Eseguire i pacchetti utilizzando l'utilità del prompt dei comandi dtexec (dtexec.exe), Utilità di esecuzione pacchetti (dtexecui.exe), SQL Server Agent o l'Importazione/Esportazione guidate di SQL Server.
  • Elencare i pacchetti che sono archiviati nel database msdb utilizzando una query Transact-SQL ed elencare i pacchetti che sono archiviati nel file system utilizzando Windows Explorer.
  • Creare ed eseguire i processi SQL Server Agent e i piani di manutenzione.

Informazioni sugli svantaggi della configurazione del servizio Integration Services come risorsa cluster

Alcuni degli svantaggi potenziali della configurazione del servizio Integration Services come risorsa cluster includono gli elementi seguenti:

  • Quando si verifica un failover, i pacchetti in esecuzione non si riavviano. È possibile eseguire il recupero dagli errori del pacchetto riavviando i pacchetti dai checkpoint. È possibile ripartire dai checkpoint senza configurare il servizio come risorsa cluster. Per ulteriori informazioni, vedere Utilizzo di checkpoint nei pacchetti.
  • Quando si configura il servizio Integration Services in un gruppo di risorse diverso da SQL Server, non è possibile utilizzare Management Studio dai computer client per gestire pacchetti archiviati nel database msdb. Il servizio Integration Services non può delegare credenziali in questo scenario a doppio hop.
  • Quando sono disponibili più gruppi di risorse SQL Server che includono il servizio Integration Services in un cluster, un failover potrebbe produrre risultati imprevisti. Si consideri lo scenario seguente. Il Gruppo1 che include il servizio SQL Server e il servizio Integration Services è in esecuzione sul Nodo A. Il Gruppo2 che include allo stesso modo il servizio SQL Server e il servizio Integration Services è in esecuzione sul Nodo B. Il Gruppo 2 esegue il failover sul Nodo A. Il tentativo di avviare un'altra istanza del servizio Integration Services sul Nodo A non riesce perché si tratta di un servizio Integration Services a istanza singola. Se anche il servizio SQL Server che sta tentando di eseguire il failover sul Nodo A non riesce dipende dalla configurazione del servizio Integration Services nel Gruppo 2. Se il servizio Integration Services è stato configurato per influire negli altri servizi nel gruppo di risorse, il servizio SQL Server che sta effettuando il failover non riuscirà perché il servizio Integration Services ha avuto esito negativo. Se il servizio è stato configurato per non influire sugli altri servizi nel gruppo di risorse, il servizio SQL Server sarà in grado di effettuare il failover sul Nodo A.

Configurazione del servizio Integration Services come risorsa cluster

Per coloro che sostengono che i vantaggi della configurazione del servizio Integration Services come una risorsa cluster compensano gli svantaggi, in questa sezione sono contenute le istruzioni di configurazione necessarie. Tuttavia, Microsoft sconsiglia di configurare il servizio Integration Services come risorsa cluster.

Per configurare il servizio Integration Services come risorsa cluster è necessario seguire questi passaggi:

  • Installare Integration Services in un cluster.
  • Configurare Integration Services come risorsa cluster.
  • Configurare il servizio Integration Services e l'archivio pacchetti.
  • Portare il servizio Integration Services in linea come risorsa cluster.

Installazione del servizio Integration Services in un cluster

Per installare Integration Services su un cluster è necessario installare Integration Services in ciascun nodo nel cluster.

Per installare il servizio Integration Services in un cluster

  1. Installare e configurare un cluster con uno o più nodi.

  2. Facoltativamente, installare i servizi del cluster come Motore di database di SQL Server.

  3. Installare Integration Services in ciascun nodo del cluster.

Configurazione del servizio Integration Services come risorsa cluster

Con Integration Services installato su ciascun nodo nel cluster, è necessario configurare Integration Services come risorsa cluster. Quando si configura il servizio Integration Services come risorsa cluster, è possibile aggiungere il servizio allo stesso gruppo di risorse di Motore di database di SQL Server o in un gruppo diverso. Nella tabella seguente sono descritti i possibili vantaggi e svantaggi nella selezione di un gruppo di risorse.

Quando Integration Services e SQL Server sono nello stesso gruppo di risorse Quando Integration Services e SQL Server sono in diversi gruppi di risorse

I computer client possono utilizzare SQL Server Management Studio per gestire i pacchetti archiviati nel database msdb perché entrambi i servizi Motore di database di SQL Server e Integration Services sono in esecuzione nello stesso server virtuale. Questa configurazione evita i problemi relativi alle deleghe dello scenario a doppio hop.

I computer client non possono utilizzare SQL Server Management Studio per gestire pacchetti archiviati nel database msdb. Il client può connettersi al server virtuale sul quale il servizio Integration Services è in esecuzione. Tuttavia, tale computer non può delegare le credenziali dell'utente al server virtuale sul quale SQL Server è in esecuzione. Si tratta di uno scenario a doppio hop.

Il servizio Integration Services va in conflitto con gli altri servizi SQL Server per CPU e le altre risorse del computer.

Il servizio Integration Services non va in conflitto con gli altri servizi SQL Server per CPU e le altre risorse del computer perché i diversi gruppi di risorse sono configurati su nodi diversi.

Il caricamento e il salvataggio dei pacchetti nel database msdb è più veloce e genera meno traffico di rete perché entrambi i servizi sono in esecuzione sullo stesso computer.

Il caricamento e il salvataggio di pacchetti nel database msdb potrebbe essere più lento e potrebbe generare più traffico di rete.

Entrambi i servizi sono contemporaneamente in linea o non in linea.

Il servizio Integration Services potrebbe essere in linea quando Motore di database di SQL Server non è in linea. Quindi, i pacchetti archiviati nel database msdb di Motore di database di SQL Server non sono disponibili.

Il servizio Integration Services non può essere spostato rapidamente in un altro nodo se necessario.

Il servizio Integration Services può essere spostato più rapidamente in un altro nodo se necessario.

Dopo avere deciso a quale gruppo di risorse verrà aggiunto Integration Services, è necessario configurare Integration Services come risorsa cluster in tale gruppo.

Per configurare il servizio Integration Services come risorsa cluster

  1. Aprire Amministratore cluster.

  2. Nella struttura della console selezionare la cartella Gruppi.

  3. Nel riquadro dei risultati, selezionare il gruppo al quale si intende aggiungere Integration Services:

    • Per aggiungere Integrations Services come risorsa cluster allo stesso gruppo di risorse di SQL Server, selezionare il gruppo al quale SQL Server appartiene.
    • Per aggiungere Integrations Services come risorsa cluster a un gruppo diverso rispetto a SQL Server, selezionare un gruppo diverso da quello al quale SQL Server appartiene.
  4. Scegliere Nuovo dal menu File e quindi fare clic su Risorsa.

  5. Nella pagina Nuova risorsa della Creazione guidata risorsa digitare un nome e scegliere Servizio generico come Tipo di servizio. Non modificare il valore di Group. Fare clic su Next.

  6. Nella pagina Possible Owners aggiungere o rimuovere i nodi del cluster come possibili proprietari della risorsa. Fare clic su Next.

  7. Per aggiungere dipendenze, nella pagina Dipendenze selezionare una risorsa in Risorse disponibili e quindi fare clic su Aggiungi. In caso di failover, sia SQL Server che il disco condiviso in cui sono memorizzati i pacchetti di Integration Services devono tornare in linea prima che Integration Services venga riportato in linea. Dopo avere selezionato le dipendenze, fare clic su Next.

  8. Nella pagina Generic Service Parameters digitare MsDtsServer come nome del servizio. Fare clic su Next.

  9. Nella pagina Replica Registro di sistema fare clic su Aggiungi per aggiungere la chiave del Registro di sistema che identifica la posizione del file di configurazione per il servizio Integration Services. Questo file deve essere posizionato su un disco condiviso che è nello stesso gruppo di risorse del servizio Integration Services.

  10. Nella finestra di dialogo Chiave del Registro di sistema digitare SOFTWARE\Microsoft\MSDTS\ServiceConfigFile. Scegliere OK, quindi Fine.

  11. Il servizio Integration Services è stato aggiunto come risorsa cluster.

Configurazione del servizio Integration Services e dell'Archivio pacchetti

Dopo aver configurato Integration Services come una risorsa cluster, è necessario modificare il percorso e il contenuto del file di configurazione per il servizio Integration Services su ciascun nodo nel cluster. Queste modifiche rendono disponibile il file di configurazione e l'archivio pacchetti a tutti i nodi se si verifica un failover. Dopo la modifica della posizione e del contenuto del file di configurazione, è necessario portare il servizio in linea.

Per configurare il servizio Integration Services e l'Archivio pacchetti

  1. Individuare il file di configurazione nel percorso %ProgramFiles%\Microsoft SQL Server\90\DTS\Binn\MsDtsSrvr.ini.xml. Copiarlo nel disco condiviso per il gruppo al quale è stato aggiunto il servizio Integration Services.

  2. Sul disco condiviso, creare una cartella nuova denominata Pacchetti che funziona come archivio pacchetti. Concedere le autorizzazioni di visualizzazione delle cartelle e di scrittura per la nuova cartella agli utenti e gruppi appropriati.

  3. Sul disco condiviso, aprire il file di configurazione in un editor di testo o XML. Modificare il valore dell'elemento ServerName nel nome del SQL Server virtuale presente nello stesso gruppo di risorse.

  4. Modificare il valore dell'elemento StorePath impostando il percorso completo della cartella Pacchetti creata sul disco condiviso in uno dei passaggi precedenti.

  5. Aggiornare il valore di **HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\**MSDTS\ServiceConfigFile nel Registro di sistema specificando il percorso completo e il nome del file di configurazione del servizio sul disco condiviso.

Per portare il servizio Integration Services in linea

  • In Amministrazione cluster selezionare il servizio Integration Services, fare clic con il pulsante destro del mouse e scegliere In linea dal menu di scelta rapida. A questo punto il servizio Integration Services è in linea come risorsa cluster.

Connessione al servizio Integration Services in un ambiente cluster

Dopo aver configurato il servizio Integration Services in un cluster o in un server qualsiasi, potrebbe essere necessario configurare le autorizzazioni DCOM per potersi connettere al servizio da un computer client. Per ulteriori informazioni, vedere Connessione a un server remoto di Integration Services.

Il servizio Integration Services non può delegare credenziali. Pertanto, non è possibile utilizzare Management Studio per gestire i pacchetti archiviati nel database msdb quando le condizioni seguenti sono vere:

  • Il servizio Integration Services e SQL Server sono in esecuzione in server separati o server virtuali.
  • Il client che esegue SQL Server Management Studio è un terzo computer.

Il client può connettersi al server virtuale sul quale il servizio Integration Services è in esecuzione. Tuttavia, tale computer non può delegare le credenziali dell'utente al server virtuale sul quale SQL Server è in esecuzione. Si tratta di uno scenario a doppio hop.