我的SQL Server 2008 R2数据库中有一个不应该存在的SPID。它是在复制数据库作业上创建的,该数据库和作业早已被删除。
然而,SPID并没有消失,并且每1分钟尝试重新连接到我的数据库并填满我的错误日志。
我尝试使用KILL ##
命令,其中##是进程ID,但它只返回一个新的会话ID。
我已重新启动服务器,确保所有可能关联的作业都已完成。
有人知道如何才能结束这个SPID吗?
当它尝试每分钟运行时,它会在我的日志中显示此错误消息:
Log Name: Application
Source: MSSQLSERVER
Date: 1/2/2013 11:34:24 AM
Event ID: 18456
Task Category: Logon
Level: Information
Keywords: Classic,Audit Failure
User: DOMAIN\userid
Computer: server.domain.com
Description:
Login failed for user 'domain\userid. Reason: Failed to open the explicitly specified database. CLIENT: <local machine>]
Event Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
<System>
<Provider Name="MSSQLSERVER" />
<EventID Qualifiers="49152">18456</EventID>
<Level>0</Level>
<Task>4</Task>
<Keywords>0x90000000000000</Keywords>
<TimeCreated SystemTime="2013-01-02T19:34:24.000000000Z" />
<EventRecordID>19934006</EventRecordID>
<Channel>Application</Channel>
<Computer>server.domain.com</Computer>
<Security UserID="S-1-5-21-3027188495-1942244818-4144419180-3136" />
</System>
<EventData>
<Data>DOMAIN\userid</Data>
<Data> Reason: Failed to open the explicitly specified database.</Data>
<Data> [CLIENT: <local machine>]</Data>
<Binary>184800000E00000006000000410043004500500034000000070000006D00610073007400650072000000</Binary>
</EventData>
</Event>
答案 0 :(得分:0)
该错误表示您有一个外部(SQL Server外部)进程尝试连接到SQL Server。登录失败,因为进程无法连接到数据库,我怀疑该数据库已被删除。此过程继续重试连接到SQL Server。您无法终止SPID,因为外部进程旨在重新连接。
该过程与复制数据库作业相关联。您是否通过右键单击SSMS对象管理器中的源数据库或类似技术来创建复制数据库作业?外部进程可能与DTS包相关联。
在Windows任务管理器中,选择进程并查找与DTExec.exe或DTExecUI.exe类似的图像名称。如果找到一个,则选择End Process。这应该会终止进程并停止与SQL Server的连接。
当您说“我已重新启动服务器”时,您指的是重新启动计算机还是停止并启动SQL Server服务?重新启动SQL Server服务不会停止此过程。