環境與版本

作業系統:Window10 64x 版本:2004

資料庫產品版本:Microsoft SQL Server Developer (64-bit) v18.4

資料庫版本編號:15.0.2070.41(SQL SEVER2019)

在維護舊系統的時候,面對海量前工程師遺留下來的產物,好的可能有好的交付文件可以查看了解,壞的可能甚麼都沒有只能透過線索一一搜尋查看,這裡就分享如何在資料庫中找某個Keyword在哪些物件中出現! 也可以找尋Table名稱在哪個物件中出現!

找某個關鍵字Keyword在哪些物件中 sys.sql_modules

-- =============================================
-- Author:		Steven玄
-- ALTER date:  20210120
-- Description:	找某個Keyword在哪個物件中出現!
-- =============================================

SELECT distinct object_name(object_id) as [物件名稱], definition as [物件內資訊]
FROM sys.sql_modules
WHERE definition LIKE '%關鍵字串%';

※FROM 後可以使用sys.sql_modules 或是 sys.all_sql_modules

找某個關鍵字Keyword在哪些預存程序中 sys.procedures

只要找預存程序的話可以使用sys.procedures

-- =============================================
-- Author:		Steven玄
-- ALTER date:  20210120
-- Description:	找某個Keyword在哪個Stored Proceduce中出現!
-- =============================================

Select distinct object_name(object_id) as [物件名稱], object_definition(object_id) as [物件內資訊]
from sys.procedures
Where object_definition(object_id) like '%關鍵字串%';

參考或引用資料:

如何表列出預存程序(Stored Procesure)中用到了哪一些資料表呢?:https://dotblogs.com.tw/rockchang/2015/10/30/153753

[SQL]SQL Server中找某個Keyword在那個物件中出現! (Part 2):https://dotblogs.com.tw/rainmaker/2012/07/16/73405

sys.sql_modules (Transact-SQL):https://dotblogs.com.tw/rainmaker/2012/07/16/73405

Steven玄

謝謝您觀看本站內容!! 😅 西元93年台灣男,軟體前、後、資料庫工程師 和 多元收入實踐,程式設計、網站系統規劃、商業策略分析規劃、多元收入研究,目前在網站開發公司擔任工程師。

發佈留言