我一直在注意到我们的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
描述
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和#2,现在让我们继续#3
你之前说过,你有复制设置,并且你停止使用它,这导致我认为你有一些导致复制尝试的设置残留。
看看这里和这里 – 这是所有的复制设置存储的地方,也许你会发现有问题的configuration。
关于第二个链接,在这个实例的每个数据库上这样一个简单的查询可能会有所帮助。
SELECT * FROM sys.tables WHERE is_replicated = 1
我希望在这个问题上有更多的信息,我真的很感激你回复你收集的细节。
谢谢,伊丹。
该服务应该试图连接到“分发”数据库。 如果该数据库不可用(脱机,已删除,正在恢复等),则可能会出现此错误。
如果您不再使用任何复制,只需禁用该服务,并且在分配没有被使用之后,清除一个很好的常见问题。 有像EXEC sp_helpdistributiondb这样的存储过程可以告诉你关于你当前的设置。 这个过程只应该在分布式SQL服务器上运行…但你担心的服务也应该只在分发服务器上运行。 如果它认为事情不好,那么在你解决问题之前,服务将无法正常工作。
如果全部到位,configuration正确,而且确实应该运行; validationSELECT @@SERVERNAME的返回值是否与SQL Server的当前主机名匹配。 在其连接string中,分发不能很好地处理别名,IP地址等。