Integration Services (SSIS) in un cluster

Si applica a:SQL Server SSIS Integration Runtime in Azure Data Factory

Non è consigliabile raggruppare Integration Services perché tale servizio non è in cluster né è compatibile con cluster e non supporta il failover da un nodo del cluster a un altro. In un ambiente raggruppato è pertanto necessario installare e avviare Integration Services come servizio autonomo in ogni nodo del cluster.

Sebbene Integration Services non sia un servizio cluster, è possibile configurarlo manualmente come risorsa cluster dopo averlo installato separatamente in ogni nodo del cluster.

Se tuttavia la disponibilità elevata rappresenta l'obiettivo della configurazione di un ambiente hardware cluster, è consigliabile evitare di configurare il servizio Integration Services come risorsa cluster. Per gestire i pacchetti in qualsiasi nodo del cluster da qualsiasi altro nodo del cluster, modificare il file di configurazione per il servizio Integration Services in ogni nodo del cluster. I file di configurazione devono essere modificati in modo da puntare a tutte le istanze disponibili di SQL Server in cui sono archiviati i pacchetti. Questa soluzione garantisce l'elevata disponibilità necessaria alla maggior parte degli utenti, senza i problemi potenziali riscontrati quando il servizio Integration Services è configurato come risorsa cluster. Per altre informazioni su come modificare il file di configurazione, vedere Servizio Integration Services (servizio SSIS).

Per prendere decisioni appropriate sulla configurazione del servizio Integration Services in un ambiente cluster, è importante comprendere il ruolo di tale servizio. Per altre informazioni, vedere Servizio Integration Services (servizio SSIS).

Svantaggi

Tra i potenziali svantaggi della configurazione del servizio Integration Services come risorsa cluster sono inclusi i seguenti:

  • In caso di failover, i pacchetti in esecuzione non si riavviano.

    È possibile risolvere gli errori relativi ai pacchetti riavviando i pacchetti dai checkpoint. È possibile eseguire il riavvio dai checkpoint senza configurare il servizio come risorsa cluster. Per ulteriori informazioni, vedere Restart Packages by Using Checkpoints.

  • 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 i pacchetti archiviati nel database msdb. Il servizio Integration Services non consente di delegare le credenziali in questo scenario a doppio hop.

  • Quando sono presenti più gruppi di risorse SQL Server che includono il servizio Integration Services in un cluster, un failover potrebbe provocare risultati imprevisti. Si consideri il seguente scenario. Il Gruppo 1, che include i servizi SQL Server e Integration Services, è in esecuzione nel Nodo A. Il Gruppo 2, che come il Gruppo 1 include i servizi SQL Server e Integration Services, è in esecuzione nel Nodo B. Si verifica il failover del Gruppo 2 nel Nodo A. Il tentativo di avviare un'altra istanza del servizio Integration Services nel Nodo A ha esito negativo in quanto tale servizio è a istanza singola. L'esito del tentativo di failover del servizio SQL Server nel Nodo A dipende dalla configurazione del servizio Integration Services nel Gruppo 2. Se il servizio Integration Services è stato configurato in modo da influire sugli altri servizi nel gruppo di risorse, il failover del servizio SQL Server ha esito negativo a causa dell'errore del servizio Integration Services. Se il servizio è stato configurato per non influire sugli altri servizi nel gruppo di risorse, verrà eseguito il failover del servizio SQL Server nel Nodo A. A meno che il servizio Integration Services nel Gruppo 2 non sia stato configurato in modo da non influire sugli altri servizi nel gruppo di risorse, l'errore di failover del servizio Integration Services può provocare anche un errore di failover del servizio SQL Server.

Configurare il servizio come risorsa cluster

In questa sezione vengono fornite le istruzioni necessarie per la configurazione per i clienti che ritengono che i vantaggi della configurazione del servizio Integration Services come risorsa cluster siano prevalenti rispetto agli svantaggi. Microsoft, tuttavia, non consiglia la configurazione del servizio Integration Services come risorsa cluster.

Per configurare il servizio Integration Services come risorsa cluster, è necessario completare le attività seguenti.

  • Installare Integration Services in un cluster.

    Per installare Integration Services in un cluster, è necessario installarlo Services in ogni nodo del cluster.

  • Configurare Integration Services come risorsa cluster.

    Dopo avere installato Integration Services in ogni nodo nel cluster, è necessario configurarlo come risorsa cluster. Quando si configura il servizio Integration Services come risorsa cluster, è possibile aggiungere il servizio allo stesso gruppo di risorse del motore di database di SQL Server oppure a un gruppo diverso. Nella tabella seguente sono descritti i possibili vantaggi e svantaggi della 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 gruppi di risorse diversi
    I computer client possono utilizzare SQL Server Management Studio per gestire i pacchetti archiviati nel database msdb poiché sia il m​Motore di database di SQL Server che il servizio Integration Services sono in esecuzione sullo stesso server virtuale. Questa configurazione consente di evitare i problemi di delega dello scenario a doppio hop. I computer client non possono utilizzare SQL Server Management Studio per gestire i pacchetti archiviati nel database msdb. Il client può connettersi al server virtuale in cui è in esecuzione il servizio SQL Server Management Studio. Tale computer non può tuttavia delegare le credenziali dell'utente al server virtuale in cui è in esecuzione SQL Server. Questa situazione è nota come scenario a doppio hop.
    Il servizio Integration Services e gli altri servizi SQL Server si contendono la CPU e altre risorse del computer. Il servizio Integration Services e gli altri servizi SQL Server non si contendono la CPU e altre risorse del computer in quanto i diversi gruppi di risorse sono configurati in nodi diversi.
    Il caricamento e il salvataggio di pacchetti nel database msdb sono più veloci e generano un minore traffico di rete in quanto entrambi i servizi sono in esecuzione nello stesso computer. Il caricamento e il salvataggio di pacchetti nel database msdb potrebbero essere più lenti e generare un maggiore traffico di rete.
    Entrambi i servizi sono online o offline contemporaneamente. Il servizio Integration Services potrebbe essere online mentre il motore di database di SQL Server è offline. I pacchetti archiviati nel database msdb del motore di database di SQL Server non sono pertanto disponibili.
    Non è possibile spostare rapidamente il servizio Integration Services in un altro nodo, se necessario. È possibile spostare più rapidamente il servizio Integration Services in un altro nodo, se necessario.

    Dopo avere deciso a quale gruppo di risorse aggiungere Integration Services, è necessario configurarlo come risorsa cluster in tale gruppo.

  • Configurare il servizio Integration Services e l'archivio pacchetti.

    Dopo avere configurato Integration Services come risorsa cluster, è necessario modificare il percorso e il contenuto del file di configurazione per il servizio Integration Services in ogni nodo del cluster. Queste modifiche consentono di rendere disponibili sia il file di configurazione che l'archivio pacchetti in tutti i nodi in caso di failover. Dopo aver modificato il percorso e il contenuto del file di configurazione, portare il servizio online.

  • Portare online il servizio Integration Services come risorsa cluster.

