Dicas

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?
Wesley Mota

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.

Share
Published by
Wesley Mota

Recent Posts

Dicas de como a função UPPER() no SQL Server pode degradar a performance

Saiba como a função UPPER() no SQL Server pode degradar a performance das suas consultas…

6 anos ago

Como diminuir o RESOURCE_SEMAPHORE_QUERY_COMPILE

Saiba agora mesmo como você pode diminuir o RESOURCE_SEMAPHORE_QUERY_COMPILE no SQL Server. Recentemente eu trabalhei em…

8 anos ago

Funções de Data no SQL Server: Conheça a DATEADD ()

Nós DBA' e desenvolvedores quase sempre temos que trabalhar com datas quando se trata de…

8 anos ago

3 Maneiras Para Proteger a Conta SA no SQL Server

Quais são as diferentes maneiras de proteger o login Senha do Administrador (SA)? Todos estão…

8 anos ago

Alterar a Senha de SA do SQL Server: Como Fazer?

Com os direitos que o login sa tem por padrão no SQL Server, é obrigatório…

8 anos ago

Segurança Para DBAs e Administradores no SQL SERVER

Como um DBA, você tem a responsabilidade de garantir a segurança do aplicativo e dos…

8 anos ago