我有兩個數據庫如下所述:有沒有辦法將數據庫名稱設置爲SQL服務器的全局名稱?
- [QCR_DEV]
- [QCR_DEV_LOG]
所有應用數據被存儲在[QCR_DEV]。在[QCR_DEV]的每個表上,存在觸發器,其將[QCR_DEV]表的插入和更新的細節插入到[QCR_DEV_LOG]數據庫中。
假設我有一個表[派對]在[QCR_DEV]數據庫。每當我插入,更新或刪除表中的某些記錄。將在表[party_log]中存在一個插入,其存在於[QCR_DEV_LOG]數據庫中。簡而言之,我將[QCR_DEV]表格上執行的日誌或操作保存到[QCR_DEV_LOG]數據庫中。
當我們通過應用程序連接到數據庫時,它使用連接字符串以某種方式連接到數據庫。
Select * From [QCR_DEV].[party];
我使用這樣的:在我的存儲過程,就像我沒有使用數據庫名
Select * From [party];
這是因爲,在功能,如果我需要更改數據庫的名稱,然後我將只需要更改連接字符串。
現在來談談,我需要從[QCR_DEV_LOG]數據庫獲取數據。我正在寫一個存儲過程中,我需要從像兩個數據庫獲取數據:該存儲過程是在[QCR_DEV]數據庫
Select * From [QCR_DEV_LOG][party_log]
INNER JOIN [person] on [person].person_id = [QCR_DEV_LOG][party_log].person_id
where party_id = 1
。我需要從兩個數據庫中獲取數據。爲此,我需要在查詢中提及數據庫名稱。我不想要這個。有沒有辦法設置全局數據庫名稱,並在我的查詢中使用這個名稱,以便如果將來我需要更改數據庫名稱,我只能從全局設置的位置更改。有沒有辦法做到這一點?
爲您的數據庫源代碼使用SSDT項目,並在兩個項目之間創建數據庫引用。 –
您可以爲其他數據庫中的對象創建[同義詞](https://msdn.microsoft.com/library/ms187552)。但是,您不能爲數據庫創建同義詞。 –
@MartinSmith我有一個非常大的數據庫。我現在不能這樣做。 – Umer