希望find重复失败的SQL Server 2005login尝试的原因

我一直在注意到我们的SQL服务器上重复失败的login尝试。 它每分钟发生一次相同的login。 日志文件查看器的一个例子

10/18/2011 13:54:50,login,未知,用户'LOLZOR \ lolsqlserver'login失败。 [CLIENT:] 10/18/2011 13:54:50,login,未知,错误:18456严重性:14状态:16

状态16意味着:login有效,但没有权限使用目标数据库

请注意,凭据也用于启动所有SQL Server服务

Audit Login Failed NTDomainName>LOLZOR Error 18456 HostName EU_LOLWEB1 SPID">71</Column> SessionLoginName"LOLZOR\lolsqlserver TextData">Login failed for user 'LOLZOR\lolsqlserver' ClientProcessID"2364 NTUserName"lolsqlserver ApplicationName">Queue Reader Main (distribution) StartTime">2011-10-18T12:18:21.72+02:00 ServerName">EU_LOLWEB1 DatabaseID">1</Column> LoginName">LOLZOR\lolsqlserver DatabaseName">master EventSequence">528 
  • 你会注意到login是从sql server本身发出的
  • 目标数据库似乎指向“主”(见下文)
  • 如果我跟踪过程中的PID监视器,我可以看到,login是由qrdsvc.exe执行的

描述

 Description: SQL Server Replication QueueReader Agent Company: Microsoft Corporation Name: qrdrsvc.exe Version: 2005.90.4035.0 Path: C:\Program Files\Microsoft SQL Server\90\COM\qrdrsvc.exe Command Line: "C:\Program Files\Microsoft SQL Server\90\COM\qrdrsvc.exe" -Distributor [EU_LOLWEB1] -DistributionDB [distribution] -DistributorSecurityMode 1 -Continuous -XJOBID 0xA368ED128C0EAA43A137B55FD4DD122F -XJOBNAME [[EU_LOLWEB1]].8] -XSTEPID 2 -XSUBSYSTEM Que PID: 6096 Parent PID: 300 Session ID: 0 User: LOLZOR\lolsqlserver Auth ID: 00000000:a3d8bc8d Architecture: 32-bit Virtualized: n/a Integrity: n/a Started: 18/10/2011 11:43:25 Ended: 18/10/2011 11:43:25 

所以从我的理解从http://www.eraofdata.com/blog/sql-18456-login-failures/是用户帐户没有足够的权限在主数据库。

作为testing,我将LOLZOR \ lolsqlserver添加到sysadminangular色并重新启动SQL服务。 这并没有改变任何东西。 该消息仍然每分钟popup。

这是怎么可能的帐户正在运行的服务。 我想解决这个问题,一些帮助,将不胜感激。

我会尝试从以下几点解决这个问题:

  1. 你有没有不熟悉SQL代理的工作?
  2. 你有没有在服务器本身不熟悉的任何计划的工作?

我只是想排除#1和#2,现在让我们继续#3

你之前说过,你有复制设置,并且你停止使用它,这导致我认为你有一些导致复制尝试的设置残留。

看看这里和这里 – 这是所有的复制设置存储的地方,也许你会发现有问题的configuration。

关于第二个链接,在这个实例的每个数据库上这样一个简单的查询可能会有所帮助。

 SELECT * FROM sys.tables WHERE is_replicated = 1 

我希望在这个问题上有更多的信息,我真的很感激你回复你收集的细节。

谢谢,伊丹。

该服务应该试图连接到“分发”数据库。 如果该数据库不可用(脱机,已删除,正在恢复等),则可能会出现此错误。

如果您不再使用任何复制,只需禁用该服务,并且在分配没有被使用之后,清除一个很好的常见问题。 有像EXEC sp_helpdistributiondb这样的存储过程可以告诉你关于你当前的设置。 这个过程只应该在分布式SQL服务器上运行…但你担心的服务也应该只在分发服务器上运行。 如果它认为事情不好,那么在你解决问题之前,服务将无法正常工作。

如果全部到位,configuration正确,而且确实应该运行; validationSELECT @@SERVERNAME的返回值是否与SQL Server的当前主机名匹配。 在其连接string中,分发不能很好地处理别名,IP地址等。