Как задать параметры схемы (программирование репликации на языке 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).
Задание параметров схемы при определении статьи для публикации слиянием
- В базе данных публикации на издателе выполните процедуру sp_addmergearticle. В параметре @publication задайте имя публикации, которой принадлежит статья, в параметре @article — имя статьи, в параметре @source_object — базу данных, в которой публикуется объект, в параметре @schema_option — результат выполнения операции | (побитовое ИЛИ) над одним или несколькими параметрами схемы. Дополнительные сведения см. в разделе Как определить статью (программирование репликации на языке Transact-SQL).
Изменение параметров схемы в существующей статье публикации моментальных снимков или транзакций
В базе данных публикации на издателе выполните процедуру sp_helparticle. Укажите имя публикации, которой принадлежит статья, в параметре @publication и имя статьи в параметре @article. Запомните значение столбца schema_option в результирующем наборе.
Выполните операцию & (побитовое И), используя значение из шага 1 и требуемое значение параметра схемы, чтобы определить, установлен ли этот параметр.
Если результат равен 0, параметр не установлен.
Если результатом является значение параметра, то он уже установлен.
Если параметр не установлен, выполните операцию | (побитовое ИЛИ), используя значение из шага 1 и требуемое значение параметра схемы.
Выполните процедуру sp_changearticle на издателе в базе данных публикации. Укажите имя публикации, которой принадлежит статья, в параметре @publication, имя статьи в параметре @article, значение schema_option в параметре @property и шестнадцатеричный результат с шага 3 в параметре @value.
Запустите агент моментальных снимков, чтобы создать новый моментальный снимок. Дополнительные сведения см. в разделе Как создать исходный моментальный снимок (программирование репликации на языке Transact-SQL).
Изменение параметров схемы для существующей статьи в публикации слиянием
В базе данных публикации на издателе выполните процедуру sp_helpmergearticle. Укажите имя публикации, которой принадлежит статья, в параметре @publication и имя статьи в параметре @article. Запомните значение столбца schema_option в результирующем наборе.
Выполните операцию & (побитовое И), используя значение из шага 1 и требуемое значение параметра схемы, чтобы определить, установлен ли этот параметр.
Если результат равен 0, параметр не установлен.
Если результатом является значение параметра, то он уже установлен.
Если параметр не установлен, выполните операцию | (побитовое ИЛИ), используя значение из шага 1 и требуемое значение параметра схемы.
В базе данных публикации на издателе выполните процедуру sp_changemergearticle. Укажите имя публикации, которой принадлежит статья, в параметре @publication, имя статьи в параметре @article, значение schema_option в параметре @property и шестнадцатеричный результат с шага 3 в параметре @value.
Запустите агент моментальных снимков, чтобы создать новый моментальный снимок. Дополнительные сведения см. в разделе Как создать исходный моментальный снимок (программирование репликации на языке Transact-SQL).
См. также