SSIS (Integration Services) em um cluster

Aplica-se a:SQL Server SSIS Integration Runtime no Azure Data Factory

O clustering do Integration Services não é recomendado, pois o serviço Integration Services não é um serviço clusterizado, não tem reconhecimento de cluster e não dá suporte para o failover de um nó de cluster para outro. Portanto, em um ambiente clusterizado, o Integration Services deve ser instalado e iniciado como um serviço autônomo em cada nó do cluster.

Embora o serviço do Integration Services não seja um serviço clusterizado, você pode configurá-lo manualmente para operar como um recurso de cluster após instalar o Integration Services separadamente em cada nó do cluster.

No entanto, se seu objetivo for a alta disponibilidade ao estabelecer um ambiente de hardware clusterizado, você poderá atingi-lo sem configurar o serviço Integration Services como um recurso de cluster. Para gerenciar seus pacotes em qualquer nó do cluster por meio de qualquer outro nó do cluster, modifique o arquivo de configuração do serviço do Integration Services em cada nó do cluster. Modifique cada um dos arquivos de configuração para que eles apontem a todas as instâncias disponíveis do SQL Server nas quais os pacotes estão armazenados. Essa solução oferece a alta disponibilidade necessária para a maioria dos clientes, sem os possíveis problemas encontrados quando o serviço do Integration Services é configurado como um recurso de cluster. Para obter mais informações sobre como alterar esse arquivo de configuração, consulte Serviço SSIS (Serviço Integration Services).

Compreender a função do serviço do Integration Services é fundamental para tomar uma decisão sobre como configurar o serviço em um ambiente clusterizado. Para obter mais informações, confira Serviço Integration Services (Serviço SSIS).

Desvantagens

Algumas das possíveis desvantagens de configurar o serviço do Integration Services como um recurso de cluster são:

  • Quando um failover ocorre, os pacotes que estão sendo executados não reiniciam.

    As falhas do pacote podem ser recuperadas reiniciando o pacote a partir dos pontos de verificação. A reinicialização a partir dos pontos de verificação pode ser realizada sem configurar o serviço como um recurso de cluster. Para saber mais, confira Restart Packages by Using Checkpoints.

  • Ao configurar o serviço Integration Services em outro grupo de recursos por meio do SQL Server, não é possível usar o Management Studio em computadores cliente para gerenciar os pacotes armazenados no banco de dados msdb. O serviço Integration Services não pode delegar as credenciais neste cenário de salto duplo.

  • Quando há vários grupos de recursos do SQL Server que incluem o serviço do Integration Services em um cluster, um failover poderá causar resultados inesperados. Considere o cenário a seguir. O Grupo 1, que inclui o serviço SQL Server e o serviço Integration Services, está em execução no Nó A. O Grupo 2, que também inclui o serviço SQL Server e o serviço Integration Services, está em execução no Nó B. Ocorre um failover no Grupo 2 para o Nó A. A tentativa de iniciar outra instância do serviço Integration Services no Nó A falha porque o serviço Integration Services é um serviço de instância única. Saber se o serviço do SQL Server que está tentando realizar failover para o Nó A também falhará depende da configuração do serviço do Integration Services no Grupo 2. Se o serviço do Integration Services foi configurado para afetar outros serviços no grupo de recursos, o serviço do SQL Server que estiver em failover falhará devido a uma falha no serviço do Integration Services. Se o serviço foi configurado para não afetar outros serviços no grupo de recursos, o serviço do SQL Server poderá realizar failover para o Nó A. A menos que o serviço do Integration Services no Grupo 2 tenha sido configurado para não afetar outros serviços no grupo de recursos, a falha do serviço do Integration Services que estiver em failover poderá fazer com que o serviço do SQL Server que estiver realizando failover também falhe.

Configurar o serviço como um recurso de cluster

Para os clientes que chegaram à conclusão de que as vantagens dessa configuração do serviço Integration Services como um recurso de cluster sobrepõem-se às desvantagens, esta seção contém as instruções de configuração necessárias. Entretanto, a Microsoft não recomenda que o serviço Integration Services seja configurado como um recurso de cluster.

