powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Переключение Jobs в Always On
14 сообщений из 14, страница 1 из 1
Переключение Jobs в Always On
    #39613866
Фотография Den_KP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Форумчане, подскажите есть ли возможность сделать автовключение Jobs в случае миграции группы доступности на другой сервер и выключения на старом?
...
Рейтинг: 0 / 0
Переключение Jobs в Always On
    #39613871
aleksrov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Den_KP,

Зачем? Если Job должен выполняться всегда на Primary для этого есть функция sys.fn_hadr_is_primary_replica. Делаете проверки и если это не Primary то просто ничего не выполняете.
...
Рейтинг: 0 / 0
Переключение Jobs в Always On
    #39613979
Фотография Den_KP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще вопрос от падавана, как я могу сделать проверку для Джоба? Ни разу еще не сталкивался...
...
Рейтинг: 0 / 0
Переключение Jobs в Always On
    #39613990
aleksrov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Den_KP,

Код: sql
1.
2.
3.
4.
5.
If sys.fn_hadr_is_primary_replica ( @dbname ) <> 1   
BEGIN  
-- If this is not the primary replica, exit (probably without error).  
END  
-- If this is the primary replica, continue to do the backup. 



или так можно еще

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
if (select
        ars.role_desc
    from sys.dm_hadr_availability_replica_states ars
    inner join sys.availability_groups ag
    on ars.group_id = ag.group_id
    where ag.name = 'YourAvailabilityGroupName'
    and ars.is_local = 1) = 'PRIMARY'
begin
    -- this server is the primary replica, do something here
end
else
begin
    -- this server is not the primary replica, (optional) do something here
end
...
Рейтинг: 0 / 0
Переключение Jobs в Always On
    #39614006
Фотография Den_KP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо, я это прочитал, сорри что не конкретизировал. Я это добавляю в Джоб? Мне нужно чтобы 5 Джобов проверяли статус Always On и запускались если Primary.
...
Рейтинг: 0 / 0
Переключение Jobs в Always On
    #39614062
msLex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Den_KPСпасибо, я это прочитал, сорри что не конкретизировал. Я это добавляю в Джоб? Мне нужно чтобы 5 Джобов проверяли статус Always On и запускались если Primary.
Сделайте проверку первым шагом, с выкидыванием ошибки в случае секондари реплики.
И настройте условия перехода для первого шага
При ошибке - завершиться успешно
Без ошибки - перейти на следующий шаг
...
Рейтинг: 0 / 0
Переключение Jobs в Always On
    #39614077
Фотография Den_KP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Точно! Спасибо, проверю отпишусь!
...
Рейтинг: 0 / 0
Переключение Jobs в Always On
    #39614510
Фотография Den_KP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо за помощь!
Реализовал, сделал первым шагом в каждом задании проверку:

IF (SELECT ars.role_desc
FROM sys.dm_hadr_availability_replica_states ars
INNER JOIN sys.availability_groups ag
ON ars.group_id = ag.group_id
AND ars.is_local = 1) <> 'PRIMARY'
BEGIN
--We're on the secondary node, throw an error
THROW 50001, 'Unable to execute job on secondary node',1
END

При Success на следующий шаг идет
При Fail пока сделал Alert после чтобы не срал по почте, поменяю на Success при ошибке
...
Рейтинг: 0 / 0
Переключение Jobs в Always On
    #39614516
Фотография Den_KP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще возник вопрос, когда начал делать на сервере с несколькими группами доступности вышла ошибка:

Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression.
...
Рейтинг: 0 / 0
Переключение Jobs в Always On
    #39614523
aleksrov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Den_KP,

Разумеется ошибка если у вас их несколько. Отфильтруйте по нужной как в примере выше.
...
Рейтинг: 0 / 0
Переключение Jobs в Always On
    #39614535
Фотография Den_KP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aleksrov, сделал, и уже потом прочитал, добавил фильтр как выше по имени группы
...
Рейтинг: 0 / 0
Переключение Jobs в Always On
    #39616948
AndrF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, выражение sys.fn_hadr_is_primary_replica ( @dbname ) означает что разные базы в пределах одной и той же группы достуступа могут быть одновременно Primary и Secondary? Иначе зачем аргумент в виде имени базы?
...
Рейтинг: 0 / 0
Переключение Jobs в Always On
    #39616959
msLex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndrFКстати, выражение sys.fn_hadr_is_primary_replica ( @dbname ) означает что разные базы в пределах одной и той же группы достуступа могут быть одновременно Primary и Secondary? Иначе зачем аргумент в виде имени базы?
Почему одной группы?
На одном инстансе может быть более одной группы доступности.
А параметр @dbname просто удобнее чем @agname.
...
Рейтинг: 0 / 0
Переключение Jobs в Always On
    #39616960
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndrFКстати, выражение sys.fn_hadr_is_primary_replica ( @dbname ) означает что разные базы в пределах одной и той же группы достуступа могут быть одновременно Primary и Secondary? Иначе зачем аргумент в виде имени базы?
если смотреть на dmv этой функции, то

автор On a secondary replica, this view returns a row for every secondary database on the server instance. On the primary replica, this view returns a row for each primary database and an additional row for the corresponding secondary database.
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Переключение Jobs в Always On
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]