我正在使用MSSQL 2014,並且遇到了數據庫管理員關於安全性的一個請求。 我們的解決方案包含多個數據庫(在同一臺服務器上),其中包含兩個或多個數據庫的表之間連接的存儲過程。我們有一個用戶在所有數據庫上擁有相同的權限。 非常簡單的例子:一個數據庫包含文章,而另一個包含價格,查詢需要獲得與他們的價格文章。查詢在這兩個數據庫中的表之間有INNER JOIN-s。MSSQL - 爲數據庫創建別名
在我們客戶的測試環境中部署解決方案後,我與客戶的數據庫管理員進行了交談,並要求我修改數據庫和用戶以符合他們的一些標準。這些標準包括不同環境下的不同數據庫名稱以及每個數據庫一個獨立的用戶。
如果我在當前的解決方案中更改了數據庫名稱和用戶,則由於數據庫名稱無效或憑證無效,存儲過程將返回錯誤。我問管理員他們是如何在他們的環境中解決這個問題的,他的答案是他們創建數據庫鏈接。在搜索解決方案後,我發現Oracle具有CREATE DATABASE LINK選項,但MSSQL中沒有任何類似(除了可能的鏈接服務器功能,但這不能解決我的問題)。
我在找的東西類似於MSSQL 2014中Oracle的CREATE DATABASE LINK,這種解決方案可以在不需要更改查詢的情況下執行存儲過程,而是創建需要的數據庫的「別名」被重新命名。
有沒有人有一個想法,我可以做到這一點?
谷歌SQL同義詞 – 2014-11-06 13:06:25
它是客戶,但數據庫名稱如何是一個安全問題? – Paparazzi 2014-11-06 13:08:12
您是否在尋找[this](http://msdn.microsoft.com/zh-cn/library/ff772782.aspx)? – ForguesR 2014-11-06 13:08:45