Trabalhando com pacotes SSIS no AWS RDS SQL Server

Trabalhando com pacotes SSIS no AWS RDS SQL Server

Trabalhando com pacotes SSIS no AWS RDS SQL Server 1
cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br


Na primeira parte do artigo, Explore o SQL Server Integration Services (SSIS) no AWS RDS SQL Server, entendemos que o AWS RDS SQL Server suporta a funcionalidade SSIS a partir de 19 de maioº, 2020.

Neste artigo, criaremos, implantaremos e agendaremos pacotes SSIS usando trabalhos do SQL Server Agent. Você deve configurar seu ambiente com os pré-requisitos e as etapas mencionados no primeiro artigo especificado acima.

Criar e implantar um projeto SSIS

Usamos as ferramentas de dados do Visual Studio 2019 SQL Server para criar um projeto de serviço de integração. Depois de instalar o visual studio 2019 usando Baixar SSDT (SQL Server Data Tools) para Visual Studio, precisamos ativar a extensão do serviço de integração.

Você deve instalá-lo na instância do Amazon EC2 Windows. Eu tenho a seguinte instância do EC2 e é um membro do [SqlshackDemo] domínio. É o mesmo domínio que usamos na instância do RDS.

Instalar a extensão Projetos do Serviço de Integração do SQL Server

Abra qualquer projeto no Visual Studio e vá para Extensões> Gerenciar extensão na barra de menus. Abre o seguinte mercado para baixar extensões. Pesquise os Projetos do Serviço de Integração do SQL Server e faça o download.
Extensão Projetos de Serviço de Integração

Inicie a instalação e selecione o idioma do instalador. Por padrão, ele escolhe o idioma do sistema. Você pode alterá-lo, se necessário.

Selecione o idioma

Clique em OK e inicia a instalação do projeto do serviço de integração no Visual Studio.

serviço de integração projeta a instalação

Já instalamos o Visual Studio 2019, para que ele integre o pacote de serviços de integração. Caso você tenha várias versões, você pode escolher a versão necessária.

Integrar o SSIS ao Visual Studio

Como podemos ver abaixo, o SQL Server Integration Services Projects versão 3.7 na instância do Visual Studio 2019 na Amazon EC2.

Instalação concluída

Crie um pacote SSIS usando o Visual Studio 2019 para AWS RDS SQL Server

Inicie o Visual Studio na instância do EC2, crie um novo projeto e selecione a categoria – Projeto de Serviço de Integração.

Projeto de Serviço de Integração.

Para configuração, especifique o nome e o local do projeto. Eu dou o nome do projeto – SSISforRDS.

Configurar projeto

Ele abre o seguinte projeto SSIS. Você pode ver a caixa de ferramentas do SSIS nos pacotes esquerdo e SSIS, juntamente com suas partes, como o fluxo de controle no Solution Explorer (lado direito).

Visão geral do pacote

Neste artigo, minha intenção principal é orientá-lo na criação de um projeto SSIS que use o serviço de integração do AWS RDS SQL Server. Vamos criar um pacote básico do SSIS aqui.

Minha instância SQL do RDS mantém [AdventureWorksDW2014] base de dados. Você pode baixar esse banco de dados de exemplo nos documentos da Microsoft. Você pode seguir o artigo Recuperar dados no AWS RDS SQL Server para restaurá-lo na instância do RDS usando o bucket S3.

Leia Também  Uma visão geral dos Snippets de Código no SSMS

Crie o seguinte procedimento armazenado para selecionar os registros de uma exibição SQL.

Crie o seguinte procedimento armazenado para selecionar os registros de uma exibição SQL.

Agora, arraste um Executar tarefa SQL na caixa de ferramentas do SSIS.

Adicionar uma tarefa Executar SQL

Clique duas vezes na tarefa executar SQL para abrir seu editor de configuração.

Editor de tarefas SQL

Clique em Conexão-> Nova Conexão. Na janela de conexão, especifique o ponto de extremidade do RDS como o nome do servidor, se você não tiver um ponto de extremidade à mão, faça login no console da AWS e obtenha-o no painel do AWS RDS SQL Server.

Na autenticação, sempre use a autenticação do Windows. Não podemos usar a autenticação SQL para SSIS no ambiente RDS.

Ponto final RDS

Clique em OK e especifique a instrução SQL para executar o procedimento armazenado que criamos anteriormente.

Especifique a instrução SQL

Clique OK. Agora, clique com o botão direito do mouse na solução SSIS e acesse suas propriedades. Aqui, você pode ver a data de criação do projeto, o nome da instância do EC2, o usuário autenticado do Windows e o nome do projeto.

