最后,我发现解决方案由我自己。感谢我的友好社区。
对于真正了解问题的同事。请使用此方法(整个测试脚本“选择”部分是穴):
CREATE PROCEDURE [my_dummy_sp]
@rowcount INT OUTPUT
AS
BEGIN
SELECT TOP 10 * FROM [sys].[objects];
SET @rowcount = @@ROWCOUNT;
RETURN 0;
END;
GO
DECLARE @sp_exec_stats TABLE
(
[rec_id] BIGINT IDENTITY(1, 1)
,[sp_name] NVARCHAR(256)
,[db_name] NVARCHAR(256)
,[sys_dt] DATETIMEOFFSET(7)
,[logical_reads] INT
,[physical_reads] INT
,[duration] INT
,[writes] INT
,[rowcount] INT
,[cpu_time] INT
);
DECLARE @rowcount INT;
EXECUTE [my_dummy_sp]
@rowcount = @rowcount OUTPUT;
INSERT INTO @sp_exec_stats
(
[sp_name]
,[db_name]
,[sys_dt]
,[logical_reads]
,[physical_reads]
,[duration]
,[writes]
,[rowcount]
,[cpu_time]
)
SELECT TOP 1
[sp_name] = 'my_dummy_sp'
,[db_name] = DB_NAME()
,[sys_dt] = [last_execution_time]
,[logical_reads] = [last_logical_reads]
,[physical_reads] = [last_physical_reads]
,[duration] = [last_elapsed_time]
,[writes] = [last_logical_writes]
,[rowcount] = @rowcount
,[cpu_time] = [last_worker_time]
FROM
[sys].[dm_exec_procedure_stats]
WHERE
[object_id] = OBJECT_ID('my_dummy_sp')
ORDER BY
[last_execution_time] DESC;
DROP PROCEDURE [my_dummy_sp];
SELECT * FROM @sp_exec_stats;
的
可能重复:https://dba.stackexchange.com/questions/16493/tracking-stored-procedure-usage –
感谢downvotes,但它不是重复的。请进一步探讨这个问题。 – Juozas
请提供一些示例输入,预期输出以及您尝试过的任何内容。这就是我觉得它是重复的原因。 –