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

现象

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

Msg 0、Level 11、State 0、LineNumber <>
A 严重错误发生在当前命令上。 应放弃结果(如果有)。

解决方法

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

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

注意

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

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

关于 SQL Server 的累积更新

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

Status

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

参考

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