Мне нужно создать копию моей базы данных SQL 2008 R2 Enterprise и разместить ее на том же сервере, что и оригинал. Я буду использовать эту вторую копию базы данных в качестве целевого веб-сайта в основном только для чтения. Я понимаю, что если я создам эту копию базы данных с помощью репликации моментальных снимков, все изменения данных в базе данных подписчика будут перезаписаны в случае следующей репликации. Веб-приложение попытается выполнить запись в эту базу данных для записи попыток входа в систему и т. Д. И завершится ошибкой, если его исходная база данных доступна только для чтения. В моем случае мне не нужно хранить эти записи аудита, и поэтому они могут перезаписываться каждый раз, когда применяется новый снимок.
Мой вопрос в том, заставляет ли SQL Server базу данных подписчиков быть доступной только для чтения и есть ли способ обойти это?
Спасибо,
Нейт
SQL Server не делает подписывающуюся базу данных доступной только для чтения. Вы можете изменить таблицу, которая реплицируется на подписчике. Просто обратите внимание на следующие проблемы:
Для большей безопасности вы можете настроить репликацию без таблиц аудита, а затем добавить таблицы аудита вручную после завершения моментального снимка. В этом случае таблицы аудита не будут зависеть от репликации, поэтому вы можете без проблем их изменять. Однако у подписчика не будет записей аудита на издателе.
Вероятно, вы знаете, что можете создать обновляемую подписку с помощью репликации транзакций: http://technet.microsoft.com/en-us/library/ms152769(SQL.90).aspx