Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 отмена выполения запроса и kill  [new]
aux3
Member

Откуда:
Сообщений: 316
Добрый день!

Объясните, в чём отличие отмены выполнения запроса от комманды kill?

Пример отмены выполнения запроса-кнопка "cancel executing query" в management studio
27 июн 12, 09:16    [12780060]     Ответить | Цитировать Сообщить модератору
 Re: отмена выполения запроса и kill  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37050
Тем, что первая закрывает соединение полностью, вторая лишь останавливает выполняемый батч.

Сообщение было отредактировано: 27 июн 12, 10:39
27 июн 12, 10:39    [12780666]     Ответить | Цитировать Сообщить модератору
 Re: отмена выполения запроса и kill  [new]
aux3
Member

Откуда:
Сообщений: 316
Гавриленко Сергей Алексеевич,
Скжите, а почему отмена запроса не отражается как "kill" в логах mssql?
27 июн 12, 10:44    [12780710]     Ответить | Цитировать Сообщить модератору
 Re: отмена выполения запроса и kill  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37050
aux3
Гавриленко Сергей Алексеевич,
Скжите, а почему отмена запроса не отражается как "kill" в логах mssql?
Вы ответы как, читаете? Потому что kill и прерывание батча - две разные вещи, не имеющие друг к другу никакого отношения.
27 июн 12, 10:45    [12780722]     Ответить | Цитировать Сообщить модератору
 Re: отмена выполения запроса и kill  [new]
aux3
Member

Откуда:
Сообщений: 316
Гавриленко Сергей Алексеевич,
батч прерывается же и вызывается откат!?
Это разве не работает как kill?

Что тогда происходит?
27 июн 12, 12:18    [12781667]     Ответить | Цитировать Сообщить модератору
 Re: отмена выполения запроса и kill  [new]
Glory
Member

Откуда:
Сообщений: 104760
aux3
Что тогда происходит?

Соединение закрывается
27 июн 12, 12:19    [12781677]     Ответить | Цитировать Сообщить модератору
 Re: отмена выполения запроса и kill  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37050
aux3
Гавриленко Сергей Алексеевич,
батч прерывается же и вызывается откат!?
Это разве не работает как kill?
Вы разницу между "закрывает соединение" и "не закрывает соединение" улавливаете?
27 июн 12, 12:19    [12781682]     Ответить | Цитировать Сообщить модератору
 Re: отмена выполения запроса и kill  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37050
aux3
батч прерывается же и вызывается откат!?
Батч прерывается. А про откат вы сами придумали.

if @@trancount > 0
    rollback
    
begin tran 

waitfor delay '00:01:00'

-- Нажать кнопку "стоп" в студии и увидеть, произошел откат или нет:
select @@trancount
27 июн 12, 12:22    [12781706]     Ответить | Цитировать Сообщить модератору
 Re: отмена выполения запроса и kill  [new]
aux3
Member

Откуда:
Сообщений: 316
А если бы вместо waitfor delay был update?

Кнопка "cancel" вернула бы всё в первоначальное состояние!
27 июн 12, 12:28    [12781793]     Ответить | Цитировать Сообщить модератору
 Re: отмена выполения запроса и kill  [new]
Ozerov
Member

Откуда: Москва
Сообщений: 3650
aux3
А если бы вместо waitfor delay был update?

Кнопка "cancel" вернула бы всё в первоначальное состояние!


Да ? Начните бэкап базы, нажмите Cancel, наберите sp_who2 и посмотрите, закрылся сеанс или нет.
Тоже самое проделайте с помощью kill
27 июн 12, 12:33    [12781851]     Ответить | Цитировать Сообщить модератору
 Re: отмена выполения запроса и kill  [new]
invm
Member

Откуда: Москва
Сообщений: 9396
aux3
А если бы вместо waitfor delay был update?

Кнопка "cancel" вернула бы всё в первоначальное состояние!
Не выдумывайте. Откатывается только инструкция, на которой был прерван батч.
27 июн 12, 12:44    [12781995]     Ответить | Цитировать Сообщить модератору
 Re: отмена выполения запроса и kill  [new]
aux3
Member

Откуда:
Сообщений: 316
Ozerov,
сеанс не закрылся.
но и бэкап не апдейт то!
27 июн 12, 12:54    [12782106]     Ответить | Цитировать Сообщить модератору
 Re: отмена выполения запроса и kill  [new]
aux3
Member

Откуда:
Сообщений: 316
invm
aux3
А если бы вместо waitfor delay был update?

Кнопка "cancel" вернула бы всё в первоначальное состояние!
Не выдумывайте. Откатывается только инструкция, на которой был прерван батч.


А состояние данных было бы таким же как и при kill (если бы пользвались kill вместо кнопки отмены)?
27 июн 12, 13:01    [12782172]     Ответить | Цитировать Сообщить модератору
 Re: отмена выполения запроса и kill  [new]
Ozerov
Member

Откуда: Москва
Сообщений: 3650
aux3
Ozerov,
сеанс не закрылся.
но и бэкап не апдейт то!

И в чем разница то ??

Cancel - откат действия.
Kill - откат действия + закрытие сеанса.
27 июн 12, 13:03    [12782190]     Ответить | Цитировать Сообщить модератору
 Re: отмена выполения запроса и kill  [new]
aux3
Member

Откуда:
Сообщений: 316
Ozerov,
А в случае если клиент стал недоступен (например выключился)
происходит отмена же?
27 июн 12, 13:57    [12782638]     Ответить | Цитировать Сообщить модератору
 Re: отмена выполения запроса и kill  [new]
aux3
Member

Откуда:
Сообщений: 316
отмена на сервере
27 июн 12, 13:58    [12782646]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить