Как можно отменить процесс выполнения SQL Server программно

Вы могли бы найти черновой международный стандарт для C++ 0x полезный.

6
задан A-K 7 July 2009 в 14:26
поделиться

3 ответа

используйте KILL с идентификатором процесса:

KILL 53;

Просто имейте в виду, что вы не можете убить свой собственный spid, вам нужно создать другое соединение, а затем убейте spid из

, если вы попытаетесь убить свой собственный SPID, вы получите следующую ошибку:

Server: Msg 6104, Level 16, State 1, Line 1
Cannot use KILL to kill your own process.
7
ответ дан 9 December 2019 в 20:47
поделиться

Вы должны выполнить свой запрос асинхронно, как показано ниже:

    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);
0
ответ дан 9 December 2019 в 20:47
поделиться

Убить @Spid

, обратите внимание, что это последняя попытка. вам нужно просто закрыть соединение на клиенте, чтобы завершить процесс.

4
ответ дан 9 December 2019 в 20:47
поделиться