SQL Server 临时禁用和启用所有外键约束(高版本向低版本迁移数据)

--获得禁用所有外键约束的语句  
select  'ALTER TABLE ['  + b.name +  '] NOCHECK CONSTRAINT ' +  a.name +';' as  禁用约束     
from  sysobjects  a ,sysobjects  b       
where  a.xtype ='f' and  a.parent_obj = b.id  
  
--获得启用所有外键约束的语句  
select  'ALTER TABLE [' + b.name +  '] CHECK CONSTRAINT ' +  a.name +';' as  启用约束       
from  sysobjects  a ,sysobjects  b       
where  a.xtype ='f' and  a.parent_obj = b.id  

转自:http://blog.csdn.net/mang_liu/article/details/7629851

当需要将sqlserver2012的数据库包含数据一起部署到更低版本的sqlserver时,采用以下步骤:

1.在更低版本sqlserver中创建数据库

2.将高版本数据库中的 table view sp fun分别批量生成脚本,到低版本数据库中执行

3.将低版本数据库中的外键约束临时完全禁用

4.用数据库中的Import Data功能,将高版本数据库中的数据导入到低版本数据库

5.将低版本数据库中禁用的外键约束启用

6.数据迁移结束

posted @ 2016-06-14 15:14  龍☆  阅读(618)  评论(0编辑  收藏  举报