修复:设置SQL Server 代理作业历史记录日志时可能会出现错误

症状

假设在 Linux 安装上的 SQL Server 实例中启用了 Microsoft SQL Server 代理。 尝试设置或更改作业历史记录日志的最大行数和每个作业的最大作业历史记录行数时,可能会出现以下错误:

消息 0、级别 11、状态 0、LineNumber <>
当前命令上发生严重错误。 应放弃结果(如果有)。

解决方案

两个新的SQL Server 代理属性 sqlagent.jobhistorymaxrowssqlagent.jobhistorymaxrowsperjob已添加到mssql-conf配置实用工具。 通过这些设置,可以分别设置作业历史记录日志的最大行数和每个作业的最大作业历史记录行数。

例子:
sudo /opt/mssql/bin/mssql-conf set sqlagent.jobhistorymaxrows 1000
sudo /opt/mssql/bin/mssql-conf set sqlagent.jobhistorymaxrowsperjob 100

注意

无法使用 SSMS) SQL Server Management Studio (配置这两个属性。

此问题在以下SQL Server累积更新中已修复:

关于SQL Server的累积更新

SQL Server的每个新累积更新都包含上一版本中的所有修补程序和安全修补程序。 建议为 SQL Server 版本安装最新版本:

状态

Microsoft 已经确认这是一个列于“适用范围”部分的 Microsoft 产品问题。

参考

了解 Microsoft 用于描述软件更新 的术语