Deshabilitar restricciones CHECK para la replicación

Se aplica a: SQL Server 2016 (13.x) y versiones posteriores Azure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

Puede deshabilitar las restricciones CHECK en SQL Server usando SQL Server Management Studio o Transact-SQL. También puede deshabilitar explícitamente las restricciones CHECK para la replicación, lo que puede resultar útil si se publican datos de una versión anterior de SQL Server.

Nota

Si una tabla se publica mediante replicación, se deshabilitan automáticamente las restricciones CHECK para las operaciones realizadas por los agentes de replicación. Cuando un agente de replicación realiza una inserción, actualización o eliminación en un suscriptor, no se comprueba la restricción. En cambio, sí se comprueba cuando lo hace un usuario. La restricción se deshabilitará para el agente de replicación porque ya se comprobó en el publicador cuando se insertaron, actualizaron o eliminaron los datos originalmente. Para obtener más información, vea Especificar opciones de esquema.

Antes de empezar

Seguridad

Permisos

Requiere el permiso ALTER en la tabla.

Uso de SQL Server Management Studio

Para deshabilitar una restricción CHECK para la replicación

  1. En el Explorador de objetos, expanda la tabla con la restricción CHECK que desee modificar y, a continuación, expanda la carpeta Restricciones .

  2. Haga clic con el botón derecho en la restricción CHECK que quiera cambiar y, después, haga clic en Modificar.

  3. En el cuadro de diálogo Restricciones CHECK , bajo Diseñador de tablas, seleccione el valor No para Exigir para replicación.

  4. Haga clic en Cerrar.

Usar Transact-SQL

Para deshabilitar una restricción CHECK para la replicación

  1. En el Explorador de objetos, conéctese a una instancia del Motor de base de datos.

  2. En la barra de Estándar, haga clic en Nueva consulta.

  3. Copie y pegue el siguiente ejemplo en la ventana de consulta y haga clic en Ejecutar. En el ejemplo se crea una tabla con una columna IDENTITY y una restricción CHECK. Después, se quita la restricción y se vuelve a crear especificando la cláusula NOT FOR REPLICATION.

    USE AdventureWorks2022;  
    GO  
    CREATE TABLE dbo.doc_exd (column_a int IDENTITY (1,1)   
    CONSTRAINT exd_check CHECK (column_a > 1))   
    
    ALTER TABLE dbo.doc_exd   
    DROP CONSTRAINT exd_check;   
    GO  
    ALTER TABLE dbo.doc_exd    
    ADD CONSTRAINT exd_check CHECK NOT FOR REPLICATION (column_a > 1);  
    

Para obtener más información, consulte ALTER TABLE (Transact-SQL)

Consulte también

Especificar opciones de esquema