查询sqlserver存储过程的历史执行时间
时间: 2023-07-18 17:09:21 浏览: 45
如果您想查询 SQL Server 存储过程的历史执行时间,可以使用系统表 sys.dm_exec_procedure_stats。该表包含有关存储过程的执行时间和计数的信息。
以下是一个查询示例,它将返回存储过程名、最近一次执行时间、总执行次数、总执行时间和平均执行时间:
```
SELECT
OBJECT_NAME(object_id) AS procedure_name,
MAX(last_execution_time) AS last_execution_time,
SUM(execution_count) AS execution_count,
SUM(total_elapsed_time) AS total_elapsed_time,
SUM(total_elapsed_time) / SUM(execution_count) AS average_elapsed_time
FROM
sys.dm_exec_procedure_stats
GROUP BY
object_id
ORDER BY
total_elapsed_time DESC;
```
请注意,该表将跟踪存储过程的执行统计信息,因此如果存储过程从来没有执行过,它将不会出现在结果集中。
相关问题
查询sqlserver存储过程的所有历史执行时间
我可以回答这个问题。您可以使用以下SQL查询语句来获取SQL Server存储过程的所有历史执行时间:
SELECT
DB_NAME(database_id) as 'Database Name',
OBJECT_NAME(object_id, database_id) as 'Stored Procedure Name',
last_execution_time as 'Last Execution Time'
FROM
sys.dm_exec_procedure_stats
WHERE
database_id = DB_ID('your_database_name')
AND OBJECT_NAME(object_id, database_id) = 'your_stored_procedure_name'
ORDER BY
last_execution_time DESC;
请将“your_database_name”和“your_stored_procedure_name”替换为您要查询的数据库和存储过程的名称。
怎么查看sql server执行历史记录?
要查看SQL Server执行历史记录,可以使用以下方法:
1. 使用SQL Server Management Studio (SSMS)中的查询日志功能。在SSMS中,选择“工具”菜单下的“SQL Server日志”选项,然后选择“查询日志”。
2. 使用SQL Server Profiler。在SSMS中,选择“工具”菜单下的“SQL Server Profiler”选项,然后选择“新建跟踪”并设置相关选项,例如事件、过滤器和输出选项。
3. 使用系统存储过程。例如,使用sp_who、sp_who2或sp_whoisactive存储过程来查看当前正在运行的进程和相关信息。
4. 使用动态管理视图。例如,使用sys.dm_exec_query_stats动态管理视图来查看执行过的查询的统计信息。
无论选择哪种方法,都可以查看SQL Server执行历史记录并进行必要的分析和优化工作。