Dela via


Inaktivera kontrollbegränsningar för replikering

Gäller för: SQL Server 2016 (13.x) och senare versioner Azure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)SQL-databas i Förhandsversion av Microsoft Fabric

Du kan inaktivera kontrollbegränsningar i SQL Server med hjälp av SQL Server Management Studio eller Transact-SQL. Du kan också uttryckligen inaktivera kontrollbegränsningar för replikering, vilket kan vara användbart om du publicerar data från en tidigare version av SQL Server.

Note

Om en tabell publiceras med replikering inaktiveras automatiskt kontrollbegränsningar för åtgärder som utförs av replikeringsagenter. När en replikeringsagent utför en infogning, uppdatering eller borttagning hos en prenumerant kontrolleras inte villkoret. Om en användare utför en infogning, uppdatering eller borttagning markeras villkoret. Villkoret är inaktiverat för replikeringsagenten eftersom villkoret redan kontrollerades i Publisher när data ursprungligen infogades, uppdaterades eller togs bort. Mer information finns i Ange schemaalternativ.

Innan du börjar

Security

Permissions

Kräver ALTER-behörighet på tabellen.

Använda SQL Server Management Studio

Inaktivera en kontrollbegränsning för replikering

  1. I Object Explorerexpanderar du tabellen med den kontrollbegränsning som du vill ändra och expanderar sedan mappen Constraints.

  2. Högerklicka på kontrollvillkoret som du vill ändra och klicka sedan på Ändra.

  3. I dialogrutan Markera begränsningar under Table Designerväljer du värdet Ingen för Framtvinga för replikering.

  4. Klicka på Stäng.

Använda Transact-SQL

Inaktivera en kontrollbegränsning för replikering

  1. I Object Exploreransluter du till en instans av databasmotorn.

  2. I fältet Standard klickar du på Ny fråga.

  3. Kopiera och klistra in följande exempel i frågefönstret och klicka på Kör. I exemplet skapas en tabell med en identitetskolumn och en CHECK-begränsning i tabellen. Exemplet tar sedan bort villkoret och återskapar det genom att ange satsen NOT FOR REPLICATION (INTE FÖR REPLIKERing).

    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);  
    

Mer information finns i ALTER TABLE (Transact-SQL).

Se även

Ange schemaalternativ