对 INSERT 和 UPDATE 语句禁用 CHECK 约束

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

本主题内容

  • 开始之前:

    安全性

  • 使用以下工具为 INSERT 和 UPDATE 语句禁用 CHECK 约束:

    SQL Server Management Studio

    Transact-SQL

开始之前

安全性

权限

需要对表的 ALTER 权限。

用于“返回首页”链接的箭头图标[Top]

使用 SQL Server Management Studio

为 INSERT 和 UPDATE 语句禁用 CHECK 约束

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

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

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

  4. 单击**“关闭”**。

用于“返回首页”链接的箭头图标[Top]

使用 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)

用于“返回首页”链接的箭头图标[Top]