生成变更脚本不一致

时间:2009-11-11 21:43:03

标签: sql-server-2005 scripting

我添加了一个tinyint类型的列,并设置为不允许表中的空值并生成更改脚本。该表目前有数据。该脚本具有创建临时表并将当前表中的数据插入的代码。然后删除旧表并将此临时表重命名为与原始表相同的名称。一切都很好。我的问题是,为什么如果我对另一个表(相同的字段,但不同的表)做同样的事情,生成更改脚本不包括这个新的表插入代码?

任何提示都将不胜感激!

1 个答案:

答案 0 :(得分:2)

如果表不包含数据,则无需重建表。基本上,如果管理工作室认为只是通过修改表格就无法做到这一点,那么通过这种方式生成脚本,可以在后台“安全地”使用它。根据我的经验,它通常在不需要的时候执行此操作,但是有例外...例如,如果您在表的“结尾”添加列而不是。我建议熟悉ALTER TABLE命令,而不是在UI中进行更改并编写脚本。以这种方式重建表在生产系统上可能是灾难性的,通常可以避免。