я сталкивался с сомнением относительно остановки (убийство) запроса:запросы SQL Server 2005 Killing времени
Там есть процедура, которая изменяет количество данных, которые абонент повторность (я не знаю, все детали, это какая-то функциональность, уже реализованная компанией), она находится в транзакции, поэтому, если она не завершилась, она будет отката, а при выполнении этой процедуры репликация для всех подписчиков заблокирована, поэтому мы выполняем эту операцию в ночное время, когда количество тиражей подписчиков будет меньше или равно. Это выходные, и я хочу оставить процедуру (пятница 10 вечера), но я бы хотел, чтобы она откатилась, если она не закончилась, например. в 6 часов утра в субботу и без необходимости идти в офис, чтобы остановить процедуру вручную.
установить его для работы на 10pm легко я использовал
waitfor time '22:00'
Я знаю, что в одном запросе не может быть сценарий, который может остановить весь запрос, так как он является «последовательным», есть ли способ сделать это, открыв другую вкладку запросов? Надеюсь, что создание задания - не единственное решение (если это вообще решение).
Благодарим за ответы.
hmm well, вы можете определенно сделать это из сценария powershell, установив ComandTimeout на объект Command, но это может быть не то, что вы ищете –
Спасибо за ваш ответ, если он не слишком много спрашивает, может пожалуйста, предоставьте мне пример с вашей идеей, это может быть временное решение для него (я имею в виду временное, если решение от SQL Server Management Studio выглядит иначе, это может быть единственным решением :)) –
Можете ли вы объяснить, почему вы хотите это как некоторый скрипт, оставленный открытым в Management Studio (который добавляет некоторые моменты сбоя) и почему работа звучит как такое плохое решение? Если вы создадите его и запустите его как задание, вы можете легко написать второе задание сторожевого таймера, которое просыпается, проверяет, работает ли работа, и если да, то убивает. –