我需要编写TSQL脚本来修改两列数据类型的帮助。
我们将更改两列:
我主要关心的是脚本的生产部署…
该表已被一个每小时获得数千次点击的公共网站积极使用。因此,我们需要脚本快速运行,而又不影响前端的服务。另外,如果发生错误,我们需要能够自动回滚事务。
幸运的是,该表仅包含约25行,因此我猜测更新会很快。
该数据库是SQL Server 2005。
(仅供参考-类型更改是必需的,因为第三方工具与SQL Server的xml和uniqueidentifier类型不兼容。我们已经测试过dev中的更改,并且更改没有功能性问题。)
正如David所说的,在生产数据库中执行脚本而不进行备份或停止站点不是最好的主意,也就是说,如果您只想在一个行数减少的表中进行更改,则可以准备一个脚本来:
这将以名为原始表的表结尾,但表具有您想要的新结构,此外,您还使用备份名称维护原始表,因此,如果要回滚更改,可以创建脚本来执行以下操作:简单删除新表并重命名原始表。
如果表具有外键,脚本将稍微复杂一些,但是仍然可以进行很多工作。