因為各種原因數據庫中存在大量無用的存儲過程,想查詢存儲過程的最后執行情況,處理長期不使用的存儲過程
下面這條語句可以查詢存儲過程創建 修改和執行的最后時間:
SELECT
a.name AS 存儲過程名稱,
a.create_date AS 創建日期,
a.modify_date AS 修改日期,
b.last_execution_time AS 最后執行日期,
b.execution_count AS 執行次數
FROM sys.procedures a
LEFT JOIN sys.dm_exec_procedure_stats b ON a.object_id = b.object_id
WHERE a.is_ms_shipped =0 --去掉系統存儲過程
ORDER BY a.create_date desc,a.modify_date desc
sqlserver 中比較常用的系統視圖:
select * from INFORMATION_SCHEMA.TABLES 查詢數據庫中有哪些表 / 視圖
select top 1000 * from [sys].[all_objects] 查詢數據庫中所有對象 表 視圖 存儲過程 主鍵 等都在里面
select top 1000 * from [sys].[all_views] 查詢數據庫中所有視圖
select top 1000 * from [sys].[columns] 查詢數據庫中所有列,可以用來檢查列長度 等
sqlserver 中比較常用的系統存儲過程:
exec sys.sp_helptext 'dbo.Find_Lock' 查詢對象的創建語句
