

# Suporte para SQL Server Integration Services no Amazon RDS for SQL Server
<a name="Appendix.SQLServer.Options.SSIS"></a>

O Microsoft SQL Server Integration Services (SSIS) é um componente que você pode usar para executar uma ampla gama de tarefas de migração de dados. O SSIS é uma plataforma para integração de dados e aplicativos de fluxo de trabalho. Ele possui uma ferramenta de data warehousing usada para extração, transformação e carregamento (ETL) de dados. Você também pode usar essa ferramenta para automatizar a manutenção de bancos de dados do SQL Server e atualizações para dados de cubo multidimensional.

Os projetos do SSIS são organizados em pacotes salvos como arquivos .dtsx baseados em XML. Os pacotes podem conter fluxos de controle e fluxos de dados. Você usa fluxos de dados para representar operações ETL. Após a implantação, os pacotes são armazenados no SQL Server no banco de dados SSISDB. SSISDB é um banco de dados de processamento de transações online (OLTP) no modo de recuperação completa.

O Amazon RDS for SQL Server oferece suporte à execução de SSIS diretamente em instâncias de banco de dados do RDS. Você pode habilitar o SSIS em uma instância de banco de dados existente ou nova. O SSIS é instalado na mesma instância de banco de dados que seu mecanismo de banco de dados.

O RDS oferece suporte ao SSIS para as edições Standard e Enterprise do SQL Server nas seguintes versões:
+ SQL Server 2022, todas as versões
+ Versão 15.00.4043.16.v1 e posterior do SQL Server 2019
+ Versão 14.00.3223.3.v1 e posterior do SQL Server 2017
+ Versão 13.00.5426.0.v1 e superior do SQL Server 2016

