如何在日志文件中打印作业输出

时间:2019-01-30 00:37:15

标签: sql sql-server jobs

我正在执行删除历史数据作为SQL服务器作业的日常任务。如何打印每次运行中受影响的行数?

这是我感兴趣的工作的第一步(将实际的数据库名称替换为“ Database_Name_Here”)

Print CAST(GETDATE() as Datetime2 (3) )

DECLARE @Deleted_Rows_1 INT;
SET @Deleted_Rows_1 = 1;
WHILE (@Deleted_Rows_1 > 0)
  BEGIN
     BEGIN TRANSACTION
 delete top (1000) FROM [Database_Name_Here].[dbo].[SESSION_LOG]
 where start_timestamp < DATEADD(MONTH, -22, GETDATE())
SET @Deleted_Rows_1 = @@ROWCOUNT;
COMMIT TRANSACTION
   CHECKPOINT
END

如果从SSMS运行它,则可以在消息中看到此信息: (受影响的1020行) DBCC执行完成。如果DBCC打印了错误消息,请与系统管理员联系。

1 个答案:

答案 0 :(得分:0)

只需使用:

 SELECT @@ROWCOUNT
在过程/功能末尾的

之后

  • 使用SSMS打开作业,然后进入作业步骤
  • 点击高级
  • 勾选登录到表
  • 在“历史记录”中勾选“包括步骤”输出

enter image description here