我感觉这是一个非常新手的问题,但很难找到答案,因为与日志记录有关的任何事情都会让我发现 SQL 错误和问题。如果不是这样,那么答案就是查询整个日志以进行筛选。
当我通过 TSQL 将数据插入现有表时。如何保存或引用该特定语句的查询消息?这样我就可以获取查询消息并将结果插入到日志表中,该日志表指定插入了多少条记录,可能需要持续时间等。
我使用的是 SQL Server 2008 R2,这些 SQL 语句是插入数据和更新数据的存储过程。我想确保该过程的每个步骤都被记录并插入到特定的日志表中,其中包含有关该过程步骤的详细信息。
感谢您对这个(我假设的)新手问题的帮助。我仍在学习 MSSQL。
最佳答案
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());
关于sql - 可以在表中保存和插入 SQL 查询消息吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21268892/