2013-07-13 1 views
1

Мне нужно синхронизировать несколько баз данных, один из которых находится на sql 2000, а другой - в 2005 году. Один из 2000 должен храниться в режиме только для чтения, чтобы убедиться, что пользователи не вводят данные. 2005 год - это тот, который будет обновляться пользователями. Так что я мог бы разработать скрипт для усечения и вставки в версию 2000 с данными из 2005 каждую ночь. Мой вопрос в том, есть ли способ отключить режим только для чтения во время работы скрипта. Есть ли лучший подход? Thanks,SQL Server - Храните синхронизированную базу данных только для чтения

ответ

2

Вы можете отключить режим только для чтения во время работы скрипта. Вы также можете установить RESTRICTED_USER, чтобы пользователи не могли обращаться к базе данных во время обработки.

+0

спасибо за отзыв. – m0dest0

0

Просто на будущее, это то, как я приступил,

ALTER DATABASE MyDB SET READ_WRITE WITH ROLLBACK IMMEDIATE 
ALTER DATABASE MyDB SET READ_ONLY WITH ROLLBACK IMMEDIATE 

Спасибо,

1

Я бы, как правило, по реакции, предлагаемые Майк Хендерсон. По существу, используйте защиту db, чтобы пользователи не могли изменять данные и разрешать учетную запись, используемую для синхронизации данных для записи.

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