1
奇怪的是,這個工作幾個星期前。我需要在所有存儲過程中找到出現特定短語的所有實例。我們有數百個存儲過程,所以我想用SQL來告訴我它們在哪裏。我正在使用此語句:查詢到sys.sql_modules不會返回行
SELECT DISTINCT
o.name, o.type_desc
FROM sys.sql_modules m
JOIN sys.objects o ON m.object_id = o.object_id
WHERE m.definition LIKE '%view_cu_Account_Bills_b%'
問題是返回零行。此問題似乎與sys.sql_modules一樣,如以下查詢:
SELECT TOP 5 *
FROM sys.sql_modules
還包含零行。在具有數百個存儲過程的數據庫中,爲什麼sys.sql_modules中沒有任何內容?我在MS SQL Server設置中丟失了什麼? (我正在使用2008年版)。
你可能不要沒有足夠的權限。 [目錄視圖中元數據的可見性僅限於用戶擁有的或用戶已被授予某種權限的安全性。](http://msdn.microsoft.com/zh-cn/library/ms175081.aspx ) –
這就是我的想法,但似乎我有權限......我可以改變存儲過程,我經常這樣做。我當然有能力查看它們...不會表明我應該在sys.sql_modules中看到它們嗎? – Kreg
並且您正在用戶憑據和正確的數據庫上下文中運行查詢? –