Dopo avere configurato il servizio Integration Services in un cluster o in un server, potrebbe essere necessario configurare le autorizzazioni DCOM per connettersi al servizio da un computer client. Per altre informazioni, vedere Servizio Integration Services (servizio SSIS).

Il servizio Integration Services non consente di delegare le credenziali. Non è pertanto possibile utilizzare Management Studio per gestire i pacchetti archiviati nel database msdb quando si verificano le condizioni seguenti:

  • Il servizio Integration Services e SQL Server sono in esecuzione su server separati o virtuali.

  • Il client che esegue SQL Server Management Studio è un terzo computer.

Il client può connettersi al server virtuale in cui è in esecuzione il servizio SQL Server Management Studio. Tale computer non può tuttavia delegare le credenziali dell'utente al server virtuale in cui è in esecuzione SQL Server. Questa situazione è nota come scenario a doppio hop.

Per installare Integration Services in un cluster

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

  2. (Facoltativo) Installare servizi cluster, ad esempio il motore di database di SQL Server.

  3. Installare Integration Services in ogni nodo del cluster.

Per configurare Integration Services come risorsa cluster

  1. Aprire Amministrazione cluster.

  2. Nell'albero della console selezionare la cartella Gruppi.

  3. Nel riquadro dei risultati selezionare il gruppo a cui si desidera aggiungere Integration Services:

    • Per aggiungere Integration Services come risorsa cluster allo stesso gruppo di risorse di SQL Server, selezionare il gruppo a cui appartiene SQL Server.

    • Per aggiungere Integrations Services come risorsa cluster a un gruppo diverso da SQL Server, selezionare un gruppo diverso da quello a cui appartiene SQL Server.

  4. Scegliere Nuovo dal menu Filee quindi fare clic su Risorsa.

  5. Nella pagina Nuova risorsa della procedura guidata per la creazione di risorse selezionare "Servizio generico" come Tipo di servizio. Non modificare il valore di Gruppo. Fare clic su Avanti.

  6. Nella pagina Proprietari possibili aggiungere o rimuovere i nodi del cluster come possibili proprietari della risorsa. Fare clic su Avanti.

  7. Per aggiungere dipendenze, nella pagina Relazioni di dipendenza selezionare una risorsa in Risorse disponibilie quindi fare clic su Aggiungi. In caso di failover, è necessario che sia SQL Server sia il disco condiviso in cui sono archiviati i pacchetti di Integration Services tornino online prima di riportare online anche Integration Services. Dopo avere selezionato le dipendenze, fare clic su Avanti.

    Per altre informazioni, vedere Aggiungere dipendenze a una risorsa di SQL Server.

  8. Nella pagina Parametri servizio generico immettere MsDtsServer come nome del servizio. Fare clic su Avanti.

  9. Nella pagina Replica Registro di sistema fare clic su Aggiungi per aggiungere la chiave del Registro di sistema che identifica il percorso del file di configurazione per il servizio Integration Services. Tale file deve trovarsi in un disco condiviso nello stesso gruppo di risorse del servizio Integration Services.

  10. Nella finestra di dialogo Chiave del Registro di sistema digitare SOFTWARE\Microsoft\Microsoft SQL Server\100\SSIS\ServiceConfigFile. Fare clic su OKe quindi su Fine.

    Il servizio Integration Services è stato aggiunto come risorsa cluster.

Per configurare il servizio Integration Services e l'archivio pacchetti

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

  2. Nel disco condiviso creare una nuova cartella denominata Pacchetti da usare come archivio pacchetti. Concedere le autorizzazioni di visualizzazione delle cartelle e di scrittura per la nuova cartella agli utenti e ai gruppi appropriati.

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

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

  5. In ogni nodo aggiornare il valore di HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\100\SSIS\ServiceConfigFile nel Registro di sistema impostando il percorso e il nome completo del file di configurazione del servizio nel disco condiviso.

Per portare online il servizio Integration Services

  • In Amministrazionecluster selezionare il servizio Integration Services, fare clic con il pulsante destro del mouse e scegliere Online nel menu di scelta rapida. Il servizio Integration Services è ora online come risorsa cluster.