我有一个名为SQL Server的实例,该实例每晚运行标准的 syspolicy_purge_history 作业。该作业被标记为每晚成功,但是在同一服务器上的DEFAULT实例上每天晚上,从命名实例的服务帐户登录失败。
我已将其追溯到syspolicy_purge_history作业的擦除虚拟系统健康记录步骤。该作业使用标准代码,并且似乎未进行任何修改:
if ('$(ESCAPE_SQUOTE(INST))' -eq 'MSSQLSERVER') {$a = '\DEFAULT'} ELSE {$a = ''};
(Get-Item SQLSERVER:\SQLPolicy\$(ESCAPE_NONE(SRVR))$a).EraseSystemHealthPhantomRecords()
同一服务器上还有另外两个命名实例,它们使用相同的代码运行相同的作业,并且它们不会在默认实例上生成失败的登录错误。
我尝试删除该作业,并通过从其他命名实例之一编写该作业的脚本来重新创建它。没什么。
我尝试将步骤3的代码更改为:
(Get-Item SQLSERVER:\SQLPolicy\[MyServerName]\[NamedInstanceName]).EraseSystemHealthPhantomRecords()
,或者:
(Get-Item SQLSERVER:\SQLPolicy\[MyServerName]\[NamedInstanceName]`,[NamedInstancePort]).EraseSystemHealthPhantomRecords()
两个版本仍然会在默认实例上生成失败的登录。
如果我从Powershell窗口运行命令,这两个版本的命令似乎都能成功运行,并且不会生成失败的登录信息。
我想不出其他任何尝试。 Google似乎对我也没有建议。
有什么想法吗?