У нас есть две базы данных SQL-сервера. Исходный сервер содержит данные, полученные из внешней системы, и целевую базу данных на удаленном сервере (используется веб-приложением). Существует пакет SSIS, который сопоставляет столбец из исходных таблиц с целевыми (имена столбцов различаются) и заполняет данные для поддержания синхронизации.
Теперь, чтобы убедиться, что обе базы данных синхронизированы, для которых у нас есть SP, который показывает количество записей, а для некоторых отношений родитель-потомок он показывает количество дочерних элементов для каждой родительской записи (т.е. количество элементов Brandwise). Кто-то должен войти на оба сервера, выполнить SP и получить данные вручную. Затем сравните результаты, чтобы убедиться, что обе базы данных синхронизированы.
Теперь, чтобы автоматизировать этот процесс, мы сделали следующее:
- Добавьте конечный сервер как "связанный сервер"
- Используйте "EXEC msdb.dbo.sp_send_dbmail" вместе с "@attach_query_result_as_file = 1"
- Создайте задание SSIS, которое будет выполнять SP электронной почты для обоих серверов.
Итак, вот как мы получаем два электронных письма, к которым прикреплены результаты запроса. А затем сравнение текстовых файлов завершает проверку синхронизации базы данных.
Я считаю, что это можно сделать лучше - теперь, когда мы можем получить доступ к целевому серверу как к связанному серверу. Это мой первый раз, поэтому я бы попросил некоторых опытных ребят поделиться своим подходом, возможно, что-то помимо запроса на соединение со связанным сервером.