Вы могли бы найти черновой международный стандарт для C++ 0x полезный.
используйте KILL
с идентификатором процесса:
KILL 53;
Просто имейте в виду, что вы не можете убить свой собственный spid, вам нужно создать другое соединение, а затем убейте spid из
, если вы попытаетесь убить свой собственный SPID, вы получите следующую ошибку:
Server: Msg 6104, Level 16, State 1, Line 1
Cannot use KILL to kill your own process.
Вы должны выполнить свой запрос асинхронно, как показано ниже:
SqlConnection _anotherConnection;
SqlCommand _anotherCommand;
IAsyncResult _anotherCommandStarted;
_anotherCommand = _anotherConnection.CreateCommand();
_anotherCommand.CommandText = string.Format("SET DEADLOCK_PRIORITY HIGH; BEGIN TRANSACTION; {0};", hookCommand);
_anotherCommand.CommandType = CommandType.Text;
_anotherCommand.ExecuteNonQuery();
_anotherCommand.CommandText = "UPDATE Data.Hook1 SET i=1-i";
_anotherCommandStarted = _anotherCommand.BeginExecuteNonQuery();
Чтобы отменить команду, запустите это:
_anotherCommand.EndExecuteNonQuery(_anotherCommandStarted);
Убить @Spid
, обратите внимание, что это последняя попытка. вам нужно просто закрыть соединение на клиенте, чтобы завершить процесс.