Para configurar o serviço Integration Services como um recurso de cluster, será necessário concluir as seguintes tarefas.

  • Instale o Integration Services em um cluster.

    Para instalar o Integration Services em um cluster, você deverá instalar o Integration Services em cada nó no cluster.

  • Configure o Integration Services como um recurso de cluster.

    Com o Integration Services instalado em cada nó do cluster, é preciso configurar o Integration Services como um recurso de cluster. Ao configurar o serviço do Integration Services como um recurso de cluster, você pode adicionar o serviço ao mesmo grupo de recursos do Mecanismo de Banco de Dados do SQL Server ou a outro grupo. A tabela a seguir descreve as possíveis vantagens e desvantagens na seleção de um grupo de recursos.

    Quando o Integration Services e o SQL Server estão no mesmo grupo de recursos Quando o Integration Services e o SQL Server estão em grupos de recursos diferentes
    Os computadores cliente podem usar o SQL Server Management Studio para gerenciar pacotes armazenados no banco de dados msdb porque o Mecanismo de Banco de Dados do SQL Server e o serviço Integration Services estão em execução no mesmo servidor virtual. Esta configuração evita os problemas de delegação do cenário de salto duplo. Os computadores cliente não podem usar o SQL Server Management Studio para gerenciar os pacotes armazenados no banco de dados msdb. O cliente pode conectar-se ao servidor virtual no qual o serviço do Integration Services está em execução. Entretanto, esse computador não pode delegar as credenciais do usuário ao servidor virtual no qual o SQL Server está em execução. Esse processo é conhecido como um cenário de salto duplo.
    O serviço Integration Services compete com outros serviços SQL Server por recursos da CPU e outros recursos do computador. O serviço Integration Services não compete com outros serviços SQL Server por recursos da CPU e outros recursos do computador, porque os diferentes grupos de recursos são configurados em nós diferentes.
    As ações de carregar e salvar pacotes no banco de dados msdb são mais rápidas e geram menos tráfego de rede, pois os dois serviços estão em execução no mesmo computador. As ações de carregar e salvar pacotes no banco de dados msdb podem ser mais lentas e gerar mais tráfego de rede.
    Os dois serviços estão online ou offline ao mesmo tempo. O serviço Integration Services pode estar online enquanto o Mecanismo de Banco de Dados do SQL Server está offline. Assim, os pacotes armazenados no banco de dados msdb do Mecanismo de Banco de Dados do SQL Server não estão disponíveis.
    O serviço Integration Services não poderá ser movido rapidamente para outro nó, se necessário. O serviço Integration Services poderá ser movido mais rapidamente para outro nó, se necessário.

    Depois de decidir a qual grupo de recursos o Integration Services será adicionado, configure o Integration Services como um recurso de cluster nesse grupo.

  • Configure o serviço Integration Services e o repositório de pacotes.

    Ao configurar o Integration Services como um recurso de cluster, é preciso modificar o local e o conteúdo do arquivo de configuração do serviço Integration Services em cada nó no cluster. Essas modificações disponibilizam tanto o arquivo de configuração quanto o repositório de pacotes para todos os nós se houver um failover. Depois de modificar o local e o conteúdo do arquivo de configuração, coloque o serviço online.

  • Coloque o serviço do Integration Services online como um recurso de cluster.

Depois de configurar o serviço Integration Services em um cluster, ou em algum servidor, será preciso configurar as permissões DCOM antes de estabelecer conexão com o serviço por meio de um computador cliente. Para obter mais informações, confira Serviço Integration Services (Serviço SSIS).

O serviço Integration Services não pode delegar as credenciais. Portanto, você não pode usar o Management Studio para gerenciar os pacotes armazenados no banco de dados msdb quando as seguintes condições forem verdadeiras:

  • O serviço Integration Services e o SQL Server estão em execução em servidores separados ou servidores virtuais.

  • O cliente que está executando o SQL Server Management Studio é um terceiro computador.

