Определение типов статей (программирование репликации на языке Transact-SQL)
Применимо к:SQL Server
При репликации по умолчанию статьи имеют тип статей таблиц, но может производиться публикация и других типов объектов базы данных — представлений, хранимых процедур, определяемых пользователем функций и результатов выполнения хранимых процедур. Задать тип статьи программным путем при ее создании можно при помощи хранимых процедур репликации. Какие именно хранимые процедуры для этого применяются, зависит от типа репликации и типа статьи.
Примечание.
Если при определении статьи таблицы, представления или хранимой процедуры указана только схема, то производится репликация только определения объекта.
Публикация статьи таблицы в публикации моментальных снимков или транзакций
Выполните процедуру sp_addarticleна издателе в базе данных публикации. Чтобы определить тип статьи, укажите одно из следующих значений параметра
@type
:logbased
— журнальная статья таблицы (значение по умолчанию для репликации транзакций и моментальных снимков). Репликация автоматически создает хранимую процедуру, применяемую для горизонтальной фильтрации, и представление, определяющее статью с вертикальной фильтрацией.logbased manualfilter
— журнальная статья с горизонтальной фильтрацией, где хранимая процедура для горизонтальной фильтрации создается вручную и определяется пользователем в параметре@filter
. Дополнительные сведения см. в разделе Define and Modify a Static Row Filter.logbased manualview
— журнальная статья с вертикальной фильтрацией, где определяющее ее представление создается вручную пользователем и определяется в параметре@sync_object
. Дополнительные сведения см. в разделах Define and Modify a Static Row Filter и Define and Modify a Column Filter.logbased manualboth
— журнальная статья с горизонтальной и вертикальной фильтрацией, где хранимая процедура для горизонтальной фильтрации и представление, определяющее вертикальную фильтрацию, создаются пользователем вручную и указываются в параметрах@filter
и@sync_object
. Дополнительные сведения см. в разделах Define and Modify a Static Row Filter и Define and Modify a Column Filter.
Таким образом определяется новая статья для публикации. Дополнительные сведения см. в статье определить статью.
Выполните процедуру sp_articlefilter для статей
logbased manualboth
иlogbased manualfilter
, чтобы создать хранимую процедуру фильтрации для статьи с горизонтальной фильтрацией. Дополнительные сведения см. в разделе Define and Modify a Static Row Filter.Выполните процедуру sp_articleview для статей
logbased manualboth
,logbased manualview
иlogbased manualfilter
, чтобы создать представление, определяющее статью с вертикальной фильтрацией. Дополнительные сведения см. в разделе Define and Modify a Column Filter.
Публикация статьи представления или индексированного представления в публикации моментальных снимков или транзакций
Выполните процедуру sp_addarticleна издателе в базе данных публикации. Чтобы определить тип статьи, укажите одно из следующих значений параметра
@type
:indexed view logbased — журнальная статья индексированного представления. Репликация автоматически создает хранимую процедуру, применяемую для горизонтальной фильтрации, и представление, определяющее статью с вертикальной фильтрацией.
view schema only — статья со схемой, соответствующая представлению. Также необходимо выполнить репликацию базовой таблицы.
indexed view schema only — статья со схемой, соответствующая индексированному представлению. Также необходимо выполнить репликацию базовой таблицы.
indexed view logbased manualfilter — журнальная статья индексированного представления с горизонтальной фильтрацией, где хранимая процедура создается вручную и определяется пользователем в параметре
@filter
. Дополнительные сведения см. в разделе Define and Modify a Static Row Filter.indexed view logbased manualfilter — журнальная статья индексированного представления с фильтрацией, где представление, определяющее вертикальную фильтрацию, создается и определяется пользователем вручную и указывается в параметре
@sync_object
. Дополнительные сведения см. в разделах Define and Modify a Static Row Filter и Define and Modify a Column Filter.indexed view logbased manualboth — журнальная статья индексированного представления с вертикальной и горизонтальной фильтрацией, где хранимая процедура для горизонтальной фильтрации и представление для вертикальной фильтрации создаются и определяются пользователем, а затем указываются в параметрах
@filter
и@sync_object
. Дополнительные сведения см. в разделах Define and Modify a Static Row Filter и Define and Modify a Column Filter.
Таким образом определяется новая статья для публикации. Дополнительные сведения см. в статье определить статью.
Выполните процедуру sp_articlefilter для статей logbased manualboth и logbased manualfilter , чтобы создать хранимую процедуру фильтрации для статьи с горизонтальной фильтрацией. Дополнительные сведения см. в разделе Define and Modify a Static Row Filter.
Выполните процедуру sp_articleviewдля статей logbased manualboth, logbased manualview и logbased manualfilter , чтобы создать представление, определяющее статью с вертикальной фильтрацией. Дополнительные сведения см. в разделе Define and Modify a Column Filter.
Публикация статьи хранимой процедуры, выполнение хранимой процедуры или определяемой пользователем функции в публикации моментальных снимков или транзакций
Выполните процедуру sp_addarticleна издателе в базе данных публикации. Чтобы определить тип статьи, укажите одно из следующих значений параметра
@type
:proc schema only — статья со схемой, соответствующая хранимой процедуре.
proc exec — производит репликацию выполнения хранимой процедуры на всех подписчиках статьи. Дополнительные сведения см. в статье Publishing Stored Procedure Execution in Transactional Replication.
serializable proc exec — производит репликацию выполнения хранимой процедуры только в том случае, если она выполняется в контексте сериализуемой транзакции. Дополнительные сведения см. в статье Publishing Stored Procedure Execution in Transactional Replication.
func schema only — статья со схемой, соответствующая определяемой пользователем функции.
Таким образом определяется новая статья для публикации. Дополнительные сведения см. в статье определить статью.
Публикация статьи таблицы или представления в публикации слиянием
В базе данных публикации на издателе выполните процедуру sp_addmergearticle. Чтобы определить тип статьи, укажите одно из следующих значений параметра
@type
:table — статья таблицы.
indexed view schema only — статья со схемой, соответствующая индексированному представлению.
view schema only — статья со схемой, соответствующая представлению.
Таким образом определяется новая статья для публикации. Дополнительные сведения см. в статье определить статью.
Публикация статьи хранимой процедуры или определяемой пользователем функции в публикации слиянием
В базе данных публикации на издателе выполните процедуру sp_addmergearticle. Чтобы определить тип статьи, укажите одно из следующих значений параметра
@type
:func schema only — статья со схемой, соответствующая определяемой пользователем функции.
proc schema only — статья со схемой, соответствующая хранимой процедуре.
Таким образом определяется новая статья для публикации. Дополнительные сведения см. в статье определить статью.
См. также
Replication System Stored Procedures Concepts
Публикация данных и объектов базы данных
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по