sp_article_validation (Transact-SQL)
Инициирует запрос проверки данных для указанной статьи. Эта хранимая процедура выполняется на издателе в базе данных публикации и на подписчике в базе данных подписки.
Синтаксис
sp_article_validation [ @publication = ] 'publication'
[ , [ @article = ] 'article' ]
[ , [ @rowcount_only = ] type_of_check_requested ]
[ , [ @full_or_fast = ] full_or_fast ]
[ , [ @shutdown_agent = ] shutdown_agent ]
[ , [ @subscription_level = ] subscription_level ]
[ , [ @reserved = ] reserved ]
[ , [ @publisher = ] 'publisher' ]
Аргументы
[ @publication=] 'publication'
Имя публикации, в которой находится статья. Аргумент publication имеет тип sysname и не имеет значения по умолчанию.[ @article=] 'article'
Имя проверяемой статьи. Аргумент article имеет тип sysname и не имеет значения по умолчанию.[ @rowcount_only=] type_of_check_requested
Указывает, что возвращается только число строк таблицы. Аргумент type_of_check_requested имеет тип smallint, значение по умолчанию 1.Если 0, выполняется вычисление количества строк и контрольной суммы, совместимой с Microsoft SQL Server 7.0.
Если равно 1, необходима только проверка по количеству строк.
Если 2, выполняется проверка количества строк и контрольной суммы.
[ @full_or_fast=] full_or_fast
Метод, применяемый для подсчета числа строк. Аргумент full_or_fast имеет тип tinyint и может принимать одно из следующих значений:Значение
Описание
0
Выполняет полный подсчет при помощи функции COUNT(*).
1
Выполняет быстрый подсчет из sysindexes.rows. Подсчет строк по sysindexes выполняется быстрее, чем фактический подсчет строк по таблице. Однако sysindexes обновляется в фоновом режиме, поэтому результат может оказаться неточным.
2 (по умолчанию)
Выполняет условный быстрый подсчет, при котором сначала применяется быстрый метод, и, в том случае, если выявлены различия, производится полный подсчет строк. Если значение expected_rowcount равно NULL и хранимая процедура используется для получения этого значения, всегда используется полный COUNT(*).
[ @shutdown_agent=] shutdown_agent
Указывает, будет ли агент распространителя завершен немедленно после завершения проверки. Аргумент shutdown_agent имеет тип bit и значение по умолчанию 0. Если равен 0, агент распространителя не завершает работу. Если равен 1, агент распространителя завершает работу немедленно после завершения проверки статьи.[ @subscription_level=] subscription_level
Указывает, будет ли проверка применяться к части подписчиков. Аргумент subscription_level имеет тип bit и значение по умолчанию 0. Если равен 0, проверка применяется ко всем подписчиком. Если равен 1, проверка применяется только к части подписчиков, определяемой вызовами хранимой процедуры sp_marksubscriptionvalidation в текущей открытой транзакции.[ @reserved=] reserved
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется.[ @publisher= ] 'publisher'
Указывает издатель, отличный от Microsoft SQL Server. Аргумент publisher имеет тип sysname и значение по умолчанию NULL.Примечание Аргумент publisher не следует указывать при запросе проверки на издателе SQL Server.
Значения кодов возврата
0 (успешное завершение) или 1 (неуспешное завершение)
Замечания
Процедура sp_article_validation используется при репликации транзакций.
Процедура sp_article_validation вызывает сбор сведений о проверке для указанной статьи и отправляет запрос на проверку в журнал транзакции. Когда агент распространителя получает этот запрос, он сравнивает сведения для проверки, указанные в запросе, с таблицей подписчика. Результаты проверки отображаются в мониторе репликации и в виде предупреждений агента SQL Server.
Разрешения
Только пользователи, имеющие разрешение SELECT ALL на исходную таблицу проверяемой статьи, могут выполнять хранимую процедуру sp_article_validation.