我想了解如何使用別名在同一實例中引用另一個數據庫,而不必使用硬編碼名稱。SQL Server跨數據庫別名
的情況是如下:
我有一個存儲數據,審計數據庫這使所做的所有更改數據分貝。出於各種原因,我想將審計數據保存在一個單獨的數據庫中,尤其是因爲它可能會變得非常大並且用於報告目的。
在數據db中,我不想通過硬編碼名稱引用此名稱,而是使用別名,以便在不同的環境中,我不必更改名稱和各種sp以引用新名稱。
例如:
mydevdata
mydevaudit
如果mydevdata
存在SP如它調用mydevaudit
,我不想當我去測試,其中分貝的可稱爲改變SP mytestdata
和mytestaudit
。再次,由於種種原因,該數據庫的名稱可以改變,更給實例做用空格等
所以,如果我在mydevdata
程序:
proc A
begin
insert into mydevaudit.table.abc(somecol)
select 1
end
,當我去考,我不想改變程序引用另一個名稱,(承擔便於討論所發生)
相反,我希望做類似:
proc A
begin
insert into AUDITEBALIAS.table.abc(somecol)
select 1
end
我我有興趣瞭解我可以如何做這樣的事情,以及專業和缺點。
此外,dymnamic SQL不是一個選項。
在此先感謝您的幫助。
請你能否詳細說明爲什麼「dymnamic SQL不是一個選項」 – Seph