Назад | Перейти на главную страницу

Зеркальное отображение SQL Server - только зеркальные данные?

Кто-нибудь знает, можно ли отразить только изменения данных с помощью функции зеркала базы данных SQL Server 2008. Я подозреваю, что это невозможно, но я хотел посмотреть, не упустил ли я что-нибудь.

Если нет, знает ли кто-нибудь способ реплицировать только изменения данных и схемы таблиц из исходной базы данных в систему отчетов. Нам не нужны сохраненные процессы, представления, функции и т. Д. В целевой системе. Репликация не должна быть мгновенной, но мы пытаемся избежать создания полной копии базы данных с последующим DROP всех sprocs, представлений и функций (из-за размера резервной копии и времени, которое может занять ).

Репликация (как и в случае полноценной репликации SQL Server) не является вариантом - она ​​была исследована и потребует некоторых изменений в структуре базы данных, которые затем потребуют несколько недель (если не больше) для фактической реализации, тестирования и поддержка в приложении выше, а также ограничение и усложнение того, как изменения применяются к базе данных (т. е. хотя репликация может технически быть правильным решением для целого ряда процессов управления и ограничений по времени, этого, вероятно, не произойдет).

Ура.

Система отслеживания измененных данных, также известная как CDC, может ЗАХВАТЫВАТЬ изменения данных, а затем вы можете написать что-нибудь, например пакет SSIS, для распространения этих изменений на другой сервер, но это потребует некоторых усилий, не уверен, что это будет больше или меньше, чем настройка репликации, это будет зависеть от количества таблиц.

Зеркальное отображение определенно не может этого сделать, оно может только зеркалировать всю базу данных.

Если репликация SQL Server не подходит, я думаю, вам нужно будет найти решение, которое не является встроенным для выполнения этой задачи.

Насколько "связаны" 2 сервера? Следующее, что я мог придумать, - это настроить целевой сервер как «связанный сервер» в SQL Server. Затем вы можете использовать триггер базы данных на исходном сервере для обновления целевого сервера с помощью связанного сервера. Вы должны быть осторожны в своем триггере, чтобы уменьшить соглашение об именах, это должно быть что-то вроде server.database.schema.object. Я думаю, что серверы должны быть (с точки зрения сети) довольно близко друг к другу, чтобы это работало с какой-либо надежностью.