Q
如何找到SP參考
1
A
回答
0
嘗試:
SELECT OBJECT_NAME(m.object_id), m.*
FROM SYS.SQL_MODULES m
WHERE m.definition LIKE N'%my_sp_name%'
記住SYSCOMMENTS和INFORMATION_SCHEMA.ROUTINES必須爲nvarchar(4000)列。所以如果在位置3998使用my_sp_name
,它將不會被找到。 SYSCOMMENTS確實有多行,但ROUTINES截斷。
3
如果你的依賴被打破,我現在正在考慮是有信心的唯一方法是一個SQL文件導出所有的存儲過程定義,然後使用.sql文件內搜索依賴你最喜歡的源代碼編輯器。
0
我編寫了這個查詢來搜索所選字符串的「代碼對象」(包括過程,函數,觸發器,視圖,以及其他任何被暫停在sys.sql_modules中),無論是表,列,註釋還是存儲過程名稱。我有理由相信,這將解釋字符串在不同數據頁面上「分裂」的可能性。
返回的列有:
- 擁有架構
- 對象名稱
- 對象類型(按照在sys.objects中type_desc)以字節爲單位
- 代碼lenght(有時也有助於瞭解有多大代碼是)
- 包含字符串的實際代碼
這將只列出字符串存在的對象。如果你搜索,說「聲明」,你可能會得到數據庫中的每個程序和功能。它也不會評估字符串的使用方式。如果您的程序名稱僅出現在另一程序的註釋中,則該程序將被列出。
總之,這是一個起點。它會列出您的字符串存在的位置;那麼你必須進入並審查每個案例,以確定它是如何使用的。
DECLARE @SearchText varchar(100)
SET @SearchText = 'YourTextHere'
SELECT
schema_name(ob.schema_id) SchemaName
,ob.name
,ob.type_desc
,len(mo.definition) CodeLength
,mo.definition
from sys.sql_modules mo
inner join .sys.objects ob
on ob.object_id = mo.object_id
where mo.definition like '%' + @SearchText + '%'
order by
case schema_name(ob.schema_id)
when 'dbo' then 'A'
else 'B' + str(ob.schema_id, 10)
end
,ob.type_desc
,ob.name
相關問題
- 1. 找不到參考
- 2. 我如何找到裝配參考?
- 3. 參考找不到xsd
- 4. ReactJs無法找到參考
- 5. MATLAB找到功能參考
- 6. Microsoft.Office.Interop.Excel參考無法找到
- 7. 未找到Microsoft.Office.Interop.Word參考
- 8. 參考android.target.classpath沒有找到
- 9. Nlog參考找不到
- 10. Xades4j:未找到SignedProperties參考
- 11. 找不到Logger的參考
- 12. 如何提高尋找參考表名
- 13. 如何使用AltBeacon android參考庫找到任何信標?
- 14. EF參考查找
- 15. 找不到可以參考的方法
- 16. 找不到符號objc分類參考
- 17. 找不到ASP.NET項目參考...?
- 18. 找不到此參考的類型庫
- 19. 找不到「SubmitChanges」的參考信息
- 20. 參考錯誤找不到xmlhttp
- 21. 找不到與參考綁定的源
- 22. Windows腳本無法找到參考
- 23. 貓鼬:找到所有參考文件
- 24. 'GZipStream'找不到 - 參考問題
- 25. Git:fatal:無法找到遠程參考my_repo
- 26. .NET編譯器找不到參考
- 27. 未找到Android類參考錯誤
- 28. FirstToken找不到某些參考-UIMA RUTA
- 29. 參考文獻沒有找到
- 30. PhoneGap的參考未找到錯誤