Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Прежде чем разрабатывать приложение, использующее функции репликации, необходимо выполнить следующие общие действия по планированию.
Определите топологию репликации.
Определите функциональные возможности приложения.
Планирование безопасности.
Выберите среду разработки.
Выберите соответствующий интерфейс программирования репликации.
В остальной части этого раздела подробно описаны эти действия. Чтобы проиллюстрировать процесс планирования, был включен пример.
Определение топологии репликации
Первым шагом в программировании репликации является определение топологии репликации для приложения. Если вы пишете приложение, которое будет использовать существующую топологию репликации, например клиентское приложение, которое обращается к данным на существующем подписчике, необходимо перейти к следующему шагу.
Замечание
В некоторых случаях развертывание топологии репликации будет единственным назначением приложения.
Топология репликации, определяемая вами, зависит от многих факторов, включая следующие:
Нужно ли обновлять реплицированные данные и кем.
Распределение данных должно соответствовать согласованности, автономии и задержке.
Среда репликации, включая бизнес-пользователей, техническую инфраструктуру, сетевую и безопасность и характеристики данных.
Типы параметров репликации и репликации.
Топологии репликации и их соответствие типам репликации.
Если вы не знакомы с репликацией Microsoft SQL Server, см. статью "Типы репликации".
Определение функциональных возможностей приложений
После определения топологии репликации следует выбрать функциональные возможности, которые будет предлагать ваше приложение. Эти функции могут варьироваться от скрипта, который синхронизирует подписку с приложением с пользовательским интерфейсом для настройки репликации. Репликация поддерживает следующие общие задачи программирования:
Настройка репликации.
Синхронизация подписчиков.
Обслуживание топологии репликации.
Мониторинг топологии репликации.
Устранение неполадок репликации.
Кроме того, приложение часто расширяется путем объединения функций репликации с другими функциями, предоставляемыми SQL Server. В следующей таблице перечислены некоторые расширенные функциональные возможности, которые могут быть предоставлены в приложении репликации.
Функция | Пример |
---|---|
Администрирование сервера с помощью объектов управления SQL Server (SMO) | Приложение, которое позволяет администратору подключать и настраивать базу данных в качестве издателя в топологии репликации. |
Доступ к данным с помощью ADO.NET | Приложение, которое позволяет пользователям программно получать доступ к реплицированным данным о продажах в локальной базе данных подписчиков в автономном режиме, а затем подключать и синхронизировать подписку на вытягивание, нажав кнопку. |
Планирование безопасности
Безопасность важна в любом приложении, а планирование безопасности необходимо выполнить перед написанием кода. Безопасность приложений может быть разделена на три основных части: защита базы данных, защита репликации и написание защищенного кода.
В следующих разделах содержатся сведения о безопасности:
Выбор среды разработки
При разработке приложения репликации необходимо учитывать три основных среды разработки. Каждая среда разработки имеет доступ к тем же функциям репликации с некоторыми исключениями. Приложения репликации можно разрабатывать в каждой из следующих сред.
Управляемый код
Объектная среда разработки, которая использует преимущества программирования .NET Framework и среды CLR .NET. Управляемый код — это рекомендуемая среда программирования для приложений .NET для разработки и SQL Server. Интерфейсы управляемой репликации позволяют программированию администрирования репликации в объектно-ориентированном режиме без необходимости знать Transact-SQL, а также предоставляют некоторые функции обратного вызова при выполнении агентов репликации, недоступных из скриптов. Управляемый код — это оптимальная среда для разработки повторно используемых компонентов и приложений пользовательского интерфейса.
скриптов
Простые приложения, которые выполняют ряд команд в виде хранимых процедур системы репликации в Transact-SQL скриптах или командах в пакетных файлах. Хотя вы можете выполнять скрипты в управляемой среде с помощью управляемого поставщика SQL Server, те же функции можно получить с помощью управляемых интерфейсов репликации, которые также предоставляют функции обратного вызова. Скриптирование — это лучшая среда для выполнения задач, которые будут выполняться всего несколько раз, а также в тех случаях, когда функции обратного вызова не требуются, например установка сервера репликации.
родной код
Объектно-ориентированной среде разработки, которая использует прямой доступ к системным или COM-объектам, таким образом, что код не управляется средой CLR. Интерфейсы репликации машинного кода устарели или прекращены. Дополнительные сведения см. в разделе "Устаревшие функции" в репликации SQL Server или обратной совместимости репликации.
Выбор соответствующего интерфейса программирования репликации
Последний этап планирования — выбор соответствующего интерфейса программирования репликации, реализующего необходимые функции репликации для выбранной среды разработки. В следующей таблице показаны доступные интерфейсы программирования репликации.
Интерфейс | Окружающая среда | Применение |
---|---|---|
Концепции объектов управления репликацией | Управляемый код | Администрирование, мониторинг и синхронизация. |
Microsoft.SqlServer.Replication | Управляемый код | Синхронизация. |
Microsoft.SqlServer.Replication.BusinessLogicSupport | Управляемый код | Создание обработчиков бизнес-логики для интеграции пользовательской логики с процессом синхронизации слиянием. |
Хранимые процедуры репликации (Transact-SQL) | Скриптинг | Администрирование и мониторинг. |
Концепции исполняемых файлов репликационного агента | Скриптинг | Синхронизация. |
Пример
В Adventure Works данные должны быть опубликованы для 200 представителей по продажам по всему миру. Представители продаж часто путешествуют и должны использовать ноутбуки или личные цифровые помощники (PDAs) для изменения данных клиентов и добавления новых заказов. Затем изменения должны быть синхронизированы с издателем, когда представитель по продажам подключает ноутбук к сети.
Для этого приложения шаги планирования могут выглядеть следующим образом:
Топология репликации для этого приложения уже существует. Однако на клиенте должна быть создана новая подписка на вытягивание. Публикация должна использовать параметризованные фильтры для репликации уникального набора данных каждому представителю продаж.
Помимо типичного доступа к данным, необходимым для приложения продаж, это приложение должно разрешить продавцу синхронизировать подписку на вытягивание по запросу, нажав кнопку. Так как представитель по продажам установит и запустит приложение, он также должен иметь возможность настроить подписку и применить начальный моментальный снимок на клиенте. При необходимости приложение будет использовать инфраструктуру, предоставляемую Windows, для обнаружения беспроводного подключения для автоматической синхронизации подписки при обнаружении подключения.
Следуйте всем рекомендациям по безопасности для репликации, включая проверку подлинности Windows и виртуальную частную сеть (VPN) при подключении к издателю. При реализации веб-синхронизации используйте безопасное подключение уровня сокетов (SSL). Дополнительные сведения см. в разделе "Настройка веб-синхронизации".
Чтобы воспользоваться преимуществами функций .NET Framework, приложение разрабатывается с помощью управляемого языка кода.
В соответствии с этими требованиями управляемый интерфейс объектов управления репликацией (RMO) может предоставлять все необходимые функции репликации для этого приложения.
Этот пример сценария реализован в примере приложения, которое поставляется с SQL Server.