sp_publication_validation (Transact-SQL)

Inicia una petición de validación de cada uno de los artículos de la publicación especificada. Este procedimiento almacenado se ejecuta en el publicador de la base de datos de publicaciones.

Icono de vínculo a temasConvenciones de sintaxis de Transact-SQL

Sintaxis

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

Argumentos

  • [@publication=] **'**publication'
    Es el nombre de la publicación. publication es de tipo sysname y no tiene ningún valor predeterminado.
  • [@rowcount_only=] rowcount_only
    Indica si se devuelve sólo el recuento de filas de la tabla. rowcount_only es de tipo smallint y puede tener uno de los valores siguientes.

    Valor

  • [@full_or_fast=] full_or_fast
    Es el método utilizado para calcular el recuento de filas. full_or_fast es de tipo tinyint y puede tener uno de los valores siguientes.

    Valor Descripción

    0

    Realiza un recuento completo mediante COUNT(*).

    1

    Realiza un recuento rápido desde sysindexes.rows. El recuento de filas en sys.sysindexes es mucho más rápido que el recuento de filas en la tabla real. Sin embargo, debido a que sys.sysindexes no se actualiza constantemente, el número de filas puede no ser exacto.

    2 (predeterminado)

    Realiza un recuento rápido condicional utilizando primero el método rápido. Si el método rápido muestra diferencias, se utiliza el método completo. Si expected_rowcount es NULL y se está utilizando el procedimiento almacenado para obtener el valor, siempre se utiliza el valor total de COUNT(*).

  • [ @shutdown_agent=] shutdown_agent
    Indica si el Agente de distribución se debe cerrar inmediatamente después de terminar la validación. shutdown_agent es de tipo bit y su valor predeterminado es 0. Si es 0, el agente de réplica no se cierra. Si es 1, el agente de réplica se cierra tras validar el último artículo.
  • [ @publisher= ] 'publisher'
    Especifica un publicador que no es de SQL Server. publisher es de tipo sysname y su valor predeterminado es NULL.

    [!NOTA] No se debe utilizar publisher al solicitar la validación en un publicador de SQL Server.

Notas

sp_publication_validation se utiliza en la réplica transaccional.

Se puede llamar a sp_publication_validation en cualquier momento después de activar los artículos asociados con la publicación. Se puede ejecutar el procedimiento una vez de forma manual, o bien como parte de un trabajo programado de forma regular que valide los datos.

Si la aplicación tiene suscriptores de actualización inmediata, sp_publication_validation puede detectar falsos errores. sp_publication_validation calcula primero el número de filas o la suma de comprobación en el publicador y, después, en el suscriptor. Debido a que el desencadenador de actualización inmediata puede propagar una actualización al publicador desde el suscriptor, tras completar el recuento de filas o la suma de comprobación en el publicador pero antes de completarlas en el suscriptor, los valores podrían cambiar. Para asegurarse de que los valores del suscriptor y del publicador no cambian mientras se valida una publicación, detenga el servicio Coordinador de transacciones distribuidas de Microsoft (MS DTC) en el publicador durante la validación.

Permisos

Sólo los miembros de la función fija de servidor sysadmin o de la función fija de base de datos db_owner pueden ejecutar sp_publication_validation.

Valores de código de retorno

0 (correcto) o 1 (error)

Vea también

Referencia

sp_article_validation (Transact-SQL)
sp_table_validation (Transact-SQL)
Procedimientos almacenados del sistema (Transact-SQL)

Otros recursos

How to: Validate Data at the Subscriber (Replication Transact-SQL Programming)

Ayuda e información

Obtener ayuda sobre SQL Server 2005