Propriedades da solução SSIS para o AWS RDS SQL Server

Em segurança, ele define o nível de proteção padrão como EncryptSensitiveWithUserKey. Mude este nível de proteção para DonotSaveSensitive.

Nível de proteção do pacote SSIS

Você recebe uma mensagem de aviso se alterar o nível de proteção do pacote. Clique em Ok para aceitar o aviso.

Mensagem de aviso

Também precisamos definir o mesmo nível de proteção para o pacote SSIS. Clique com o botão direito do mouse na área de fluxo de controle e vá para Propriedades. Altere o nível de proteção para DonotSaveSensitive, como mostrado na imagem abaixo.

Alterar o nível de proteção

Salve o pacote e clique em Compilar-> Compilar Solução.

Solução de compilação

Ele cria o pacote para você e você obtém o status na guia Saída.

status de compilação do pacote

Faça o download do arquivo ISPAC do projeto do bucket S3 para o AWS RDS SQL Server

Procure o diretório do projeto SSIS na instância do EC2. Na pasta Bin-> Development, você pode encontrar um arquivo de projeto com a extensão .ispac semelhante ao arquivo abaixo.

pasta de desenvolvimento do projeto

Faça logon no console da web da AWS e faça upload do arquivo project.ispac no bucket S3 que já está integrado ao AWS RDS SQL Server.

Carregar arquivo .ISPAC no bucket do S3

Para baixar esse arquivo do bucket S3 para o diretório RDS (D: S3), usamos o procedimento armazenado RDS msdb.dbo.rds_download_from_s3 com os seguintes argumentos.

  • @ s3_arn_of_file: É o nome do recurso Amazon (ARN) do arquivo .ispac do bucket S3. Seu formato é arn: aws: s3 :::/ FilenameWithExtension
  • @rds_file_path: É o diretório da instância do RDS. É sempre D: S3 para RDS SQL Server

Você deve executar este procedimento no SSMS conectado usando o AWS RDS SQL Server autenticado pelo Windows.

Inicia uma tarefa para executar o procedimento armazenado. Anote o ID da tarefa e passe-o no msdb.dbo.rds_fn_task_status para verificar o status.

Procedimento armazenado msdb.dbo.rds_fn_task_status

Ele mostra o status de sucesso, o que significa que o RDS baixou o arquivo ISPAC no diretório da instância do RDS.

Tarefa bem sucedida

Crie uma pasta no catálogo de serviços de integração SSISDB

Antes de avançarmos, clique com o botão direito do mouse no catálogo SSISDB e crie uma pasta. Nesse caso, estamos conectados ao usuário administrador do RDS.

Crie uma pasta no catálogo SSISDB

Você recebe a seguinte mensagem de erro. Recebemos esse erro porque o usuário ADMIN não tem permissão para criar pastas no catálogo do SSIS.

Erro de permissão

Vamos tentar a mesma operação com usuários autenticados do Windows. Criamos uma pasta [Sample SSIS project] no catálogo SSISDB.

Crie uma nova pasta usando a autenticação do Windows

Ele criou a pasta, como mostrado abaixo. Usamos essa pasta para implantar o projeto criado anteriormente.

Ver a pasta

Implantar um projeto SSIS no catálogo SSISDB do AWS RDS SQL Server

Nós usamos o procedimento armazenado msdb.dbo.rds_msdb_task para implantar um projeto SSIS.

Na consulta acima, usamos os seguintes argumentos.

  • @task_type: SSIS_DEPLOY_PROJECT
  • @caminho de arquivo: É o caminho do arquivo ispac do projeto no AWS RDS SQL Server
  • @nome da pasta: É a pasta do catálogo SSIS na qual queremos implantar o projeto. Já criamos a pasta do catálogo como Projeto SSIS de amostra
  • @Nome do Projeto: Especifique o nome do projeto que selecionamos anteriormente ao criar o projeto SSIS no Visual Studio

Projeto de implantação do SSIS

Implementamos um pacote com sucesso, pois mostra o status SUCESSO no diretório msdb.dbo.rds_fn_task_status.

Status da tarefa

Agora, atualize a conexão SSMS e você verá o pacote e o projeto SSIS de implantação no projeto de serviço de integração.

Exibir o projeto implantado

Executar um projeto SSIS do catálogo SSISDB manualmente

Podemos executar manualmente o pacote no catálogo SSISDB ou executá-lo usando o trabalho SQL. Clique com o botão direito do mouse no pacote e selecione Executar, como mostrado abaixo.

Executar pacote manualmente

Abre a seguinte janela de execução do pacote. Você pode verificar a conexão da instância do RDS e as propriedades do pacote.

