トップ回答者
sysprocessesのレコードが残ってしまった

質問
-
いつもお世話になっております。
標記の件、質問させてください。SQL Serverにアクセスしていないのにも拘らず、sysprocessesのレコードが意図せず残ってしまう現象が発生してしまいました。
このような事象は報告されているのでしょうか。また、解決策はあるのでしょうか。現象発生の詳細を以下に記します。
<現象発生経緯>
利用しているアプリケーションを起動すると、SQL Server 2000に接続します。
このときsysprocessesのレコードが作成されています。
アプリケーションは二重起動可能で、アプリケーションを終了するとSQL Server 2000との接続が切れ、通常sysprocessesのレコードもなくなります。今回の現象はアプリケーションを二重起動し、片方を終了したのですが、sysprocessesが残ったままになっていました。
「プロセス情報」を参照しても特にブロッキングされている様子もありませんでした。
もう片方も終了してみましたが、残ったレコードはなくなりませんでした。
情報が少なく理解しずらいかもしれませんが、よろしくお願いいたします。
回答
すべての返信
-
いつもお世話になっております。
早速のご返信ありがとうございました。ステータスはsleepingでした。アプリケーションを起動した状態ではsleepingになっています。
また、当該SPIDに対してはアプリケーションを終了した時、SQL Serverとの接続を切るような仕組みにしてありますので、通常ですと(SQL Server側で)自動的にsysprocessesのレコードを削除していたのですが、今回の場合は残ってしまいました。
復旧の為、プロセスを強制終了(kill?)しましたが、「しばらくしても消えない」ことはあるのでしょうか。
「しばらくしても消えない」場合、残ったプロセスについて、実際にSQL Serverと接続しているか否かが、sysprocessesの項目では判断つかないため、アプリケーション上その対処(killする対象が特定できず)に困っています。
やはり無理があるでしょうか。「しばらくしても消えない」可能性や原因についても、情報があれば教えていただきたいと思います。
-
いつもお世話になっております。
先日お問合せさせていただきましたが、「プロセスがしばらくしても消えない」現象は起こり得るのでしょうか。
また、起こるとすれば解決策はあるのでしょうか。
本件の主目的としては、「意図せず残ってしまったプロセスを消したい」のではなく、「意図しないプロセスが残らないようにしたい」と思っています。(9/24にご回答いただいた内容では、申し訳ありませんが解決にならないと思っています)
しかし、私が「プロセスがしばらくしても消えない」現象について、解決策がないのであれば、断念する(別案を検討する)こともか考えております。しばらくご返信をいただいておりませんので、やはり解決策はないのでしょうか。
お忙しいところ申し訳ありませんが、よろしくお願いいたします。