Как задать параметры схемы (программирование репликации на языке Transact-SQL)

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

ПримечаниеПримечание

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

Параметры схемы указываются в виде шестнадцатеричных значений, которые являются результатом выполнения операции | (побитовое ИЛИ) к одному или нескольким параметрам. Дополнительные сведения см. в разделах sp_addarticle и sp_addmergearticle.

ПримечаниеПримечание

Прежде чем применять битовые операции к значениям параметров схемы, необходимо преобразовать их значения из типа binary в тип int. Дополнительные сведения см. в разделе Article Options for Transactional Replication.

Задание параметров схемы при определении статьи для публикации моментальных снимков или транзакций

  • Выполните процедуру sp_addarticle на издателе в базе данных публикации. В параметре @publication задайте имя публикации, к которой принадлежит статья, в параметре @article — имя статьи, в параметре @source_object — базу данных, в параметре @type — объект базы данных, в параметре @schema_option — результат выполнения операции | (побитовое ИЛИ) над одним или несколькими параметрами схемы. Дополнительные сведения см. в разделе Как определить статью (программирование репликации на языке Transact-SQL).

Задание параметров схемы при определении статьи для публикации слиянием

Изменение параметров схемы в существующей статье публикации моментальных снимков или транзакций

  1. В базе данных публикации на издателе выполните процедуру sp_helparticle. Укажите имя публикации, которой принадлежит статья, в параметре @publication и имя статьи в параметре @article. Запомните значение столбца schema_option в результирующем наборе.

  2. Выполните операцию & (побитовое И), используя значение из шага 1 и требуемое значение параметра схемы, чтобы определить, установлен ли этот параметр.

    • Если результат равен 0, параметр не установлен.

    • Если результатом является значение параметра, то он уже установлен.

  3. Если параметр не установлен, выполните операцию | (побитовое ИЛИ), используя значение из шага 1 и требуемое значение параметра схемы.

  4. Выполните процедуру sp_changearticle на издателе в базе данных публикации. Укажите имя публикации, которой принадлежит статья, в параметре @publication, имя статьи в параметре @article, значение schema_option в параметре @property и шестнадцатеричный результат с шага 3 в параметре @value.

  5. Запустите агент моментальных снимков, чтобы создать новый моментальный снимок. Дополнительные сведения см. в разделе Как создать исходный моментальный снимок (программирование репликации на языке Transact-SQL).

Изменение параметров схемы для существующей статьи в публикации слиянием

  1. В базе данных публикации на издателе выполните процедуру sp_helpmergearticle. Укажите имя публикации, которой принадлежит статья, в параметре @publication и имя статьи в параметре @article. Запомните значение столбца schema_option в результирующем наборе.

  2. Выполните операцию & (побитовое И), используя значение из шага 1 и требуемое значение параметра схемы, чтобы определить, установлен ли этот параметр.

    • Если результат равен 0, параметр не установлен.

    • Если результатом является значение параметра, то он уже установлен.

  3. Если параметр не установлен, выполните операцию | (побитовое ИЛИ), используя значение из шага 1 и требуемое значение параметра схемы.

  4. В базе данных публикации на издателе выполните процедуру sp_changemergearticle. Укажите имя публикации, которой принадлежит статья, в параметре @publication, имя статьи в параметре @article, значение schema_option в параметре @property и шестнадцатеричный результат с шага 3 в параметре @value.

  5. Запустите агент моментальных снимков, чтобы создать новый моментальный снимок. Дополнительные сведения см. в разделе Как создать исходный моментальный снимок (программирование репликации на языке Transact-SQL).