Как задать типы статей (программирование репликации на языке Transact-SQL)
При репликации по умолчанию статьи имеют тип статей таблиц, но может производиться публикация и других типов объектов базы данных — представлений, хранимых процедур, определяемых пользователем функций и результатов выполнения хранимых процедур. Задать тип статьи программным путем при ее создании можно при помощи хранимых процедур репликации. Какие именно хранимые процедуры для этого применяются, зависит от типа репликации и типа статьи.
Примечание |
---|
Если при определении статьи таблицы, представления или хранимой процедуры указана только схема, то производится репликация только определения объекта. |
Публикация статьи таблицы в публикации моментальных снимков или транзакций
Выполните процедуру sp_addarticle на издателе в базе данных публикации. Чтобы определить тип статьи, укажите одно из следующих значений параметра @type.
logbased — журнальная статья таблицы (значение по умолчанию для репликации транзакций и моментальных снимков). Репликация автоматически создаст хранимую процедуру, применяемую для горизонтальной фильтрации, и представление, определяющее статью с вертикальной фильтрацией.
logbased manualfilter — журнальная статья с горизонтальной фильтрацией, где хранимая процедура для горизонтальной фильтрации создается вручную и определяется в параметре @filter. Дополнительные сведения см. в разделе Как определить и изменить статический фильтр строк (программирование репликации на языке Transact-SQL).
logbased manualfilter — журнальная статья с вертикальной фильтрацией, где определяющее ее представление создается вручную пользователем и определяется в параметре @sync_object. Дополнительные сведения см. в образце кода Как определить и изменить статический фильтр строк (программирование репликации на языке Transact-SQL) и разделе Как определить и изменить фильтр столбцов (программирование репликации на языке Transact-SQL).
logbased manualboth — журнальная статья с горизонтальной и вертикальной фильтрацией, где хранимая процедура для горизонтальной фильтрации и представление, определяющее вертикальную фильтрацию, создаются пользователем вручную и указываются в параметрах @filter и @sync_object. Дополнительные сведения см. в образце кода Как определить и изменить статический фильтр строк (программирование репликации на языке Transact-SQL) и разделе Как определить и изменить фильтр столбцов (программирование репликации на языке Transact-SQL).
Таким образом определяется новая статья для публикации. Дополнительные сведения см. в разделе Как определить статью (программирование репликации на языке Transact-SQL).
Выполните процедуру sp_articlefilter для статей logbased manualboth и logbased manualfilter, чтобы создать хранимую процедуру фильтрации для статьи с горизонтальной фильтрацией. Дополнительные сведения см. в разделе Как определить и изменить статический фильтр строк (программирование репликации на языке Transact-SQL).
Выполните процедуру sp_articleview для статей logbased manualboth, logbased manualview и logbased manualfilter, чтобы создать представление, определяющее статью с вертикальной фильтрацией. Дополнительные сведения см. в разделе Как определить и изменить фильтр столбцов (программирование репликации на языке Transact-SQL).
Публикация статьи представления или индексированного представления в публикации моментальных снимков или транзакций
Выполните процедуру sp_addarticle на издателе в базе данных публикации. Чтобы определить тип статьи, укажите одно из следующих значений параметра @type.
indexed view logbased — журнальная статья индексированного представления. Репликация автоматически создает хранимую процедуру, применяемую для горизонтальной фильтрации, и представление, определяющее статью с вертикальной фильтрацией.
view schema only — статья со схемой, соответствующая представлению. Также необходимо выполнить репликацию базовой таблицы.
indexed view schema only — статья со схемой, соответствующая индексированному представлению. Также необходимо выполнить репликацию базовой таблицы.
indexed view logbased manualfilter — журнальная статья индексированного представления с горизонтальной фильтрацией, где хранимая процедура создается вручную и определяется пользователем в параметре @filter. Дополнительные сведения см. в разделе Как определить и изменить статический фильтр строк (программирование репликации на языке Transact-SQL).
indexed view logbased manualfilter — журнальная статья индексированного представления с фильтрацией, где представление, определяющее вертикальную фильтрацию, создается и определяется пользователем вручную и указывается в параметре @sync_object. Дополнительные сведения см. в образце кода Как определить и изменить статический фильтр строк (программирование репликации на языке Transact-SQL) и разделе Как определить и изменить фильтр столбцов (программирование репликации на языке Transact-SQL).
indexed view logbased manualboth — журнальная статья индексированного представления с вертикальной и горизонтальной фильтрацией, где хранимая процедура для горизонтальной фильтрации и представление для вертикальной фильтрации создаются и определяются пользователем, а также указываются в параметрах @filter и @sync_object. Дополнительные сведения см. в образце кода Как определить и изменить статический фильтр строк (программирование репликации на языке Transact-SQL) и разделе Как определить и изменить фильтр столбцов (программирование репликации на языке Transact-SQL).
Таким образом определяется новая статья для публикации. Дополнительные сведения см. в разделе Как определить статью (программирование репликации на языке Transact-SQL).
Выполните процедуру sp_articlefilter для статей logbased manualboth и logbased manualfilter, чтобы создать хранимую процедуру фильтрации для статьи с горизонтальной фильтрацией. Дополнительные сведения см. в разделе Как определить и изменить статический фильтр строк (программирование репликации на языке Transact-SQL).
Выполните процедуру sp_articleview для статей logbased manualboth, logbased manualview и logbased manualfilter, чтобы создать представление, определяющее статью с вертикальной фильтрацией. Дополнительные сведения см. в разделе Как определить и изменить фильтр столбцов (программирование репликации на языке Transact-SQL).
Публикация статьи хранимой процедуры, выполнение хранимой процедуры или определяемой пользователем функции в публикации моментальных снимков или транзакций
Выполните процедуру sp_addarticle на издателе в базе данных публикации. Чтобы определить тип статьи, укажите одно из следующих значений параметра @type.
proc schema only — статья со схемой, соответствующая хранимой процедуре.
proc exec — производит репликацию выполнения хранимой процедуры на всех подписчиках статьи. Дополнительные сведения см. в разделе Публикация выполнения хранимых процедур в репликации транзакций.
serializable proc exec — производит репликацию выполнения хранимой процедуры только в том случае, если она выполняется в контексте сериализуемой транзакции. Дополнительные сведения см. в разделе Публикация выполнения хранимых процедур в репликации транзакций.
func schema only — статья со схемой, соответствующая определяемой пользователем функции.
Таким образом определяется новая статья для публикации. Дополнительные сведения см. в разделе Как определить статью (программирование репликации на языке Transact-SQL).
Публикация статьи таблицы или представления в публикации слиянием
В базе данных публикации на издателе выполните процедуру sp_addmergearticle. Чтобы определить тип статьи, укажите одно из следующих значений параметра @type.
table — статья таблицы.
indexed view schema only — статья со схемой, соответствующая индексированному представлению.
view schema only — статья со схемой, соответствующая представлению.
Таким образом определяется новая статья для публикации. Дополнительные сведения см. в разделе Как определить статью (программирование репликации на языке Transact-SQL).
Публикация статьи хранимой процедуры или определяемой пользователем функции в публикации слиянием
В базе данных публикации на издателе выполните процедуру sp_addmergearticle. Чтобы определить тип статьи, укажите одно из следующих значений параметра @type.
func schema only — статья со схемой, соответствующая определяемой пользователем функции.
proc schema only — статья со схемой, соответствующая хранимой процедуре.
Таким образом определяется новая статья для публикации. Дополнительные сведения см. в разделе Как определить статью (программирование репликации на языке Transact-SQL).
См. также