如何在 SQL Server 2008 中找到存储过程的最后修改日期、修改用户? [英] How can I find the last modified date, modified user of an stored procedure in SQL Server 2008?

查看:46
本文介绍了如何在 SQL Server 2008 中找到存储过程的最后修改日期、修改用户?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要找到修改特定存储过程的人的用户名.

I need to find the user name of the person who modified a particular stored procedure.

如何在 Oracle 中最后一次修改或编译存储过程是什么时候?

让我了解时间.但是我怎么知道修改它的用户呢?

gives me idea about the time. But how do I know the user who modified it?

推荐答案

这可以通过运行以下任何查询来实现.

This can be achieve by running any of the following query.

SELECT 
    [procedure] = QUOTENAME(OBJECT_SCHEMA_NAME([object_id]))
        + '.' + QUOTENAME(OBJECT_NAME([object_id])),
    last_execution_time,
    avg_execution_time = CONVERT(DECIMAL(30,2), total_worker_time * 1.0 / execution_count),
    max_worker_time
FROM sys.dm_exec_procedure_stats
WHERE database_id = DB_ID()
ORDER BY avg_execution_time DESC;

------------或------------------------

------------OR--------------------------------------

SELECT 

COALESCE(DB_NAME(t.[dbid]),'Unknown') AS [DB Name],
ecp.objtype AS [Object Type],
t.[text] AS [Adhoc Batch or Object Call],
SUBSTRING(t.[text], (qs.[statement_start_offset]/2) + 1,
((CASE qs.[statement_end_offset]
WHEN -1 THEN DATALENGTH(t.[text]) ELSE qs.[statement_end_offset] END
- qs.[statement_start_offset])/2) + 1) AS [Executed Statement]
,qs.[last_execution_time] AS [Last Exec Time]
,qs.[creation_time] AS [Creation Time]

FROM sys.dm_exec_query_stats AS qs
    JOIN sys.dm_exec_cached_plans ecp 
            ON qs.plan_handle = ecp.plan_handle
            CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) AS t
where
    ecp.objtype = 'Proc'

order by [Last Exec Time]  desc

这篇关于如何在 SQL Server 2008 中找到存储过程的最后修改日期、修改用户?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