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

Применимо к: SQL Server 2016 (13.x) и более поздних версий Azure SQL DatabaseУправляемый экземпляр SQL AzureAzure Synapse Analytics AnalyticsPlatform 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. В обозревателе объектовподключитесь к экземпляру компонента Компонент Database Engine.

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

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

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