**Contents**
+ [Limitações e recomendações](#SSIS.Limitations)
+ [Habilitar o SSIS](#SSIS.Enabling)
  + [Criar o grupo de opções para o SSIS](#SSIS.OptionGroup)
  + [Adicionar a opção SSIS ao grupo de opções](#SSIS.Add)
  + [Criar o grupo de parâmetros para o SSIS](#SSIS.CreateParamGroup)
  + [Modificar o parâmetro para o SSIS](#SSIS.ModifyParam)
  + [Associar o grupo de opções e o grupo de parâmetros à instância de banco de dados](#SSIS.Apply)
  + [Habilitar a integração do S3](#SSIS.EnableS3)
+ [Permissões administrativas no SSISDB](SSIS.Permissions.md)
  + [Configurar um usuário autenticado pelo Windows para o SSIS](SSIS.Permissions.md#SSIS.Use.Auth)
+ [Implantar um projeto do SSIS](SSIS.Deploy.md)
+ [Monitorar o status de uma tarefa de implantação](SSIS.Monitor.md)
+ [Usar o SSIS](SSIS.Use.md)
  + [Definir gerenciadores de conexão de banco de dados para projetos do SSIS](SSIS.Use.md#SSIS.Use.ConnMgrs)
  + [Criar um proxy do SSIS](SSIS.Use.md#SSIS.Use.Proxy)
  + [Programar um pacote do SSIS usando o SQL Server Agent](SSIS.Use.md#SSIS.Use.Schedule)
  + [Revogar o acesso do SSIS do proxy](SSIS.Use.md#SSIS.Use.Revoke)
+ [Desabilitar e descartar o banco de dados do SSIS](SSIS.DisableDrop.md)
  + [Desabilitar o SSIS](SSIS.DisableDrop.md#SSIS.Disable)
  + [Eliminar o banco de dados SSISDB](SSIS.DisableDrop.md#SSIS.Drop)

## Limitações e recomendações
<a name="SSIS.Limitations"></a>

As seguintes limitações e recomendações aplicam-se à execução do SSIS no RDS for SQL Server:
+ A instância de banco de dados deve ter um grupo de parâmetros associado ao parâmetro `clr enabled` definido como 1. Para obter mais informações, consulte [Modificar o parâmetro para o SSIS](#SSIS.ModifyParam).
**nota**  
Se você habilitar o parâmetro `clr enabled` no SQL Server 2017 ou 2019, não será possível usar o tempo de execução de linguagem comum (CLR) na sua instância de banco de dados. Para obter mais informações, consulte [Recursos não compatíveis e recursos com suporte limitado](SQLServer.Concepts.General.FeatureNonSupport.md).
+ As seguintes tarefas de fluxo de controle são compatíveis:
  + Tarefa de execução de DDL de serviços de análise
  + Tarefa de processamento de serviços de análise
  + Tarefa de inserção em massa
  + Tarefa de verificação da integridade do banco de dados
  + Tarefa de fluxo de dados
  + Tarefa de consulta de mineração de dados
  + Tarefa de criação de perfil de dados
  + Tarefa de execução do pacote
  + Tarefa de execução de trabalho do SQL Server Agent
  + Tarefa de execução do SQL
  + Tarefa de execução de instrução T-SQL
  + Tarefa de notificação do operador
  + Tarefa de recriação de índice
  + Tarefa de reorganização de índice
  + Tarefa de redução do banco de dados
  + Tarefa de transferência do banco de dados
  + Tarefa de transferência de trabalhos
  + Tarefa de transferência de logins
  + Tarefa de transferência de objetos do SQL Server
  + Tarefa de atualização de estatísticas
+ Somente a implantação do projeto é permitida.
+ É permitido executar pacotes do SSIS usando o SQL Server Agent.
+ Os registros de log do SSIS só podem ser inseridos em bancos de dados criados pelo usuário.
+ Use apenas a pasta `D:\S3` para trabalhar com arquivos. Os arquivos colocados em qualquer outro diretório são excluídos. Esteja ciente de alguns outros detalhes de localização do arquivo:
  + Coloque os arquivos de entrada e saída do projeto do SSIS na pasta `D:\S3`.
  + Para a tarefa de fluxo de dados, altere o local para `BLOBTempStoragePath` e `BufferTempStoragePath` para um arquivo dentro da pasta `D:\S3`. O caminho do arquivo deve começar com `D:\S3\`.
  + Certifique-se de que todos os parâmetros, variáveis e expressões usados para conexões de arquivos apontem para a pasta `D:\S3`.
  + Em instâncias Multi-AZ, os arquivos criados pelo SSIS na pasta `D:\S3` são excluídos após um failover. Para obter mais informações, consulte [Limitações Multi-AZ para a integração do S3](User.SQLServer.Options.S3-integration.md#S3-MAZ).
  + Carregue os arquivos criados pelo SSIS na pasta `D:\S3` para seu bucket do Amazon S3 para que sejam duráveis.
+ As transformações Importar coluna e Exportar coluna e o componente Script na tarefa de fluxo de dados não são compatíveis.
+ Não é possível habilitar o despejo na execução do pacote do SSIS e não é possível adicionar toques de dados em pacotes do SSIS.
+ Não há suporte para o recurso de expansão do SSIS.
+ Não é possível implantar projetos diretamente. Fornecemos procedimentos armazenados do RDS para fazer isso. Para obter mais informações, consulte [Implantar um projeto do SSIS](SSIS.Deploy.md).
+ Crie arquivos de projeto do SSIS (.ispac) com o modo de proteção `DoNotSavePasswords` para implantação no RDS.
+ O SSIS não é compatível com instâncias Always On com réplicas de leitura.
+ Não é possível fazer backup do banco de dados SSISDB associado à opção `SSIS`.
+ Importar e restaurar o banco de dados SSISDB de outras instâncias do SSIS não é permitido.
+ É possível se conectar a outras instâncias de banco de dados do SQL Server ou a uma fonte de dados Oracle. A conexão com outros mecanismos de banco de dados, como o MySQL ou o PostgreSQL, não é compatível com o SSIS no RDS para SQL Server. Para obter mais informações sobre a conexão com uma fonte de dados Oracle, consulte [Servidores vinculados ao Oracle OLEDB](Appendix.SQLServer.Options.LinkedServers_Oracle_OLEDB.md). 
+ O SSIS não aceita uma instância associada ao domínio com uma relação de confiança de saída para um domínio on-premises. Ao usar uma relação de confiança de saída, execute o trabalho do SSIS por meio de uma conta no domínio local da AWS.
+ Não é possível executar pacotes baseados em sistemas de arquivos.

## Habilitar o SSIS
<a name="SSIS.Enabling"></a>

Você habilita o SSIS adicionando a opção SSIS à sua instância de banco de dados. Use o seguinte processo:

1. Crie um grupo de opções ou selecione um existente.

1. Adicione a opção `SSIS` ao grupo de opções.

1. Crie um novo grupo de parâmetros ou escolha um existente.

1. Modifique o grupo de parâmetros para definir o parâmetro `clr enabled` como 1.

1. Associe o grupo de opções e o grupo de parâmetros à instância de banco de dados.

1. Habilite a integração do Amazon S3.

**nota**  
Se um banco de dados com o nome SSISDB ou um login reservado do SSIS já existir na instância de banco de dados, você não poderá habilitar o SSIS na instância.

### Criar o grupo de opções para o SSIS
<a name="SSIS.OptionGroup"></a>

Para trabalhar com o SSIS, crie um grupo de opções ou modifique um grupo de opções que corresponda à edição do SQL Server e à versão da instância de banco de dados que você pretende usar. Para fazer isso, use o Console de gerenciamento da AWS ou a AWS CLI.

#### Console
<a name="SSIS.OptionGroup.Console"></a>

O procedimento a seguir cria um grupo de opções para o SQL Server Standard Edition 2016.

**Como criar o grupo de opções**

1. Faça login no Console de gerenciamento da AWS e abra o console do Amazon RDS em [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. No painel de navegação, escolha **Option groups (Grupos de opções)**.

1. Escolha **Create group (Criar grupo)**.

1. Na janela **Create option group (Criar grupo de opções)**, faça o seguinte:

   1. Em **Name** (Nome), insira um nome para o grupo de opções que seja exclusivo na sua conta da AWS, como **ssis-se-2016**. O nome pode conter somente letras, números e hifens.

   1. Em **Descrição**, insira uma breve descrição do grupo de opções, como **SSIS option group for SQL Server SE 2016**. A descrição é usada para fins de exibição. 

   1. Em **Engine (Mecanismo)**, selecione **sqlserver-se**.

   1. Em **Versão do mecanismo principal**, selecione **13.00**.

1. Escolha **Criar**.

#### CLI
<a name="SSIS.OptionGroup.CLI"></a>

O procedimento a seguir cria um grupo de opções para o SQL Server Standard Edition 2016.

**Como criar o grupo de opções**
+ Execute um dos seguintes comandos:  
**Example**  

  Para Linux, macOS ou Unix:

  ```
  aws rds create-option-group \
      --option-group-name {{ssis-se-2016}} \
      --engine-name {{sqlserver-se}} \
      --major-engine-version {{13.00}} \
      --option-group-description "{{SSIS option group for SQL Server SE 2016}}"
  ```

  Para Windows:

  ```
  aws rds create-option-group ^
      --option-group-name {{ssis-se-2016}} ^
      --engine-name {{sqlserver-se}} ^
      --major-engine-version {{13.00}} ^
      --option-group-description "{{SSIS option group for SQL Server SE 2016}}"
  ```

### Adicionar a opção SSIS ao grupo de opções
<a name="SSIS.Add"></a>

Depois, use o Console de gerenciamento da AWS ou a AWS CLI para adicionar a opção `SSIS` ao grupo de opções.

#### Console
<a name="SSIS.Add.Console"></a>

**Como adicionar a opção SSIS**

1. Faça login no Console de gerenciamento da AWS e abra o console do Amazon RDS em [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. No painel de navegação, escolha **Option groups (Grupos de opções)**.

1. Escolha o grupo de opções que você acabou de criar, **ssis-se-2016** neste exemplo.

1. Escolha **Add option (Adicionar opção)**.

1. Em **Detalhes da opção**, selecione **SSIS** em **Nome da opção**.

1. Em **Scheduling (Programação)**, escolha se deseja adicionar a opção imediatamente ou na próxima janela de manutenção.

1. Escolha **Add option (Adicionar opção)**.

#### CLI
<a name="SSIS.Add.CLI"></a>

**Como adicionar a opção SSIS**
+ Adicione a opção `SSIS` ao grupo de opções.  
**Example**  

  Para Linux, macOS ou Unix:

  ```
  aws rds add-option-to-option-group \
      --option-group-name {{ssis-se-2016}} \
      --options OptionName=SSIS \
      --apply-immediately
  ```

  Para Windows:

  ```
  aws rds add-option-to-option-group ^
      --option-group-name {{ssis-se-2016}} ^
      --options OptionName=SSIS ^
      --apply-immediately
  ```

### Criar o grupo de parâmetros para o SSIS
<a name="SSIS.CreateParamGroup"></a>

Crie ou modifique um grupo de parâmetros para o parâmetro `clr enabled` que corresponde à edição e à versão do SQL Server da instância de banco de dados que você pretende usar para o SSIS.

#### Console
<a name="SSIS.CreateParamGroup.Console"></a>

O procedimento a seguir cria um grupo de parâmetros para o SQL Server Standard Edition 2016.

**Como criar o grupo de parâmetros**

1. Faça login no Console de gerenciamento da AWS e abra o console do Amazon RDS em [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. No painel de navegação, escolha **Parameter groups** (Grupos de parâmetros).

1. Escolha **Create parameter group (Criar parameter group)**.

1. No painel**Create parameter group (Criar parameter group)**, faça o seguinte:

   1. Em **Família de grupos de parâmetros**, escolha **sqlserver-se-13.0**.

   1. Em **Nome do grupo**, insira um identificador para o grupo de parâmetros, como **ssis-sqlserver-se-13**.

   1. Em **Descrição**, insira **clr enabled parameter group**.

1. Escolha **Criar**.

#### CLI
<a name="SSIS.CreateParamGroup.CLI"></a>

O procedimento a seguir cria um grupo de parâmetros para o SQL Server Standard Edition 2016.

**Como criar o grupo de parâmetros**
+ Execute um dos seguintes comandos:  
**Example**  

  Para Linux, macOS ou Unix:

  ```
  aws rds create-db-parameter-group \
      --db-parameter-group-name {{ssis-sqlserver-se-13}} \
      --db-parameter-group-family "{{sqlserver-se-13.0}}" \
      --description "{{clr enabled parameter group}}"
  ```

  Para Windows:

  ```
  aws rds create-db-parameter-group ^
      --db-parameter-group-name {{ssis-sqlserver-se-13}} ^
      --db-parameter-group-family "{{sqlserver-se-13.0}}" ^
      --description "{{clr enabled parameter group}}"
  ```

### Modificar o parâmetro para o SSIS
<a name="SSIS.ModifyParam"></a>

Modifique o parâmetro `clr enabled` no grupo de parâmetros que corresponde à edição e à versão do SQL Server da instância de banco de dados. Para o SSIS, defina o parâmetro `clr enabled` como 1.

#### Console
<a name="SSIS.ModifyParam.Console"></a>

O procedimento a seguir modifica o grupo de parâmetros que você criou para o SQL Server Standard Edition 2016.

**Como modificar o grupo de parâmetros**

1. Faça login no Console de gerenciamento da AWS e abra o console do Amazon RDS em [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. No painel de navegação, selecione **Parameter groups**.

1. Escolha o grupo de parâmetros, como **ssis-sqlserver-se-13**.

1. Em **Parâmetros**, filtre a lista de parâmetros para **clr**.

1. Escolha **clr ativado**.

1. Escolha **Edit parameters**.

1. Em **Valores**, escolha **1**.

1. Escolha **Salvar alterações**.

#### CLI
<a name="SSIS.ModifyParam.CLI"></a>

O procedimento a seguir modifica o grupo de parâmetros que você criou para o SQL Server Standard Edition 2016.

**Como modificar o grupo de parâmetros**
+ Execute um dos seguintes comandos:  
**Example**  

  Para Linux, macOS ou Unix:

  ```
  aws rds modify-db-parameter-group \
      --db-parameter-group-name {{ssis-sqlserver-se-13}} \
      --parameters "ParameterName='clr enabled',ParameterValue={{1}},ApplyMethod=immediate"
  ```

  Para Windows:

  ```
  aws rds modify-db-parameter-group ^
      --db-parameter-group-name {{ssis-sqlserver-se-13}} ^
      --parameters "ParameterName='clr enabled',ParameterValue={{1}},ApplyMethod=immediate"
  ```

### Associar o grupo de opções e o grupo de parâmetros à instância de banco de dados
<a name="SSIS.Apply"></a>

Para associar o grupo de opções e o grupo de parâmetros do SSIS à sua instância de banco de dados, use o Console de gerenciamento da AWS ou a AWS CLI 

**nota**  
Se você usar uma instância existente, ela já deve ter um domínio do Active Directory e uma função do AWS Identity and Access Management (IAM) associados a ela. Se você criar uma nova instância, especifique um domínio do Active Directory e uma função do IAM existentes. Para obter mais informações, consulte [Trabalhar com o Active Directory com o RDS para SQL Server](User.SQLServer.ActiveDirectoryWindowsAuth.md).

#### Console
<a name="SSIS.Apply.Console"></a>

Para concluir a ativação do SSIS, associe o grupo de opções e o grupo de parâmetros do SSIS a uma instância de banco de dados nova ou existente:
+ Para uma nova instância de banco de dados, associe-os ao executar a instância. Para obter mais informações, consulte [Criar uma instância de banco de dados do Amazon RDS](USER_CreateDBInstance.md).
+ Para uma instância de banco de dados existente, associe-os modificando a instância. Para obter mais informações, consulte [Modificar uma instância de banco de dados do Amazon RDS](Overview.DBInstance.Modifying.md).

#### CLI
<a name="SSIS.Apply.CLI"></a>

É possível associar o grupo de opções e o grupo de parâmetros do SSIS a uma instância de banco de dados nova ou existente.

**Como criar uma instância com o grupo de opções e o grupo de parâmetros do SSIS**
+ Especifique o mesmo tipo de mecanismo de banco de dados e a versão principal que você usou ao criar o grupo de opções.  
**Example**  

  Para Linux, macOS ou Unix:

  ```
  aws rds create-db-instance \
      --db-instance-identifier {{myssisinstance}} \
      --db-instance-class {{db.m5.2xlarge}} \
      --engine {{sqlserver-se}} \
      --engine-version {{13.00.5426.0.v1}} \
      --allocated-storage {{100}} \
      --manage-master-user-password \
      --master-username {{admin}} \
      --storage-type {{gp2}} \
      --license-model {{li}} \
      --domain-iam-role-name {{my-directory-iam-role}} \
      --domain {{my-domain-id}} \
      --option-group-name {{ssis-se-2016}} \
      --db-parameter-group-name {{ssis-sqlserver-se-13}}
  ```

  Para Windows:

  ```
  aws rds create-db-instance ^
      --db-instance-identifier {{myssisinstance}} ^
      --db-instance-class {{db.m5.2xlarge}} ^
      --engine {{sqlserver-se}} ^
      --engine-version {{13.00.5426.0.v1}} ^
      --allocated-storage {{100}} ^
      --manage-master-user-password ^
      --master-username {{admin}} ^
      --storage-type {{gp2}} ^
      --license-model {{li}} ^
      --domain-iam-role-name {{my-directory-iam-role}} ^
      --domain {{my-domain-id}} ^
      --option-group-name {{ssis-se-2016}} ^
      --db-parameter-group-name {{ssis-sqlserver-se-13}}
  ```

**Como modificar uma instância de banco de dados e associar o grupo de opções e o grupo de parâmetros do SSIS**
+ Execute um dos seguintes comandos:  
**Example**  

  Para Linux, macOS ou Unix:

  ```
  aws rds modify-db-instance \
      --db-instance-identifier {{myssisinstance}} \
      --option-group-name {{ssis-se-2016}} \
      --db-parameter-group-name {{ssis-sqlserver-se-13}} \
      --apply-immediately
  ```

  Para Windows:

  ```
  aws rds modify-db-instance ^
      --db-instance-identifier {{myssisinstance}} ^
      --option-group-name {{ssis-se-2016}} ^
      --db-parameter-group-name {{ssis-sqlserver-se-13}} ^
      --apply-immediately
  ```

### Habilitar a integração do S3
<a name="SSIS.EnableS3"></a>

Para baixar arquivos de projeto (.ispac) do SSIS para o host para implantação, use a integração de arquivos do S3. Para obter mais informações, consulte [Integrar uma instância de banco de dados do Amazon RDS for SQL Server ao Amazon S3](User.SQLServer.Options.S3-integration.md).