如你梦想和现实只是一步之遥,那么我觉得这一步就应该是执着和笨蛋式的坚持了吧。

SQL Server 做网站数据库初始化数据脚本

sqlserver 独孤九剑 165℃

场景:做好了网站,需要发布到目标数据库。这时候我们需要考虑,库里面自带了字典等不变的数据表。或者用户信息等,需要我们在部署数据库的时候初始化脚本。但是如果按照平常的理解直接导出整个库的脚本,
是无法实现正确初始化。因为数据关联了外键约束导致的。

解决办法:临时禁用和临时开启外键。

--获得禁用所有外键约束的语句  
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

PS: 服务器页面生成花费时间 0.15秒 查询 40 次

转载请注明:KEEP3YUE » SQL Server 做网站数据库初始化数据脚本

喜欢 (0)