重新启动数据库(重新启动后)后如何清除错误15404


9

SQL Server代理每小时作业每隔一段时间(例如,几个月)就会开始报告错误15404,并继续这样做直到被干预。

[298] SQLServer错误:15404,无法获取有关Windows NT组/用户'DOMAIN_NAME \ SomeDomainAccount'的信息,错误代码0x6e。[SQLSTATE 42000](ConnIsLoginSysAdmin)

有时,第一次失败是在手动重新启动SQL Server Engine和SQL Server代理服务后立即发生的。可以通过重新启动计算机来解决此问题。

作业所有者是错误消息中列出的名称,并且是SQL Server管理员。

SQL Server Engine服务帐户看起来像是一个服务帐户(我相信它是默认的安装帐户(比一般的NetworkService好一个级别,以防止Engine / Agent实例之间发生干扰):

   NT Service\MSSQL$INSTNAME

如果该作业始终失败,那将是一回事,但是由于该作业在重新启动后成功,这使我认为应该使用的服务帐户就可以正常工作,并且存在一些A / D时序问题或错误。当询问IT人员有关A / D配置的信息时,响应通常是“什么都没有改变”。

  • 重新启动引擎和代理服务可能导致作业开始失败。
  • 重新启动计算机即可解决问题。
  • 随后立即重新启动引擎和代理程序不再导致作业失败。

链接: 如何解决SQL Server 8198错误


更新,自发布以来,这已经发生了两次。
crokusek 2014年

可能相关,我们也有间歇性(每周一次)无法在两个不同的服务器上生成SSPI问题
crokusek

我要补充一点的是,我刚刚从昨天运行的SQL脚本中随机得到了此错误。没有更改脚本,完全相同的计算机,Windows日志中没有明显的错误。SQL的冒犯行是CREATE ASSEMBLY语句,AUTHORIZATION [dbo],PERMISSION_SET = EXTERNAL_ACCESS;
redcalx 2015年

更多信息。重新启动SQL Server不能解决问题,但是重新启动计算机可以解决。注销/登录可能会完成,因为我怀疑这是我的域帐户中的一个细微问题。请注意,我最近没有更改密码。
redcalx 2015年

Answers:


4

这不是解决方案,但是您可以通过使作业所有者成为SQL帐户来解决此问题。

每次启动作业时,SQL Server都会验证作业所有者的身份,并检查其是否有权执行该作业。如果所有者是Windows帐户,则引擎需要查询Active Directory。如果由于任何原因失败,则该作业将无法运行。可能是因为AD服务器忙,掉线或网络中断,或者SQL Server服务帐户没有权限。

由于它在重新启动后立即起作用,因此我认为它可能与缓存的凭据有关。Windows将保存它查找的凭据供以后使用。重新启动后将清除该缓存。也许某些东西破坏了缓存。


我相信您是正确的,它是缓存的凭据,重新启动会强制登录到活动目录服务器。我在DB Diagrams上收到此错误,当我与公司网络断开连接时,我连接到它,没有错误。断开连接,我的权限丢失。我可以查询,创建等-不能绘制图表。15404错误。
StixO

0

我遇到了一个实例从域A移到域B的问题,并在所有位置检查权限并在所有位置授予完全控制权。更改服务帐户,职位所有权,创建新职位。...什么都没做。在SQL Server上找到与登录名相同的服务用户B \ sqlservice和A \ sqlservice。删除A \ sqlservice登录名后,一切开始正常运行。这意味着某些Windows指针是错误的


为了澄清,您收到此错误,并且该错误报告B\sqlservice说它无法获取有关该信息的帐户?
RDFozz
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.