Аспекты использования репликации всех типов

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

Помимо этих разделов, в разделе, посвященном каждой функции репликации, описываются аспекты реализации этой функции.

Агент SQL Server

Репликация использует отдельные программы, называемые агентами, для выполнения задач, связанных с отслеживанием изменений и распространением данных. По умолчанию агенты репликаций запускаются как задания, запланированные агентом SQL Server. Агент SQL Server должен выполняться для запуска заданий. Служба агента SQL Server по умолчанию отключена при установке SQL Server, если только во время установки явно не выбран режим автоматического запуска. Дополнительные сведения о запуске службы агента SQL Server см. в разделе Запуск агента SQL Server.

Соображения по безопасности

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

Вопросы управления

После настройки репликации важно разобраться, как следует управлять топологией репликации. Сведения о рекомендациях по администрированию репликации см. в разделе Рекомендации по администрированию репликации. В этом разделе предоставляются основные рекомендации по ряду вопросов со ссылками на дополнительные источники информации по рассматриваемым вопросам. Помимо рекомендаций, описываемых в этой разделе, ознакомьтесь с часто встречающимися вопросами и проблемами, описанными в следующем информационном источнике: Вопросы, часто задаваемые администраторам репликации.

Соображения по сети и производительности

Существует ряд рекомендаций по оптимизации производительности, касающихся следующих аспектов:

  • серверное и сетевое оборудование;

  • структура базы данных;

  • конфигурация распространителя;

  • структура и параметры публикации;

  • структура фильтра и его использование;

  • параметры подписок;

  • параметры моментального снимка;

  • параметры агентов;

  • обслуживание.

Дополнительные сведения см. в разделе Производительность (репликация).

Если репликация выполняется через медленное соединение, можно настроить профили агентов, участвующих в репликации. Параметры настройки изменяются в зависимости от агента, профиль которого настраивается. Дополнительные сведения см. в разделах Профили агента репликации и Медленная сеть — источник проблем.

Скорость сети часто является самым важным вопросом при применении исходного моментального снимка. Объем дополнительных изменений данных может быть невелик, но объем первоначально распространяемых данных может быть очень большим. Возможными решениями могут быть:

Указание имен серверов в топологии репликации

При указании имен экземпляров сервера, участвующих в репликации, необходимо указывать имя в формате зарегистрированного SQL Server имени экземпляра сервера. Например, следует использовать имя экземпляра SQL Server при указании параметров издателя или подписчика для репликации хранимых процедур или параметры подключения агента репликации в командной строке. Если сетевое имя для экземпляра SQL Server отличается от зарегистрированного имени экземпляра, подключения агентами репликации не будут успешными. Если сетевое имя экземпляра отличается от имени экземпляра SQL Server, рассмотрите возможность добавления имени экземпляра SQL Server в качестве допустимого сетевого имени. Один из методов установки альтернативного сетевого имени — это добавление имени в файл локальных узлов. Файл локальных узлов по умолчанию расположен в каталоге WINDOWS\\system32\\drivers\\etc или WINNT\\system32\\drivers\\etc. Дополнительные сведения см. в документации Windows.

Например, если имя компьютера — comp1, IP-адрес компьютера — 10.193.17.129, имя экземпляра — inst1/instname, то следует добавить в файл узлов следующую запись:

10.193.17.129 inst1

Целостность данных

Для топологий, в которых разрешается обновление на подписчиках, следует убедиться, что целостность приложения сохраняется на каждом подписчике. Все управляющие элементы, используемые для проверки изменений данных на издателе, такие как ограничения, должны присутствовать на подписчике или обрабатываться в приложении. Дополнительные сведения об агентах репликации и ограничениях на подписчике см. в разделе Управление ограничениями, идентификаторами и триггерами с помощью параметра «NOT FOR REPLICATION».

Конфликты данных

Для топологий, допускающих обновления на подписчиках, разработайте приложение для минимизации конфликтов. Если подписчикам необходимо считывать данные, но не требуется их обновлять, это позволит исключить конфликты. Секционирование данных логически в соответствие с географическим расположением или коммерческим применением также может предотвратить обновление одних и тех же данных разными пользователями, тем самым исключаются причины появления конфликтов. Дополнительные сведения о секционировании данных см. в разделе Фильтрация опубликованных данных.

Типы данных больших объектов (LOB)

Не рекомендуется использовать типы данных text, ntext и image. Рекомендуется использовать типы данных varchar(max), nvarchar(max), varbinary(max), соответственно. Если используются типы данных text, ntext и image, см. дополнительные сведения в подразделе «Типы данных больших объектов (LOB)» следующих разделов: Вопросы использования репликации транзакций и Общие вопросы репликации слиянием.

Моментальные снимки в символьном формате используются издателями, использующими версии, отличные от SQL Server, подписчиками, использующими версии, отличные от SQL Server, а также подписчиками, использующими Microsoft SQL Server Compact 3.5 с пакетом обновления 2 (SP2). При использовании моментальных снимков в символьном формате данные типа больших объектов (LOB) преобразуются в Юникод, что приводит к увеличению в четыре раза размера данных больших объектов в файле моментального снимка по сравнению с теми же данными в базе данных публикации. Когда данные копируются в базу данных подписки, они снова преобразуются, в результате данные имеют тот же самый размер, что и данные в базе данных публикации.

Сопоставление типов данных

Если топология репликации включает предыдущие версии SQL Server, SQL Server Compact 3.5 с пакетом обновления 2 (SP2), издателей, использующих версии, отличные от SQL Server, или подписчиков, использующих версии, отличные от SQL Server, то типы данных сопоставляются между базами данных. Список сопоставлений типов данных см. в:

Столбцы идентификаторов

Для использования столбцов идентификаторов в топологии репликации, имеющей обновления на нескольких узлах, все узлы топологии репликации должны использовать разные диапазоны значений идентификаторов, чтобы исключить появление повторяющихся идентификаторов. Репликация обрабатывает столбцы идентификаторов в публикациях и подписках всех типов, что позволяет управлять столбцами вручную или разрешать механизму репликации автоматически управлять столбцами. Дополнительные сведения см. в разделе Репликация столбцов идентификаторов.

Вычисляемые столбцы

Репликация копирует только определение вычисляемых столбцов на подписчик. Значение для каждой строки на подписчике зависит от данных на подписчике и от того, используются ли при вычислении столбца недетерминированные функции. Если данные на издателе и подписчике идентичны в некоторый заданный момент времени и в вычислении используются только детерминированные функции, вычисленные значения для строки будут идентичны. Если данные различны или при вычислении используется одна или более недетерминированных функций, значения на издателе и подписчике могут различаться. Дополнительные сведения о детерминизме функций см. в разделе Детерминированные и недетерминированные функции.