sp_publication_validation (Transact-SQL)
Se aplica a: SQL Server Azure SQL Managed Instance
Inicia una solicitud 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 publicación.
Convenciones de sintaxis de Transact-SQL
Sintaxis
sp_publication_validation
[ @publication = ] N'publication'
[ , [ @rowcount_only = ] rowcount_only ]
[ , [ @full_or_fast = ] full_or_fast ]
[ , [ @shutdown_agent = ] shutdown_agent ]
[ , [ @publisher = ] N'publisher' ]
[ ; ]
Argumentos
[ @publication = ] N'publication'
Nombre de la publicación. @publication es sysname, sin ningún valor predeterminado.
[ @rowcount_only = ] rowcount_only
Especifica si se devuelve solo el recuento de filas de la tabla. @rowcount_only es smallint y puede ser uno de los siguientes valores.
Valor | Descripción |
---|---|
0 |
Realice una suma de comprobación compatible con SQL Server 7.0. Nota: Cuando se filtra horizontalmente un artículo, se realiza una operación rowcount en lugar de una operación de suma de comprobación. |
1 (valor predeterminado) |
Realiza solamente un recuento de filas. |
2 |
Realiza un recuento de filas y una suma de comprobación binaria. |
[ @full_or_fast = ] full_or_fast
Método utilizado para calcular el recuento de filas. @full_or_fast es tinyint y puede ser uno de los siguientes valores.
Valor | Descripción |
---|---|
0 |
Cuenta completa con COUNT(*) . |
1 |
Hace un recuento rápido de sysindexes.rows . El recuento de filas en sys.sysindexes es más rápido que contar filas en la tabla real. Sin embargo, dado que sys.sysindexes se actualiza de forma difería, es posible que el recuento de filas no sea preciso. |
2 (valor predeterminado) |
Realiza un recuento rápido condicional intentando 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 el procedimiento almacenado se usa para obtener el valor, siempre se usa un completo COUNT(*) . |
[ @shutdown_agent = ] shutdown_agent
Especifica si el Agente de distribución debe apagarse inmediatamente después de completar la validación. @shutdown_agent es bit, con un valor predeterminado de 0
.
- Si
0
es , el agente de replicación no se apaga. - Si
1
es , el agente de replicación se cierra después de validar el último artículo.
[ @publisher = ] N'publisher'
Especifica un publicador que no es de SQL Server. @publisher es sysname, con un valor predeterminado de NULL
.
@publisher no se debe usar al solicitar validación en un publicador de SQL Server.
Valores de código de retorno
0
(correcto) o 1
(erróneo).
Comentarios
sp_publication_validation
se usa en la replicación transaccional.
sp_publication_validation
se puede llamar en cualquier momento después de activar los artículos asociados a 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 errores falsos. sp_publication_validation
primero calcula el recuento de filas o la suma de comprobación en el publicador y, a continuación, 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 el publicador no cambian al validar una publicación, detenga el servicio Coordinador de transacciones distribuidas de Microsoft (MS DTC) en el publicador durante la validación.
Permisos
Solo los miembros del rol fijo de servidor sysadmin o el rol fijo de base de datos db_owner pueden ejecutar sp_publication_validation
.