sp_publication_validation (Transact-SQL)

Применимо к:SQL Server Управляемый экземпляр SQL Azure

Запускает запрос на проверку правильности всех статей в указанной публикации. Эта хранимая процедура выполняется на издателе в базе данных публикации.

Соглашения о синтаксисе Transact-SQL

Синтаксис

  
sp_publication_validation [ @publication = ] 'publication'  
    [ , [ @rowcount_only = ] type_of_check_requested ]  
    [ , [ @full_or_fast = ] full_or_fast ]  
    [ , [ @shutdown_agent = ] shutdown_agent ]  
    [ , [ @publisher = ] 'publisher' ]  

Аргументы

[ @publication = ] 'publication' Имя публикации. публикацияsysname, без значения по умолчанию.

[ @rowcount_only = ] 'rowcount_only' Указывает, следует ли возвращать только строку для таблицы. rowcount_only имеет небольшой размер и может быть одним из следующих значений.

значение Описание
0 Выполните совместимый с SQL Server 7.0 проверка sum.

Примечание. При горизонтальной фильтрации статьи операция строк выполняется вместо операции проверка sum.
1 (по умолчанию) Выполнить проверку только количества строк.
2 Выполнить проверку количества строк и двоичной контрольной суммы.

Примечание. Для подписчиков SQL Server версии 7.0 выполняется только проверка числа строк.

[ @full_or_fast = ] 'full_or_fast' Метод, используемый для вычисления числа строк. full_or_fast крошечный и может быть одним из следующих значений.

значение Описание
0 Выполняет полный подсчет с помощью функции COUNT(*).
1 Выполняет быстрое подсчет данных из sysindexes.rows. Подсчет строк в sys.sysindexes гораздо быстрее, чем подсчет строк в фактической таблице. Тем не менее, так как sys.sysindexes неявно обновляется, строка может не быть точной.
2 (по умолчанию) Выполняет быстрый подсчет по условию, при котором сначала используется быстрый метод. Если быстрый метод дает неточные результаты, переключается на полный подсчет. Если expected_rowcount имеет значение NULL, а хранимая процедура используется для получения значения, всегда используется полное значение COUNT(*).

[ @shutdown_agent = ] 'shutdown_agent'Указывает, следует ли немедленно завершить работу агент распространения после завершения проверки. shutdown_agent бит с значением по умолчанию 0. Если значение 0, агент реплика tion не завершает работу. Если 1, агент реплика tion завершает работу после проверки последней статьи.

[ @publisher = ] 'publisher' Указывает издатель, отличный от SQL Server. publisher имеет имя sysname с значением NULL по умолчанию.

Примечание.

издатель не должен использоваться при запросе проверки на издателе SQL Server.

Значения кода возврата

0 (успешно) или 1 (сбой)

Замечания

sp_publication_validation используется в транзакционных реплика.

sp_publication_validation можно вызывать в любое время после активации статей, связанных с публикацией. Данная процедура может запускаться вручную (единовременно) либо в составе регулярных планируемых заданий по проверке данных.

Если у вашего приложения есть немедленно обновляемые подписчики, sp_publication_validation может обнаружить спрогнозные ошибки. sp_publication_validation сначала вычисляет число строк или проверка sum на издателе, а затем на подписчике. Значения контрольных сумм и количества строк для издателя и подписчика могут различаться, так как после подсчета на издателе, но до подсчета на подписчике может сработать триггер немедленного обновления. Чтобы исключить возможность изменения значений для подписчика и издателя во время проверки публикации, остановите службу координатора распределенных транзакций Microsoft (MS DTC) на издателе во время проверки.

Разрешения

Только члены предопределенных ролей сервера sysadmin или db_owner предопределенных ролей базы данных могут выполняться sp_publication_validation.

См. также

Проверка данных на подписчике
sp_article_validation (Transact-SQL)
sp_table_validation (Transact-SQL)
Системные хранимые процедуры (Transact-SQL)