SQL Broker: выполнение асинхронной процедуры
Я читал статью этого великого Ремуса Русану.
http://rusanu.com/2009/08/05/asynchronous-procedure-execution/
Как реализовать эту идею:
У меня есть большая главная таблица, пользователь может пометить там записи "Как удалить" (установить поле на 1)
Я не могу использовать задания SQL, потому что клиенты могут использовать SQLExpress.
Идея такова: когда пользователь "удаляет" или "восстанавливает" записи в большой таблице, нужно отправить сообщение в очередь.
Процесс активации 'fire and forget' для выполнения реального удаления выписка для отмеченных записей в главной таблице-все или части, это зависит.
Но нужно максимально избегать блокировки.... Вот почему вопрос:
Как выполнить реальное удаление, когда SQL Server имеет самую низкую загрузку? или когда база данных имеет самую низкую активность?
Как обнаружить эти моменты "низкой загрузки базы данных"в асинхронном процессе?
1 ответ:
Нет способа активации Lync Service Broker непосредственно к рабочей нагрузке и активируется только во время "низкой активности".
Я не могу использовать задания SQL, потому что клиенты могут использовать SQLExpress
Хотя верно, что SQL Server Express Edition не имеет планирования агента SQL, существуют обходные пути с использованием Service Broker таймеров разговоров. См.Разделпланирование заданий в SQL Server Express (иpart 2 ).
Comments