Verificar conexões

Clique em Ok e ele inicia um ID de operação para a execução do pacote.

ID da operação para o pacote SSIS

Clique em OK e ele abre o relatório de execução do pacote. Oh! O pacote falhou na execução. Não é possível abrir a conexão com a instância do RDS. É surpreendente, né! Já nos conectamos ao RDS usando a autenticação do Windows e funciona bem, mas no pacote, ele falha ao adquirir uma conexão.

Pacote com falha

Para resolver esse erro, clique com o botão direito do mouse no pacote e selecione Configurar.

Configurar projeto

No pacote SSIS do AWS RDS SQL Server, precisamos especificar o nome do servidor no seguinte formato: .

Temos a seguinte cadeia de conexão no pacote que usa o ponto de extremidade do RDS.

Cadeia de conexão atual:

Fonte de dados = ssasinrds.cumznzii9fba.us-east-1.rds.amazonaws.com; Catálogo inicial = AdventureWorksDW2014; Provedor = SQLNCLI11.1; Segurança integrada = SSPI; Conversão automática = Falso;

Substitua essa cadeia de conexão que usa o nome do servidor no formato especificado acima.

  • Instância do RDS: ssasinrds

  • Domínio: SQLshackdemo.com

Nova seqüência de conexão

Novo: fonte de dados = ssasinrds.sqlshackdemo.com; catálogo inicial = AdventureWorksDW2014; provedor = SQLNCLI11.1; segurança integrada = SSPI; conversão automática = falso;

Modificar seqüência de conexão

Clique em Ok e abra novamente o assistente de configuração. Agora, substitua o nome do servidor no novo formato.

Editar o nome do servidor para o AWS RDS SQL Server

Quando as duas alterações estiverem concluídas, execute o pacote SSIS. Você pode validar a cadeia de conexão usando o novo formato de servidor.

Verificar alterações

Podemos ver que o pacote é executado com êxito depois de fazer a alteração na conexão da instância do RDS no novo formato.

Pacote de sucesso

Executar um pacote SSIS usando o trabalho do SQL Server Agent

Geralmente, configuramos um trabalho do SQL Server Agent para executar o pacote em um horário agendado. Também podemos configurar uma tarefa do agente SQL para execução de pacotes no AWS RDS SQL Server.

Requer a configuração de uma conta credencial e proxy para execução do trabalho.

Crie uma credencial para configuração do proxy

Ele usa o comando CREATE CREDENTIAL. Especifique o usuário do Windows (argumento de identidade) e a senha (argumento secreto) na consulta abaixo.

Crie uma credencial para configuração do proxy

Crie uma conta proxy que use a credencial criada acima

Nesta etapa, criamos um proxy com a credencial criada na etapa acima. Também precisamos conceder permissões para executar o pacote de serviço de integração usando o msdb.dbo.rds_sqlagent_proxy procedimento.

Crie uma conta proxy

Configurar um trabalho do agente SQL para executar o pacote SSIS no AWS RDS SQL Server

Expanda SQL Server Agent, trabalhos e crie um novo trabalho. Neste, especifique um nome de trabalho e você também pode especificar uma descrição.

Configurar um trabalho do agente SQL

Clique nas etapas e adicione uma nova etapa do trabalho usando as seguintes entradas.

  • Especifique um nome de etapa da tarefa

  • Altere o tipo no menu suspenso como Pacote de Serviço de Integração do SQL Server

  • Selecione a conta proxy na lista suspensa no Correr como seção

  • Especifique o nome do servidor no novo formato – .

Adicionar uma nova etapa do trabalho

Clique no eclipse no pacote e selecione o pacote que queremos executar.

Selecione o pacote no catálogo SSISDB

Você pode ver a configuração da etapa do trabalho, como mostrado abaixo.

Ver pacote

Você pode criar uma programação de trabalho conforme sua necessidade.

Criar uma agenda de trabalho

Podemos ver o trabalho do agente SQL para executar o pacote no AWS RDS SQL Server.

Ver trabalho

Clique com o botão direito do mouse no trabalho para executá-lo ou aguarde sua execução automática no horário agendado. Podemos ver abaixo o trabalho que contém o pacote de serviço de integração executado com sucesso

Execução de trabalho bem-sucedida

Conclusão

No artigo das duas séries, exploramos a configuração dos serviços de integração para o AWS RDS SQL Server. Implantamos um projeto SSIS, o executamos manualmente e também usamos o trabalho do agente do SQL Server. É um aprimoramento útil para os serviços RDS SQL, e eu recomendo que você o explore.

Rajendra Gupta
Últimas mensagens de Rajendra Gupta (ver todos)

cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br