Dicas SQL Server

Select de um linked server ou insert into usando linked server?

Select de um linked server ou insert into usando linked server?
Qual a melhor opção? Select de um linked server ou insert into usando linked server?

Suponhamos que você tem uma operação para fazer onde você deve transferir dados de um servidor A para um servidor B através de um linked server a melhor opção é select de um linked server ou insert into usando um linked server?
Por exemplo:

Executar no servidor de origem:

INSERT INTO [LinkedServerDeDestino].[DBDestino].[dbo].[Tabela]
SELECT a, b, c, ... FROM [dbo].Udf_ExportarDados()

Ou executar no servidor de destino:

INSERT INTO [dbo].[Tabela]
SELECT a, b, c, ...
FROM OPENQUERY([LinkedServerDeOrigem],
    'SELECT a, b, c, ... FROM [DBOrigem].[dbo].ExportarDados()')

Qual dos dois é mais rápido?

Resposta:

Digamos que você quer mover dados de um servidor para outro. Melhor forma de fazer isso é:
– Se você quer todos os dados use um backup / restore, BPC OUT & BCP IN ou SSIS.
– Se você quer apenas alguns dados de algumas tabelas use SSIS ou BCP.

Para remoção de dados de um servidor para o outro a performance vai depender do tamanho dos dados e a largura de banda da sua rede.

No primeiro exemplo da query citada acima, esse tipo de query é conhecido como pushing data, onde você executa a query no servidor de origem e “empurra” os dados para o servidor de destino.

No segundo exemplo citado acima, esse tipo de query é conhecido como pulling data onde você executa a query do servidor de destino puxando os dados do servidor de origem. Essa segunda opção é mais rápida e consome menos recursos em comparação com a primeira versão, (dependendo da quantidade de dados que está sendo “puxado”).

Select de um linked server ou insert into usando linked server?
The following two tabs change content below.

Wesley Mota

DBA SQL Server
Profissional graduado em Banco de Dados e Sistemas de Informação com mais de 7 anos de experiência em empresas de software. Certificado MCSA Microsoft SQL Server possui intensa vivência em administração de banco de dados, Tunning, Performance SQL Server, levantamento de melhorias e monitoramento de banco de dados e servidores SQL Server. Consultoria SQL Server em diversos clientes no Brasil e ao redor do mundo. Escritor no blog dbasqlserverbr.com.br/blog. Onde compartilha conhecimento, experiências e dicas de performance para DBAs SQL Server. Conhecimentos em Oracle e ambientes de alta disponibilidade. Desenvolvimento de softwares web e mobile.Gerenciamento de equipe e projetos.

Latest posts by Wesley Mota (see all)