4
我有一個數據庫FooDb
與包含表Tbl
(即FooDb.BarSchema.Tbl
)默認模式代名詞
我也登錄與BarSchema
默認用戶的模式BarSchema
。
此查詢工作正常
SELECT * FROM FooDb..Tbl
我也有此表的代名詞在另一個數據庫
CREATE SYNONYM TblSynonym FOR FooDb..Tbl
但現在我得到一個錯誤「無效的對象名稱FooDb..Tbl「 「執行時
SELECT * FROM TblSynonym
如果我將同義詞更改爲
CREATE SYNONYM TblSynonym FOR FooDb.BarSchema.Tbl
它工作正常。
爲什麼沒有同義詞默認模式工作?如果我可以爲用戶上的每個數據庫設置默認模式,然後忽略,那麼這將會容易得多,因爲我們可以從幾個數據庫中合併數據庫,這些數據庫都具有相同的表名但不同的模式名。它無處不在的腳本)
我已經驗證的默認模式是同時根據數據庫 - >安全 - >用戶和連接 - >安全 - > Logins->用戶正確。 (使用同義詞時發生錯誤,而不是在創建時發生錯誤) – adrianm 2010-05-21 09:23:38