Há algum impacto no desempenho ao fazer uma seleção em outro banco de dados na mesma máquina física? Portanto, tenho 2 bancos de dados na mesma máquina física em execução na mesma instância do SQL 2008.
Por exemplo, em SomStoreProc on_this_db eu executo SELECT someFields FROM the_other_db.dbo.someTable
Até agora, pelo que li na internet, a maioria das pessoas parece indicar NÃO.
Você não deve ver degradação de desempenho ao consultar bancos de dados na mesma instância. O mesmo analisador de consulta, buffers, etc. estão em uso.
Agora, se você tentar o mesmo em instâncias SQL distintas no mesmo servidor, poderá ver um impacto no desempenho. A consulta teria que ser analisada por dois analisadores de consulta distintos e mais recursos do sistema seriam usados para caches, buffers, etc. Você também forçaria os resultados a passarem pelo protocolo VIA (supondo que esteja habilitado) entre as instâncias. O MS DTC pode estar envolvido e, se as permissões forem inadequadas em uma das instâncias, um plano de consulta ruim pode ser criado.
o Profiler + plano de execução + estatísticas de IO/Cpu são seus melhores amigos para verificar isso. Copie sua tabela no primeiro banco de dados e compare a duração e as outras estatísticas com as encontradas ao ter a tabela no segundo banco de dados. Você verá se há alguma penalidade.
Pessoalmente, não vi um impacto visível no desempenho ao ler dados de tabelas de outros bancos de dados no mesmo servidor.