2009-04-28 4 views
1

Мы установили сценарий регистрации на двух машинах Sql Server 2005. Вторичная база данных находится в режиме STANDBY. Мы хотим использовать этот вторичный сервер для целей отчетности, так как зрители отчетов будут запрашивать эту базу данных STANDBY в соответствии с их правами выполнения. Поэтому нам нужно несколько пользователей на этом вторичном сервере, имеющих разные права выполнения в базе данных STANDBY.Новый Sql Вход на сервер STANDBY

Проблема заключается в том, что после настройки доставки журнала мы не можем предоставить необходимые разрешения для резервной базы данных, поскольку она доступна только для чтения.

Есть ли у вас какие-либо предложения?

Спасибо, Умут

ответ

2

По какой-то причине, пока мы не настроим лучшую систему отчетности, нам необходимо использовать резервный сервер для целей отчетности. И есть способ создать новых пользователей и предоставить необходимые права на выполнение этого пользователя на резервном сервере. Простым решением является создание логина на основном сервере и выбор его SID из главной таблицы. Затем с помощью «sp_addlogin» создайте тот же логин с тем же SID в резервной базе данных. Затем на первичном сервере выдают требуемые права пользователю в базе данных. С восстановленными журналами транзакций права выполнения будут отправлены на резервный сервер. Пароли не должны быть одинаковыми на двух серверах, поэтому пользователь средства просмотра отчетов в режиме ожидания не может получить доступ к основному серверу с одинаковыми учетными данными.

+0

Отличный !! оно работает.. – IamCP

1

К сожалению, вы должны смотреть на что-то другое, чем доставка журналов.

Работа с журналом осуществляется путем сохранения актуальных копий ваших журналов в состоянии восстановления/восстановления на постоянном уровне на вторичном сервере. Таким образом, база данных никогда не бывает «активной» или «живой», поскольку она всегда применяет все больше и больше журналов и ждет команды, которая заставит ее активироваться.

Другими словами, доставка лога является ТОЛЬКО для высокой доступности - она ​​НЕ поддерживает дублирование ваших данных в форме USABLE.

Чтобы узнать больше о том, что служит каротаж цели, проверить это видео: http://www.sqlservervideos.com/video/logging-essentials/

И если вам действительно нужен вторичный сервер для целей отчетности, то я предложил бы использовать что-то вроде транзакционной репликации. (Это НЕ подходит для решений с высокой доступностью из-за некоторых изменений схемы и ограничений, которые вы должны были бы сделать ... но она отлично работает, как способ «публиковать» несколько копий вашей базы данных на разные серверы/местоположения для в целях отчетности.)

Смежные вопросы