Разобравшись с этим кодом, вы сможете — теоретически — осуществлять легкую подстройку заданий агента SQL Server: выполнять быструю проверку по критерию «если/то» и затем с помощью одной из предложенных мною пользовательских функций либо продолжать работу в основных репликах, либо при необходимости прекращать ее, если реплика не является основной. Но, как будет показано далее, реализовать такую политику на деле гораздо сложнее, чем может показаться.

Первая ловушка на пути динамического выявления способа выполнения задания

Если вы читаете эту серию статей, что называется, для общего развития и вас интересует лишь проблема выбора решения, пользы для вас будет не так много. Работая над статьями, я старался пояснить, ПОЧЕМУ попытки динамически определить, следует ли выполнять то или иное задание (в зависимости от того, размещается ли основная реплика на том сервере, где это задание выполняется), не всегда бывают успешны.

В этом разделе я хочу показать, почему вариант с динамическим определением целесообразности запуска задания во время выполнения не столь безупречен, как может показаться.