Я собираю задание на SQL Enterprise Manager 2000 для копирования и удаления записей в паре таблиц базы данных. Мы запускаем массовую копию с прямой массой и удаляем хранимую процедуру, но она может запускаться на миллионы строк и, следовательно, зависает на сервере. Я был заинтересован в попытке запустить службу в 100-хэш-блоках за один раз, поэтому сервер не останавливается (это живая веб-база данных). Я хочу, чтобы эта служба запускалась один раз в сутки, поэтому я поставил ее в задание агента. Есть ли способ перевести вызовы на хранимые процедуры, которые фактически выполняют копирование и удаление, а затем «поспать» между каждым вызовом, чтобы дать серверу время догнать? Я знаю, что есть команда WAITFOR, но я не уверен, что это будет удерживать процессор или позволить ему запускать другие запросы тем временем.Использование задания агента SQL для вызова процедур в цикле
Спасибо!
Вы правы. В двух таблицах я технически «архивирую» данные, например, копируя их в другую базу данных на одном сервере, а затем удаляя существующие записи. В другой таблице я просто удаляю все записи, созданные до определенной даты. Я подумал о том, чтобы использовать временную таблицу, чтобы помочь с передачей, которую я могу закончить. Я дам ваше предложение попробовать и посмотреть, как это получается. Благодаря! – Kevin