Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

SQL Server 2017:Copiando dados do SQL Server do Linux para o Windows com SSIS


O SQL Server 2017 Integration Services agora pode ser executado no Linux, o que significa que você pode migrar um pacote desenvolvido no Windows e usar o ODBC como conector.

Para testar isso, criamos um pacote simples no Windows que copiava dados entre uma instância local e remota do SQL Server e depois executava o pacote em uma máquina Linux.

O processo foi simples, a única coisa a ter em mente é que você precisa criar fontes de dados ODBC com os mesmos nomes nas máquinas Windows e Linux. As etapas para criar nosso pacote de teste simples são as seguintes:
  1. No SQL Server Management Studio, conecte-se à instância do SQL Server da qual deseja copiar os dados.
  2. Crie uma tabela de teste simples:
    CREATE DATABASE ssis
    USE ssis
    CREATE TABLE Persons (
        PersonID int identity,
        LastName varchar(255),
        FirstName varchar(255),
        Address varchar(255),
        City varchar(255)
    );
    INSERT INTO Persons VALUES ('Erichsen', 'Tom', 'Skagen 21', 'Stavanger')
    
  3. Conecte-se à instância para a qual deseja copiar os dados. Crie a tabela de teste, mas não a preencha.
  4. Na máquina em que o Visual Studio está instalado, crie duas fontes de dados ODBC, uma para cada instância do SQL Server. Use a versão de 32 bits do ODBC Data Source Administrator para fazer isso.
  5. No Visual Studio, crie um novo projeto do Integration Services.
  6. Arraste uma tarefa de fluxo de dados da Caixa de ferramentas para a guia Fluxo de controle.
  7. Escolha a guia Fluxo de dados.
  8. Arraste uma Origem ODBC da Caixa de ferramentas para a guia Fluxo de dados e pressione Return.
    O Destino ODBC está na lista Outras Fontes.
  9. Selecione a fonte ODBC e pressione Return.
  10. Na caixa de diálogo Origem ODBC, escolha Novo.
  11. Na caixa de diálogo Configurar Gerenciador de Conexões ODBC, escolha Novo.
  12. Na caixa de diálogo Gerenciador de Conexões, escolha a fonte de dados ODBC que se conecta à instância de origem do SQL Server e use o botão OK para retornar à caixa de diálogo Origem ODBC.
  13. Escolha Colunas.
  14. Arraste um Destino ODBC da Caixa de ferramentas para a guia Fluxo de dados e pressione Return.
    Destino ODBC está na lista Outros destinos.
  15. Selecione a fonte ODBC. Arraste a seta azul até o Destino ODBC.
  16. Selecione o Destino ODBC e pressione Return.
  17. Na caixa de diálogo Destino ODBC, escolha Novo.
  18. Na caixa de diálogo Configurar Gerenciador de Conexões ODBC, escolha Novo.
  19. Na caixa de diálogo Connection Manager, escolha a fonte de dados ODBC que se conecta à instância de destino do SQL Server e use o botão OK para retornar à caixa de diálogo ODBC Source.
  20. No Nome da tabela ou na lista de visualização, escolha Pessoas.
  21. Escolha Mapeamentos.
  22. Exclua o mapeamento entre as colunas PersonID. O PersonID é preenchido automaticamente.
  23. Instale, licencie e teste a versão Linux de 64 bits do driver ODBC do SQL Server na máquina em que a porta Linux do SQL Server e do SSIS está instalada.
  24. Na máquina Linux, crie duas fontes de dados ODBC do SQL Server, com os mesmos nomes das fontes de dados que você criou no Windows.
    No Linux, você cria fontes de dados ODBC editando um arquivo de texto, normalmente armazenado em /etc/odbc.ini. Você pode adaptar a fonte de dados de amostra, SQLSERVER_SAMPLE , se quiser, mas lembre-se de renomeá-los.
  25. Copie o pacote SSIS da máquina Windows para a máquina Linux.
  26. Para executar o pacote:
    export PATH=/opt/ssis/bin:$PATH
    dtexec /F "MyPackage.dtsx"