我有一個場景,我需要允許用戶在一個數據庫中訪問同一SQL服務器上另一個數據庫中的對象。2個數據庫中的SQL用戶權限
SQL SERVER SETUP:
我有一個SQL Server 2008 Express實例正在運行。
在這一例子中,我有以下幾點:
2數據庫:
DATABASE1
DATABASE2
2登錄:
ADMIN1
ADMIN2
DATABASE1有一個用戶(USER1)上ADMIN1創建並且對SELECT,UPDATE,刪除,插入和GRANT在DATABASE1
存儲過程的執行權限DATABASE2對ADMIN2創建的用戶(USER2),並且具有對SELECT,UPDATE權限, DELETE,INSERT和格蘭特DATABASE2存儲過程的EXECUTE
問題:
什麼我需要是讓「USER1」 SELECT /在DATABASE2
我曾嘗試EXECUTE權限表和存儲過程幾個帖子的一些片段,但我不知道如何編寫SQL。 我也嘗試過通過右鍵點擊用戶並在管理工作室中登錄來勾選權限複選框的方式手動執行此操作,但我需要SQL在我的腳本中執行。
的原因我的問題
我在DATABASE1和DATABASE2表這是相關的,但顯然我們不能創造跨越不同的數據庫外鍵約束。 我們認爲處理2個表之間關係的最佳方法是在DATABASE1中創建一個存儲過程,以查詢DATABASE2中的 相關表並返回結果。
不能發佈任何示例的道歉,因爲我無法通過與上述場景相匹配的搜索找到任何示例。 如果我可以提供任何進一步的信息,請讓我知道。
非常感謝 千電子伏
只是另一個想法.......當我「跨數據庫」看到了。想法1.在Database1中創建一個引用Database2的視圖。我會把它放在一個新定義的模式名稱下。因此...查詢數據庫1(查看db 2中的數據),您將有「從OtherDatabasesSchema.vwCounty ........ Idea2中選擇A,B,C,在db1中使用代碼中的同義詞,以及這個同義詞可以指向數據庫2中的對象。 – granadaCoder