0

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: &lt;local machine&gt;]</Data>  
      <Binary>184800000E00000006000000410043004500500034000000070000006D00610073007400650072000000</Binary>  
  </EventData>  
</Event>
4

1 に答える 1

0

このエラーは、外部 (SQL Server の外部) プロセスが SQL Server に接続しようとしていることを示しています。プロセスがデータベースに接続できないため、ログインが失敗します。データベースは既に削除されていると思われます。このプロセスは、SQL Server への接続を再試行し続けます。外部プロセスは再接続するように設計されているため、SPID を強制終了することはできません。

このプロセスは、データベースのコピー ジョブに関連付けられています。SSMS オブジェクト マネージャーでソース データベースを右クリックするか、または同様の方法でデータベースのコピー ジョブを作成しましたか? 外部プロセスは、おそらく DTS パッケージに関連付けられています。

Windows タスク マネージャーで [プロセス] を選択し、DTExec.exe または DTExecUI.exe のようなイメージ名を探します。見つかった場合は、[プロセスの終了] を選択します。これにより、プロセスが強制終了され、SQL Server への接続が停止されます。

「サーバーを再起動しました」と言うとき、コンピューターを再起動することを指していますか、それとも SQL Server サービスを停止して開始することを指していますか? SQL Server サービスを再起動しても、このプロセスは停止しません。

于 2013-01-02T23:24:22.513 に答える