Disabilitare i vincoli di chiave esterna per la replicaDisable Foreign Key Constraints for Replication

QUESTO ARGOMENTO SI APPLICA A:sìSQL Server (a partire dalla versione 2016)sìDatabase SQL di AzuresìAzure SQL Data Warehouse sìParallel Data Warehouse THIS TOPIC APPLIES TO: yesSQL Server (starting with 2016)yesAzure SQL DatabaseyesAzure SQL Data Warehouse yesParallel Data Warehouse

È possibile disabilitare vincoli di chiave esterna per la replica in SQL Server 2017SQL Server 2017 usando SQL Server Management StudioSQL Server Management Studio o Transact-SQLTransact-SQL.You can disable foreign key constraints for replication in SQL Server 2017SQL Server 2017 by using SQL Server Management StudioSQL Server Management Studio or Transact-SQLTransact-SQL. Questa operazione può essere utile se si pubblicano dati da una versione precedente di SQL ServerSQL Server.This can be useful if you are publishing data from a previous version of SQL ServerSQL Server.

Nota

Se una tabella viene pubblicata usando la replica, i vincoli di chiave esterna vengono disabilitati automaticamente per le operazioni eseguite dagli agenti di replica.If a table is published using replication, foreign key constraints are automatically disabled for operations performed by replication agents. Quando un agente di replica esegue un accodamento, aggiornamento o una eliminazione a un sottoscrittore, il vincolo non viene controllato; se invece un utente esegue un accodamento, un aggiornamento o una eliminazione, il vincolo viene controllato.When a replication agent performs an insert, update, or delete at a Subscriber, the constraint is not checked; if a user performs an insert, update, or delete, the constraint is checked. Il vincolo viene disabilitato per l'agente di replica in quanto esso è già stato controllato nel server di pubblicazione quando i dati sono stati inseriti, aggiornati o eliminati.The constraint is disabled for the replication agent because the constraint was already checked at the Publisher when the data was originally inserted, updated, or deleted.

Contenuto dell'argomentoIn This Topic

Prima di iniziareBefore You Begin

SicurezzaSecurity

AutorizzazioniPermissions

È necessario disporre dell'autorizzazione ALTER per la tabella.Requires ALTER permission on the table.

Utilizzo di SQL Server Management StudioUsing SQL Server Management Studio

Per disabilitare un vincolo di chiave esterna per la replicaTo disable a foreign key constraint for replication

  1. In Esplora oggettiespandere la tabella contenente il vincolo di chiave esterna che si desidera modificare, quindi espandere la cartella Chiavi .In Object Explorer, expand the table with the foreign key constraint you want to modify, and then expand the Keys folder.

  2. Fare clic con il pulsante destro del mouse sul vincolo di chiave esterna e selezionare Modifica.Right-click the foreign key constraint and then click Modify.

  3. Nella finestra di dialogo Relazioni chiavi esterne scegliere No per Attiva per replica.In the Foreign Key Relationships dialog box, select a value of No for Enforce For Replication.

  4. Scegliere Chiudi.Click Close.

Utilizzo di Transact-SQLUsing Transact-SQL

Per disabilitare un vincolo di chiave esterna per la replicaTo disable a foreign key constraint for replication

  1. Per eseguire questa attività in Transact-SQLTransact-SQL, rimuovere il vincolo della chiave esterna.To perform this task in Transact-SQLTransact-SQL, drop the foreign key constraint. Successivamente aggiungere un nuovo vincolo della chiave esterna e specificare l'opzione NOT FOR REPLICATION.Then add a new foreign key constraint and specify the NOT FOR REPLICATION option.

    Per altre informazioni, vedere ALTER TABLE (Transact-SQL).For more information, see ALTER TABLE (Transact-SQL).