SQL Serverで不明なエラーが発生しました。接続がサーバーによって終了された可能性があります。
これは私が得ているエラーです(ジョブが実行されたとき)
[SQLSTATE HY000](エラー0)セッションが強制終了状態のため、実行を続行できません。
[SQLSTATE HY000](エラー596)。ステップは失敗しました。
エラーログには、特定のプロセスを強制終了したセッションに関する情報が含まれているはずです。次のステートメントを実行して、KILL
コマンドの送信元であるユーザーのホスト名とプロセスIDを取得します。
EXEC xp_readerrorlog 0, 1, N'kill', NULL, NULL, NULL, N'DESC'
コマンドが実行されてから時間が経過した場合、セッションIDが再利用されるため、古い結果が返される可能性があることに注意してください。ホストプロセスIDを使用して、ユーザーを検索できます。
select login_name, session_id, Host_name, Host_process_id
from sys.dm_exec_sessions where Host_process_id = XXXX AND session_id = YY
次に例を示します。
EXEC xp_readerrorlog 0, 1, N'kill', NULL, NULL, NULL, N'DESC'
LogDate ProcessInfo Text
----------------------- ------------ ----------------------------------------------------------------------
2017-06-20 07:17:32.210 spid64 Process ID 62 was killed by hostname JOHNLAPPY, Host process ID 7968.
(1 row(s) affected)
select login_name, session_id, Host_name, Host_process_id from sys.dm_exec_sessions where Host_process_id = 7968 AND session_id = 62
login_name session_id Host_name Host_process_id
----------------------- ---------- ---------- ---------------
CONTOSO\john.eisbrener 62 JOHNLAPPY 7968
(1 row(s) affected)
エラーが発生した時刻をエラーログで確認することをお勧めします。 「kill」することはできません。たとえば、DBCC CHECKDB
の実行中に同じエラーが表示され、ジョブは同じエラーで失敗しました
SQL Serverで不明なエラーが発生しました。接続がサーバーによって終了された可能性があります。
データベースをsingle_user with rollback immediate
に配置したのはセッションでした。エラーログには強制終了メッセージがありませんが、データベースをシングルユーザーに配置するspidを報告しました。
実行時間までにdefault trace
で検索したログインを見つけるために、alterデータベースに対応するEventClass = 164およびObjectType = 16964を報告する行があり、報告されたDatabaseNameは対象のデータベースであり、SessionLoginNameでした。探していたのは