В предыдущих материалах серии я подчеркивал, что хотя решение вопроса о том, следует ли выполнять или воздерживаться от выполнения задания агента SQL Server в отношении базы данных, входящей в группу доступности AlwaysOn, не составляет особого труда, обеспечить выполнение или невыполнение этого задания — проблема чуть более сложная. Это объясняется некоторыми ограничениями, связанными с особенностями функционирования системы SQL Server, а также агента SQL Server. Указанные соображения сохраняют силу.

Неожиданный конфуз

Однако произошла вещь, которая до сих пор приводит меня в недоумение. Я как-то умудрился упустить некую возможность, которая открывала путь к преодолению многих из упоминавшихся осложнений. Одним словом, следующий код, или подход, попросту не работает (см. экран 1).

В опубликованной в этом же номере статье, посвященной второй ловушке на пути динамического выявления, я объяснил, почему так происходит. Но при этом я как-то упустил из виду, что код, показанный на экране 2, будет работать со стопроцентной вероятностью.