syspolicy_purge_history生成失败的login名

我有一个开发服务器3个实例:默认,A和B.它是一个物理服务器,非群集。 每当syspolicy_purge_history作业在凌晨2点运行时,我都会收到失败的login警报。 看着工作步骤,一切都顺利完成。 看起来,在“擦除幻影系统健康logging”步骤中的某一点是发生login失败的时候。

实例B上的syspolicy_purge_history工作正常。

Default实例上的syspolicy_purge_history似乎要连接到实例B,导致:

Error: 18456, Severity: 14, State: 11. Login failed for user 'Machinename\sqlsvc-B'. Reason: Token-based server access validation failed with an infrastructure error. Check for previous errors. [CLIENT: <local machine>] . 

Powershell没有报告错误。

A实例上的syspolicy_purge_history似乎要连接到导致的Default实例

 Error: 18456, Severity: 14, State: 11. Login failed for user 'Machinename\sqlsvc-Default'. Reason: Token-based server access validation failed with an infrastructure error. Check for previous errors. [CLIENT: <local machine>] . 

然后它试图连接到B实例,导致

 Error: 18456, Severity: 14, State: 11. Login failed for user 'Machinename\sqlsvc-B'. Reason: Token-based server access validation failed with an infrastructure error. Check for previous errors. [CLIENT: <local machine>] . 

Powershell没有报告错误。

我试着在这里发布的步骤,希望他们能解决这个问题。 http://support.microsoft.com/kb/955726但是,这不是一个虚拟服务器,也不是在集群中。 你有什么build议吗? 谢谢。

我使用了“Kyle Neier”在Connect页面上发布的解决方法。 这对我有效。

只需用SQL代理作业“syspolicy_purge_history”(默认实例上运行的那个)的步骤3中的PowerShell代码replace为:

 $SQLServerConnection = New-Object System.Data.SqlClient.SqlConnection $SQLServerConnection.ConnectionString = "Data Source=$(ESCAPE_NONE(SRVR));Initial Catalog=master;Integrated Security=SSPI;Application Name=syspolicy_purge_history" $PolicyStoreConnection = New-Object Microsoft.SqlServer.Management.Sdk.Sfc.SqlStoreConnection($SQLServerConnection) $PolicyStore = New-Object Microsoft.SqlServer.Management.Dmf.PolicyStore ($PolicyStoreConnection) $PolicyStore.EraseSystemHealthPhantomRecords() 

几周前我遇到了这个问题。

执行方法2(重新创buildsyspolicy_purge_history作业)后的结果是什么?

关于您的评论“默认实例上的syspolicy_purge_history似乎想连接到实例B”,您是否修改了步骤3(擦除幻像系统健康logging),以便它连接到DEFAULT实例而不是B实例?

这是在Windows Server 2008上。在做了方法2之后,发生了同样的错误。 第3步显示连接到相应的instnace。

默认实例

 SQLSERVER:\SQLPolicy\TEST\DEFAULT).EraseSystemHealthPhantomRecords() 

实例A

 SQLSERVER:\SQLPolicy\TEST\A).EraseSystemHealthPhantomRecords() 

实例B

 SQLSERVER:\SQLPolicy\TEST\B).EraseSystemHealthPhantomRecords() 

我在一台服务器上有两个2005实例和两个2008R2实例。 他们都使用networking服务的所有服务。 我更改了其中一个2008R2实例上的SQL Server代理服务,以使用专门为此设置的新域帐户。 从那以后,在每天凌晨2点左右,我在其他三个实例上login失败。 我从来没有做过基于策略的pipe理。

我在这里find的解决方法似乎是将该新域帐户的login添加到其他三个实例。 真正的修复似乎是为了给syscolicy_purge_history作业调用的proc添加一个选项,以将其范围限制为仅当前实例,将其设置为默认值,并将所有这些文档logging在Connect以外的其他位置。