我有一种感觉,这是一个非常新手的问题,但很难找到答案,因为与日志记录有关,我指的是SQL错误和问题。如果没有,那么答案是查询整个日志以进行筛选。
当我通过TSQL将数据插入现有表时。如何保存或引用该特定语句的查询消息?这样我就可以获取查询消息并将结果插入到日志表中,该日志表指定插入的记录数,可能是持续时间等等。
我正在使用SQL Server 2008 R2,这些SQL语句是插入数据和更新数据的存储过程。我想确保记录流程的每个步骤并将其插入到特定的日志表中,其中包含有关该流程步骤的详细信息。
感谢您对此(我假设)新手问题的帮助。我还在学习MSSQL。
答案 0 :(得分:4)
DECLARE @dt DATETIME2(7), @duration INT, @rowcount INT;
SET @dt = SYSDATETIME();
INSERT dbo.foo(bar) VALUES('x');
SELECT @rowcount = @@ROWCOUNT, @duration = DATEDIFF(MICROSECOND, @dt, SYSDATETIME());
INSERT dbo.LoggingTable(duration,row_count) SELECT @duration, @rowcount;
在2005年或更低的时候,你不可能得到那么精确,例如。
DECLARE @dt DATETIME, ...
SET @dt = GETDATE();
...
... , @duration = DATEDIFF(MILLISECOND, @dt, GETDATE());