存儲過程我有兩個不同的SQL Server數據庫(在同一服務器上 - 如果它幫助)需要共享同一個存儲過程的邏輯。該解決方案我想實現這個樣子的:共享使用跨數據庫的同義詞
Database1
Table: TestTable
Synonym: sp_MyProc pointing at SharedDatabase.dbo.sp_MyProc
Database2
Table: TestTable
Synonym: sp_MyProc pointing at SharedDatabase.dbo.sp_MyProc
SharedDatabase
Proc: sp_MyProc which runs queries against TestTable
我的希望是使用同義詞,因此如果我執行sp_MyProc而在數據庫1的情況下,它會使用Database2.TestTable。如果我在Database2的上下文中執行sp_MyProc,它將違背Database2.TestTable。但是,當我通過任一同義詞執行sp_MyProc時,它會忽略同義詞的上下文並執行查找TestTable的本地副本,但找不到該副本。
有沒有落實執行鍼對不同數據庫的表的不同副本的共享存儲過程的方式,無論是通過同義詞或一些其他的機制?
編輯
我要指出,在我的情況我找一個大組現有表和特效要做到這一點,這樣就要求修改本身是不理想的特效或表的任何解決方案。
這也是我所期待的。 – Gisway 2016-08-25 22:34:25