O cliente pode conectar-se ao servidor virtual no qual o serviço do Integration Services está em execução. Entretanto, esse computador não pode delegar as credenciais do usuário ao servidor virtual no qual o SQL Server está em execução. Esse processo é conhecido como um cenário de salto duplo.

Para instalar o Integration Services em um cluster

  1. Instale e configure um cluster com um ou mais nós.

  2. (Opcional) Instale serviços clusterizados, como o Mecanismo de Banco de Dados do SQL Server.

  3. Instale o Integration Services em cada nó do cluster.

Para configurar o Integration Services como um recurso de cluster

  1. Abra o Administrador de Cluster.

  2. Na árvore de console, selecione a pasta Grupos.

  3. No painel de resultados, selecione o grupo ao qual deseja adicionar o Integration Services:

    • Para adicionar o Integrations Services como um recurso de cluster ao mesmo grupo de recursos do SQL Server, selecione o grupo ao qual o SQL Server pertence.

    • Para adicionar o Integrations Services como um recurso de cluster a um grupo diferente do SQL Server, selecione outro grupo que não seja aquele ao qual o SQL Server pertence.

  4. No menu Arquivo , aponte para Novoe clique em Recurso.

  5. Na página Novo Recurso do Assistente de Recurso, digite um nome e selecione "Serviço Genérico" como o Tipo de Serviço. Não altere o valor de Grupo. Clique em Próximo.

  6. Na página Possíveis Proprietários , adicione ou remova os nós do cluster como os possíveis proprietários do recurso. Clique em Próximo.

  7. Para adicionar dependências, na página Dependências , selecione um recurso em Recursos disponíveise clique em Adicionar. Caso ocorra um failover, tanto o SQL Server quanto o disco compartilhado que armazena os pacotes do Integration Services devem retornar ao estado online antes que o Integration Services fique online. Depois de selecionar as dependências, clique em Avançar.

    Para obter mais informações, consulte Adicionar dependências a um recurso do SQL Server.

  8. Na página Parâmetros de Serviço Genérico , insira MsDtsServer como o nome do serviço. Clique em Próximo.

  9. Na página Replicação de Registro, clique em Adicionar para adicionar a chave do Registro que identifica o local do arquivo de configuração do serviço Integration Services. Este arquivo deve estar localizado em um disco compartilhado que esteja no mesmo grupo de recursos do serviço Integration Services.

  10. Na caixa de diálogo Chave do Registro , digite SOFTWARE\Microsoft\Microsoft SQL Server\100\SSIS\ServiceConfigFile. Clique em OKe em Concluir.

    O serviço Integration Services agora foi adicionado como um recurso de cluster.

Para configurar o serviço Integration Services e o repositório de pacotes

  1. Localize o arquivo de configuração em %ProgramFiles%\Microsoft SQL Server\100\DTS\Binn\MsDtsSrvr.ini.xml. Copie-o no disco compartilhado do grupo ao qual você adicionou o serviço do Integration Services.

  2. No disco compartilhado, crie uma nova pasta chamada Pacotes para servir como o local do repositório de pacotes. Conceda as permissões de gravação e pastas de listas na nova pasta para usuários e grupos apropriados.

  3. No disco compartilhado, abra o arquivo de configuração em um editor de texto ou XML. Altere o valor do elemento ServerName para o nome do SQL Server virtual que é igual ao grupo de recursos.

  4. Altere o valor do elemento StorePath para o caminho totalmente qualificado da pasta Pacotes que foi criada no disco compartilhado em uma etapa anterior.

  5. Em cada nó, atualize o valor de HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\100\SSIS\ServiceConfigFile no Registro para o caminho totalmente qualificado e o nome do arquivo de configuração de serviço no disco compartilhado.

Para colocar o serviço do Integration Services online

  • No Administrador de Cluster, selecione o serviço Integration Services, clique com o botão direito do mouse e selecione Colocar Online no menu pop-up. O serviço Integration Services agora está online como um recurso de cluster.