我想知道你们如何管理 2 个 SQL Server 之间的数据库部署,特别是 SQL Server 2005。现在,有一个开发和一个实时的。由于这应该是构建脚本的一部分(标准 Windows 批处理,即使这些脚本的当前复杂性,我可能会切换到 PowerShell 左右),Enterprise Manager/Management Studio Express 不计算在内。
您是否只需复制 .mdf 文件并附加它?在处理二进制数据时我总是有点小心,因为这似乎是一个兼容性问题(即使开发和实时应该始终运行相同版本的服务器)。
或者 - 鉴于 T-SQL 中缺少“EXPLAIN CREATE TABLE” - 您是否会执行将现有数据库导出到可以在目标服务器上运行的 SQL 脚本的操作?如果是,是否有一种工具可以自动将给定的数据库转储到 SQL 查询中并在命令行下运行?(同样,Enterprise Manager/Management Studio Express 不算在内)。
最后 - 鉴于实时数据库已经包含数据这一事实,部署可能不涉及创建所有表,而是检查结构和 ALTER TABLE 实时表的差异,这可能还需要在现有字段更改时进行数据验证/转换。
现在,我听到了很多关于Red Gate产品的好消息,但对于爱好项目,价格有点高。
那么,您使用什么来自动将 SQL Server 数据库从 Test 部署到 Live?