sp_article_validation (Transact-SQL)
Инициирует запрос проверки данных для указанной статьи. Эта хранимая процедура выполняется на издателе в базе данных публикации и на подписчике в базе данных подписки.
Синтаксические обозначения в 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.
См. также
Справочник
sp_marksubscriptionvalidation (Transact-SQL)
sp_publication_validation (Transact-SQL)
sp_table_validation (Transact-SQL)
Системные хранимые процедуры (Transact-SQL)
Другие ресурсы
Проверка реплицированных данных