Tenho usado a nova função de pesquisa no Reporting Services 2008 R2 ao usar diferentes servidores onde não tenho a opção de um servidor vinculado. No entanto, o DBA acabou de criar um link para esse servidor e gostaria de saber se posso obter melhor desempenho alterando minha consulta/relatório para usá-lo em vez da função de pesquisa.
Definitivamente, tenho muito mais flexibilidade na rota do servidor vinculado, mas não tenho certeza sobre o desempenho.
Se você realmente estiver executando exatamente a mesma consulta, não deve haver muita diferença na execução e no retorno dos resultados. Eu esperaria que o servidor SQL com o servidor vinculado tivesse uma vantagem nas pesquisas reais dos resultados.
Mas isso não significará nada se as consultas que você está executando nas fontes forem diferentes. As diferenças podem ocorrer de qualquer maneira, dependendo das especificidades de suas consultas. Com o servidor vinculado, você pode recuperar exatamente os dados de que precisa do servidor vinculado, portanto, as coisas provavelmente seriam mais rápidas. Mas se sua consulta for muito geral em sua junção ou recuperar um número excessivo de linhas do servidor vinculado, isso custará caro.
Então eu voto para ir com o que for mais conveniente para você. Se você precisar do conjunto de dados da subconsulta no SSRS para outros resumos, mantenha o conjunto de dados separado. Se você pensa confortavelmente em termos de SQL, vá com o servidor vinculado. Em seguida, otimize se as coisas estiverem lentas.
(Seria fácil criar duas situações em que eu poderia obter uma resposta mais rápida, dependendo de minhas pesquisas e consultas, mesmo quando retornasse os mesmos resultados. As otimizações de consulta facilmente compensariam qualquer diferença de desempenho entre os dois métodos . Por exemplo, com uma pesquisa SSRS, você pode usar o cache do conjunto de dados, o que evitaria totalmente a espera por outro servidor.)