[MS SQL]SQL server 物件搜尋

有時候需要在資料庫內關鍵字搜尋 

SELECT*
FROM sys.sysobjects 
INNER JOIN syscomments ON sys.sysobjects.id sys.syscomments.id--對應id

WHERE sys.syscomments.text LIKE '%關鍵字%' --想要查詢的關鍵字

AND sys.sysobjects.type '物件類型' --指定的物件類型

SELECT *

FROM sys.sysobjects 

INNER JOIN syscomments ON sys.sysobjects.id = sys.syscomments.id  --對應id

WHERE sys.syscomments.text LIKE '%HELLO_WORLD%'  --想要查詢的關鍵字

AND sys.sysobjects.type IN ('FN','P','X', 'V')  --指定的物件類型

 

sys.sysobjects的type類型:

  • AF = 彙總函式 (CLR)
  • C = CHECK 條件約束
  • D = 預設值或 DEFAULT 條件約束
  • F = FOREIGN KEY 條件約束
  • FN = 純量函數
  • FS = 組件 (CLR) 純量函數
  • FT = 組件 (CLR) 資料表值函式 IF = 內嵌資料表函數
  • IT - 內部資料表
  • K = PRIMARY KEY 或 UNIQUE 條件約束
  • L = 記錄
  • P = 預存程序
  • PC = 組件 (CLR) 預存程序
  • R = 規則
  • RF = 複寫篩選預存程序
  • S = 系統資料表
  • SN = 同義字
  • SQ = 服務佇列
  • TA = 組件 (CLR) DML 觸發程序
  • TF = 資料表函數
  • TR = SQL DML 觸發程序
  • TT = 資料表類型
  • U = 使用者資料表
  • V = 檢視
  • X = 擴充預存程序

 

來自 <https://dotblogs.com.tw/BerryNote/2016/09/30/110930