Sdílet prostřednictvím


Zakázání kontrolních omezení pro replikaci

platí pro: SQL Server 2016 (13.x) a novější Azure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)databáze SQL v Microsoft Fabric

Kontrolu omezení v SQL Serveru můžete zakázat pomocí aplikace SQL Server Management Studio nebo jazyka Transact-SQL. Můžete také explicitně zakázat omezení kontroly replikace, což může být užitečné, pokud publikujete data z předchozí verze SQL Serveru.

Poznámka

Pokud je tabulka publikovaná pomocí replikace, omezení kontroly jsou automaticky zakázána pro operace prováděné agenty replikace. Když agent replikace provede vložení, aktualizaci nebo odstranění u odběratele, omezení se nekontroluje; pokud uživatel provede vložení, aktualizaci nebo odstranění, je omezení zaškrtnuté. Omezení je pro agenta replikace zakázané, protože omezení bylo již zkontrolováno v Publisheru, když byla data původně vložena, aktualizována nebo odstraněna. Další informace naleznete v tématu Zadat možnosti schématu.

Než začnete

Bezpečnost

Dovolení

Vyžaduje oprávnění ALTER na tabulce.

Použití aplikace SQL Server Management Studio

Zakázání kontrolního omezení pro replikaci

  1. V Průzkumník objektůrozbalte tabulku s kontrolním omezením, které chcete upravit, a potom rozbalte složku Omezení.

  2. Klikněte pravým tlačítkem myši na kontrolní omezení, které chcete upravit, a pak klepněte na Upravit.

  3. V dialogovém okně Kontrola omezení v části Návrhář tabulkyvyberte pro Vynucení pro replikacihodnotu Bez.

  4. Klikněte na Zavřít.

Použití Transact-SQL

Jak zakázat kontrolní omezení pro replikaci

  1. V Průzkumníku objektůse připojte k instanci databázového stroje.

  2. Na panelu Standard klikněte na Nový dotaz.

  3. Zkopírujte a vložte následující příklad do okna dotazu a klikněte na Spustit. Příklad vytvoří tabulku se sloupcem IDENTITY a omezením CHECK v tabulce. Příklad pak omezení zahodí a znovu vytvoří zadáním klauzule 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);  
    

Další informace viz ALTER TABLE (Transact-SQL).

Viz také

zadat možnosti schématu