0
我想查看實例中所有數據庫中的所有同義詞列表。在大多數數據庫中,只有1個同義詞,但每個實例中都有數百個數據庫。理想情況下,我想結果是這個樣子:整個實例中的所有數據庫和相應的同義詞列表
1列:數據庫名
2列:同義詞名稱
3列:基礎對象名稱(或其他任何東西,將顯示的確切文本同義詞)
該查詢所做的更多的不是我希望它做的事情,但它僅適用於單個數據庫。
select db_id(parsename(base_object_name, 3)) as dbid
, object_id(base_object_name) as objid
, base_object_name
from sys.synonyms;'
我試着改變上面的查詢來顯示所有數據庫的結果,並且我結束了下面的查詢。雖然它不會導致執行失敗,但它也不會產生結果。它使用正確的列名打印數百個空表。
DECLARE @command varchar(1000)
SELECT @command = 'select db_id(parsename(base_object_name, 3)) as dbid
, object_id(base_object_name) as objid
, base_object_name
from sys.synonyms;'
EXEC sp_MSforeachdb @command
我會很感激,如果你能幫助我找到一種方式來獲得的情況下,每個數據庫的所有同義詞的一個乾淨的名單。
它就像一個魅力。謝謝! – QWE