Альтернатива KILL «SID» в хранилище данных SQL Azure

Если я отправлю серию операторов SQL (каждый с GO в sqlcmd), которые я хочу предпринять разумную попытку запустить в хранилище данных SQL Azure, я нашел в sqlcmd, как игнорировать ошибки. Но я видел, хочу ли я прервать оператор в этой последовательности операторов с помощью:

KILL "SIDxxxxxxx"; 

Весь сеанс заканчивается:

 Msg 111202, Level 16, State 1, Server adws_database, Line 1
 111202;Query QIDyyyyyyyyyy has been cancelled.

Есть ли способ не завершать сеанс запроса в хранилище данных SQL Azure? Похоже на то, как работает postgres pg_cancel_backend()?

В постгресе

pg_terminate_backed(<pid>) 

похоже, работает аналогично ADW

KILL 'SIDxxxx' 

команда.


person Steve    schedule 30.01.2017    source источник


Ответы (1)


Да, клиент может отменить текущий запрос, не прерывая весь сеанс. В SSMS это то, что делает красный квадрат во время выполнения запроса.

Однако Sqlcmd не предоставляет никакого способа отменить выполняющийся запрос. Другие клиентские интерфейсы, такие как .NET SqlClient, вы можете использовать SqlCommand.Cancel()

Дэйвид

person David Browne - Microsoft    schedule 30.01.2017
comment
Я подал запрос на улучшение — feedback.azure.com/forums/307516-sql-data-warehouse/suggestions/ - person Steve; 30.01.2017