Disabilitare i vincoli CHECK con le istruzioni INSERT e UPDATE
Si applica a: SQL Server 2016 (13.x) e versioni successive Database SQL di Azure Istanza gestita di SQL di Azure Azure Synapse Analytics Piattaforma di strumenti analitici (PDW)
È possibile disabilitare un vincolo CHECK per le transazioni INSERT
e UPDATE
in SQL Server usando SQL Server Management Studio o Transact-SQL. Dopo aver disabilitato i vincoli CHECK, gli inserimenti o gli aggiornamenti successivi della colonna non saranno convalidati in base alle condizioni del vincolo. Usare questa opzione se si è sicuri che i nuovi dati violeranno il vincolo esistente o se il vincolo si applica solo ai dati già presenti nel database.
Per altre informazioni, vedere Vincoli CHECK.
Nota
I vincoli CHECK sono abilitati e disabilitati con un'istruzione ALTER TABLE
, che richiede sempre un blocco di modifica dello schema (Sch-M
). I blocchi Sch-M impediscono l'accesso simultaneo alla tabella. Per altre informazioni, vedere Blocchi e ALTER TABLE.
Autorizzazioni
È necessario disporre dell'autorizzazione ALTER per la tabella.
Utilizzo di SQL Server Management Studio
Per disabilitare un vincolo CHECK per le istruzioni INSERT e UPDATE
In Esplora oggetti, espandere la tabella contenente il vincolo che si desidera modificare, quindi espandere la cartella Vincoli .
Fare clic con il pulsante destro del mouse sul vincolo e selezionare Modifica.
Nella griglia, in Progettazione tabelle, fare clic su Attiva per istruzioni INSERTs e UPDATEs , quindi scegliere No dal menu a discesa.
Fare clic su Close.
Uso di Transact-SQL
Per disabilitare un vincolo CHECK per le istruzioni INSERT e UPDATE
In Esplora oggetti connettersi a un'istanza del motore di database.
Sulla barra Standard fare clic su Nuova query.
Copiare e incollare gli esempi seguenti nella finestra Query, quindi fare clic su Esegui.
USE AdventureWorks2022; GO ALTER TABLE Purchasing.PurchaseOrderHeader NOCHECK CONSTRAINT CK_PurchaseOrderHeader_Freight; GO