对 INSERT 和 UPDATE 语句禁用 CHECK 约束

可以使用 SQL Server Management Studio 或 Transact-SQL 为 SQL Server 2014 中的 INSERT 和 UPDATE 事务禁用检查约束。 在禁用该 CHECK 约束后,在将来插入或更新列时,将不会根据约束条件进行验证。 如果您知道新数据将与现有约束冲突或者如果约束仅适用于数据库中已有的数据,则可选择此选项。

本主题内容

在您开始之前

安全

权限

需要对表具有 ALTER 权限。

使用 SQL Server Management Studio

为 INSERT 和 UPDATE 语句禁用 CHECK 约束

  1. “对象资源管理器”中,展开具有约束的表,再展开 “约束” 文件夹。

  2. 右键单击该约束,再选择“修改”

  3. “表设计器”下的网格中,单击 “强制用于 INSERT 和 UPDATE” ,然后从下拉菜单中选择 “否”

  4. 单击 “关闭”

使用 Transact-SQL

为 INSERT 和 UPDATE 语句禁用 CHECK 约束

  1. “对象资源管理器” 中,连接到某个数据库引擎实例。

  2. 在标准栏上,单击“新建查询”

  3. 将以下示例复制并粘贴到查询窗口中,然后单击 “执行”

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

有关详细信息,请参阅 ALTER TABLE (Transact-SQL)