lias do banco de dados cruzado do SQL Server
Estou tentando entender como posso usar um alias para fazer referência a outro banco de dados na mesma instância, sem precisar usar um nome codificad
O cenário é o seguinte:
Tenho um banco de dados com os dados das lojas, um banco de dados de auditoria que mantém todas as alterações feitas. por várias razões, desejo manter os dados de auditoria em um banco de dados separado, principalmente porque eles podem ficar muito grandes e para fins de relatóri
No banco de dados de dados, não quero fazer referência a isso por um nome codificado, mas por um alias, para que em ambientes diferentes, não precise alterar o nome e vários sps para fazer referência ao novo nom
por exemplo
mydevdata
mydevaudit
Se houver um sp emmydevdata
como o que chamamydevaudit
, Não quero alterar o sp quando for testar onde os bancos de dados podem ser chamadosmytestdata
emytestaudit
. Novamente, por várias razões, os nomes dos bancos de dados podem mudar, mais relacionados a espaços e instâncias etc.
Então, se eu tivesse procedimento emmydevdata
:
proc A
begin
insert into mydevaudit.table.abc(somecol)
select 1
end
uando eu for testar, não quero alterar o procedimento para fazer referência a outro nome (assuma, por uma questão de argumento que acontece
Em vez disso, estou procurando fazer algo como:
proc A
begin
insert into AUDITEBALIAS.table.abc(somecol)
select 1
end
Estou interessado em descobrir como eu poderia fazer algo assim, e os prós e contra
Além disso, o SQL dinâmico não é uma opçã
Agradeço antecipadamente por sua ajuda