Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Mirroring - перенос логинов  [new]
temp-for-testing
Member

Откуда:
Сообщений: 384
Добрый день всем!
Поделитесь опытом, как кто настраивает синхронизацию логинов при зеркалировании? Пользователи базы переносятся самим зеркалированием, а вот логины для них нужно создавать вручную. Изначально при создании зеркалирования можно создать на обоих серверах нужные логины, но если в процессе работы на principal был создан новый пользователь + логин, то на mirror перенесется только пользователь. Вручную создать на mirror логин можно, но связать его с пользователем можно только после передачи роли mirror'у.
3 дек 12, 12:38    [13567792]     Ответить | Цитировать Сообщить модератору
 Re: Mirroring - перенос логинов  [new]
Crimean
Member

Откуда:
Сообщений: 13147
1.интегрированная безопасность и никакой головной боли
2.копирование сида если используются стандартные логины и все будет ок
3 дек 12, 12:50    [13567899]     Ответить | Цитировать Сообщить модератору
 Re: Mirroring - перенос логинов  [new]
temp-for-testing
Member

Откуда:
Сообщений: 384
Crimean,

1. Интегрированная безопасность не подходит. Используется только SQL аутентификация.
2. С копированием сида да, забыл, что при sp_help_revlogin связывать пользователя и логин уже не нужно. Но остается открытым вопрос о том, как реализовать это копирование. Надо делать какой-то джоб, который время от времени будет переносить логины. Но все логины, созданные после последнего запуска джоба будут утеряны. Хотелось бы реализовать запуск джоба после создания логина/изменения пароля.

Есть еще другой вариант - на резервном сервере после создания логина/изменения пароля хранить в таблице сформированный sp_help_revlogin скрипт и при переключении роли запускать все эти скрипты. Но опять же, как отследить изменение для запоминания скрипта и как отследить на mirror'е переключение ролей для запуска сохраненных скриптов?
3 дек 12, 13:21    [13567927]     Ответить | Цитировать Сообщить модератору
 Re: Mirroring - перенос логинов  [new]
Crimean
Member

Откуда:
Сообщений: 13147
а это как вы копирование напишете :)
3 дек 12, 13:23    [13567934]     Ответить | Цитировать Сообщить модератору
 Re: Mirroring - перенос логинов  [new]
temp-for-testing
Member

Откуда:
Сообщений: 384
Crimean,

А какие есть варианты? Джоб с расписанием грозит тем, что не будут скопированы новые логины, созданные после последнего запуска.
3 дек 12, 13:29    [13567966]     Ответить | Цитировать Сообщить модератору
 Re: Mirroring - перенос логинов  [new]
invm
Member

Откуда: Москва
Сообщений: 9827
temp-for-testing,

В DDL-триггере уровня сервера отслеживать создание или изменение логина и копировать их на зеркальный сервер.
3 дек 12, 13:38    [13568027]     Ответить | Цитировать Сообщить модератору
 Re: Mirroring - перенос логинов  [new]
temp-for-testing
Member

Откуда:
Сообщений: 384
invm,

Точно! Спасибо.. А еще нашел вот такую интересную статью по отлавливанию момента переключения сервера. Попробую скомбинировать оба варианта: с помощью DDL сохранять в локальную таблицу SID и при переключении роли создавать логины на втором сервере (все-таки создание нового пользователя может происходить в тот момент, когда mirror недоступен, соответственно этот логин не получится там создать)
3 дек 12, 14:27    [13568538]     Ответить | Цитировать Сообщить модератору
 Re: Mirroring - перенос логинов  [new]
dalex1973
Member

Откуда: Польша
Сообщений: 287
temp-for-testing,

Неплоxо бы также контролировать пересечения SID`ов(как в момент записи в таблицу так и при переключении). Разве что из сертификатов логины создаёте, тогда нет проблем.
3 дек 12, 14:44    [13568686]     Ответить | Цитировать Сообщить модератору
 Re: Mirroring - перенос логинов  [new]
Crimean
Member

Откуда:
Сообщений: 13147
ddl триггера - жесть какая. я просто логины "свожу" по сидам, считая что зеркало - это "копия" и все коллизии стоит решать в пользу "мастера". раз в день - более чем достаточно. гурманам - опционально после танцев с логинами
3 дек 12, 15:00    [13568837]     Ответить | Цитировать Сообщить модератору
 Re: Mirroring - перенос логинов  [new]
temp-for-testing
Member

Откуда:
Сообщений: 384
Crimean,

А что делаете, если были новые логины после того, как вы раз в день их перенесли на второй сервер? Вручную заново создаете? Или если смена пароля произошла?
3 дек 12, 15:11    [13568947]     Ответить | Цитировать Сообщить модератору
 Re: Mirroring - перенос логинов  [new]
temp-for-testing
Member

Откуда:
Сообщений: 384
dalex1973,

Crimean
считая что зеркало - это "копия" и все коллизии стоит решать в пользу "мастера"

У меня аналогичная позиция.
3 дек 12, 15:14    [13568972]     Ответить | Цитировать Сообщить модератору
 Re: Mirroring - перенос логинов  [new]
Crimean
Member

Откуда:
Сообщений: 13147
а что, есть какие-то проблемы? не заметил
3 дек 12, 16:05    [13569430]     Ответить | Цитировать Сообщить модератору
 Re: Mirroring - перенос логинов  [new]
temp-for-testing
Member

Откуда:
Сообщений: 384
Crimean,

Проблем предостаточно может быть (очень хорошо, что для вас они некритичны). Утром выдали новому сотруднику логин и доступ к программе, через два часа основной сервер ложится, witness меняет роль у зеркала, все пользователи работают, кроме нового сотрудника. Хорошо, если он такой один и есть кому заново создать роль (а также узнать у этого пользователя, какой он ввел пароль или же ввести новый и сообщить этому человеку, что нужно опять вводить базовый пароль и снова менять на свой). А если еще часть пользователей изменила существующий пароль (к примеру, есть требования раз в месяц менять пароли) и будет упорно и долго вводить свой новый. Придется опять же ждать от них звонков и потом узнавать, а не меняли ли вы пароль после последней синхронизации с зеркалом. Вероятность такого мала, но все же на практике такие ситуации имеют место. Можно делать запуск джоба не раз в сутки, а раз в час. Хотя опять же есть вероятность, что за последний час будут новые/измененные логины.
3 дек 12, 16:18    [13569569]     Ответить | Цитировать Сообщить модератору
 Re: Mirroring - перенос логинов  [new]
Crimean
Member

Откуда:
Сообщений: 13147
temp-for-testing,

интегрированная безопасность решает на 101%. остальное уже написано. просто перечитайте и подумайте что вам важнее
3 дек 12, 16:34    [13569716]     Ответить | Цитировать Сообщить модератору
 Re: Mirroring - перенос логинов  [new]
temp-for-testing
Member

Откуда:
Сообщений: 384
Crimean
интегрированная безопасность решает на 101%

Видимо, вы невнимательно читаете то, что я пишу.
3 дек 12, 16:45    [13569808]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить