Отключение проверочных ограничений в инструкциях INSERT и UPDATE

Область применения: SQL Server 2016 (13.x) и более поздних версий База данных SQL Azure Управляемый экземпляр SQL Azure Azure Synapse Analytics Analytics Platform System (PDW)

Вы можете отключить ограничение проверки для INSERT и UPDATE транзакций в SQL Server с помощью SQL Server Management Studio или Transact-SQL. После отключения проверочных ограничений будущие вставки и обновления столбца не проверяются по проверочным ограничениям. Используйте эту возможность, если новые данные будут нарушать существующее ограничение или если ограничение относится только к данным, уже помещенным в базу данных.

Дополнительные сведения см. в разделе Проверочные ограничения.

Примечание.

Проверочные ограничения включаются и отключаются с помощью инструкции ALTER TABLE, которая всегда требует блокировки изменения схемы (Sch-M). Блокировки Sch-M предотвращают одновременный доступ к таблице. Дополнительные сведения см. в разделе Блокировки и инструкция ALTER TABLE.

Разрешения

Требуется разрешение ALTER на таблицу.

Использование среды SQL Server Management Studio

Отключение проверочного ограничения при выполнении инструкций INSERT и UPDATE

  1. Разверните в Обозревателе объектовтаблицу с ограничением, затем раскройте папку Ограничения .

  2. Щелкните правой кнопкой мыши ограничение и выберите команду Изменить.

  3. В сетке под конструктором таблицщелкните пункт Применять при операциях INSERT и UPDATE и выберите значение Нет в раскрывающемся списке.

  4. Нажмите кнопку Закрыть.

Использование Transact-SQL

Отключение проверочного ограничения при выполнении инструкций INSERT и UPDATE

  1. В обозревателе объектов подключитесь к экземпляру ядра СУБД.

  2. На стандартной панели выберите пункт Создать запрос.

  3. Скопируйте следующие примеры в окно запроса и нажмите кнопку Выполнить.

    USE AdventureWorks2022;  
    GO  
    ALTER TABLE Purchasing.PurchaseOrderHeader  
    NOCHECK CONSTRAINT CK_PurchaseOrderHeader_Freight;   
    GO