我想知道你们是如何管理2台SQL Server之间的数据库部署的,特别是SQL Server 2005. 现在有一个开发和一个活的。由于这应该是构建脚本的一部分(标准的windows批处理,甚至可以使用这些脚本的当前复杂性,我可能会在以后切换到PowerShell等),Enterprise Manager/Management Studio Express不计算在内。部署从测试到生活的SQL Server数据库
你会复制.mdf文件并附加它吗?在处理二进制数据时,我总是会小心一些,因为这似乎是一个兼容性问题(即使开发和生活应始终运行同一版本的服务器)。
或者 - 由于缺少T-SQL中的“EXPLAIN CREATE TABLE” - 您是否做了一些将现有数据库导出到可以在目标服务器上运行的SQL脚本?如果是的话,有没有一种工具可以自动将给定的数据库转储到SQL查询中并且在命令行上运行? (同样,Enterprise Manager/Management Studio Express不计算在内)。
最后 - 考虑到实时数据库已经包含数据的事实,部署可能不涉及创建所有表,而是检查结构和ALTER TABLE中的差异,而不是实时的,这可能还需要数据验证/转换现有的领域改变。
现在,我听到很多关于Red Gate产品的很棒的东西,但对于爱好项目,价格有点陡峭。
那么,什么是您使用从测试自动部署SQL Server数据库的生活吗?
+1我使用SSMS中的设计GUI(或SQL2000中的企业管理器)进行更改,但使用“生成更改脚本”图标生成脚本,该脚本存储在下一发行版的更改脚本中。有一个复选框“自动更改脚本”复选框,以防万一你忘记了一天! – Kristen 2009-02-18 10:42:56