Vah*_*dSH 4 sql-server-agent ssis sql-server-2017
我在负责删除旧执行日志的维护作业的 sql server 2017 代理作业中收到以下错误消息:
Date 5/23/2018 12:18:45 AM
Log Job History (SSIS Server Maintenance Job)
Step ID 1
Server KARABL3
Job Name SSIS Server Maintenance Job
Step Name SSIS Server Operation Records Maintenance
Duration 00:02:34
Sql Severity 16
Sql Message ID 16916
Operator Emailed
Operator Net sent
Operator Paged
Retries Attempted 3
Message
Executed as user: ##MS_SSISServerCleanupJobLogin##. A cursor with the name 'execution_cursor' does not exist. [SQLSTATE 34000] (Error 16916). NOTE: The step was retried the requested number of times (3) without succeeding. The step failed.
Run Code Online (Sandbox Code Playgroud)
这实际上是 SQL Server 2017 中引入的一个错误。
请参阅存储过程SSISDB.[internal].[cleanup_server_retention_window]。
第 175 行有 DEALLOCATE execution_cursor
该语句需要END在 WHILE 循环语句之后移动一行。它应该与 一起执行DROP TABLE #deleted_ops,而不是与TRUNCATE...
虽然要删除的行数低于“批量大小”(1000),但“有问题”的 sproc 实际上运行正常,因为它永远不需要进入循环两次,但是如果您有很多执行要清理,或者刚刚减少你的保留期——然后它就碰壁了。
| 归档时间: |
|
| 查看次数: |
1874 次 |
| 最近记录: |