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

Зачем? Если Job должен выполняться всегда на Primary для этого есть функция sys.fn_hadr_is_primary_replica. Делаете проверки и если это не Primary то просто ничего не выполняете.
...
Рейтинг: 0 / 0
13.03.2018, 11:02
    #39613979
Den_KP
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переключение Jobs в Always On
Еще вопрос от падавана, как я могу сделать проверку для Джоба? Ни разу еще не сталкивался...
...
Рейтинг: 0 / 0
13.03.2018, 11:15
    #39613990
aleksrov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переключение Jobs в Always On
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
13.03.2018, 11:29
    #39614006
Den_KP
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переключение Jobs в Always On
Спасибо, я это прочитал, сорри что не конкретизировал. Я это добавляю в Джоб? Мне нужно чтобы 5 Джобов проверяли статус Always On и запускались если Primary.
...
Рейтинг: 0 / 0
13.03.2018, 12:52
    #39614062
msLex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переключение Jobs в Always On
Den_KPСпасибо, я это прочитал, сорри что не конкретизировал. Я это добавляю в Джоб? Мне нужно чтобы 5 Джобов проверяли статус Always On и запускались если Primary.
Сделайте проверку первым шагом, с выкидыванием ошибки в случае секондари реплики.
И настройте условия перехода для первого шага
При ошибке - завершиться успешно
Без ошибки - перейти на следующий шаг
...
Рейтинг: 0 / 0
13.03.2018, 13:20
    #39614077
Den_KP
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переключение Jobs в Always On
Точно! Спасибо, проверю отпишусь!
...
Рейтинг: 0 / 0
14.03.2018, 07:58
    #39614510
Den_KP
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переключение Jobs в Always On
Спасибо за помощь!
Реализовал, сделал первым шагом в каждом задании проверку:

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
14.03.2018, 08:23
    #39614516
Den_KP
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переключение Jobs в Always On
Еще возник вопрос, когда начал делать на сервере с несколькими группами доступности вышла ошибка:

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
14.03.2018, 08:53
    #39614523
aleksrov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переключение Jobs в Always On
Den_KP,

Разумеется ошибка если у вас их несколько. Отфильтруйте по нужной как в примере выше.
...
Рейтинг: 0 / 0
14.03.2018, 09:23
    #39614535
Den_KP
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переключение Jobs в Always On
aleksrov, сделал, и уже потом прочитал, добавил фильтр как выше по имени группы
...
Рейтинг: 0 / 0
19.03.2018, 17:04
    #39616948
AndrF
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переключение Jobs в Always On
Кстати, выражение sys.fn_hadr_is_primary_replica ( @dbname ) означает что разные базы в пределах одной и той же группы достуступа могут быть одновременно Primary и Secondary? Иначе зачем аргумент в виде имени базы?
...
Рейтинг: 0 / 0
19.03.2018, 17:15
    #39616959
msLex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переключение Jobs в Always On
AndrFКстати, выражение sys.fn_hadr_is_primary_replica ( @dbname ) означает что разные базы в пределах одной и той же группы достуступа могут быть одновременно Primary и Secondary? Иначе зачем аргумент в виде имени базы?
Почему одной группы?
На одном инстансе может быть более одной группы доступности.
А параметр @dbname просто удобнее чем @agname.
...
Рейтинг: 0 / 0
19.03.2018, 17:15
    #39616960
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переключение Jobs в Always On
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
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Переключение Jobs в Always On / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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