Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
si applica a: SQL Server 2016 (13.x) e versioni successive
database SQL di Azure
Istanza gestita di SQL di Azure
Azure Synapse Analytics
Analytics Platform System (PDW)
database SQL in Microsoft Fabric
È 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 più informazione, 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 di tipo 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 sotto Progettazione tabelle, fai clic su Applica per INSERT e UPDATE e seleziona No dal menu a tendina.
Fare clic su Close.
Uso di Transact-SQL
Per disabilitare un vincolo di controllo 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