之前有一个应用程序指向一个数据库。它使用一组特定的表。这些表有触发器、约束等。还有将数据插入这些表的存储过程。
在相同的线路上构建了一个新的应用程序(改动很小),但为了使该应用程序在我们的测试箱中运行,我们必须备份现有的数据库,并使用不同的名称恢复该数据库。新的应用程序数据库指向这个新恢复的数据库。
但是恢复的数据库有完全不需要的对象。
现在我面临着创建部署脚本的任务,这些脚本应该在我们的生产环境中运行,并创建数据库(使用新应用程序运行所需的对象)。
是否有任何工具可以使这项工作更轻松?
PS:我的测试箱有一个sql server 2005 db。生产箱有一个sql server 2000 db。
即使您没有明确说明,我猜您已经从恢复的数据库中删除了不必要的对象,现在想要将结构(可能还有一些数据)从新的(恢复的和修改的)数据库迁移到生产环境。
如果这是正确的,那么我会推荐 Red Gate 的SQL 比较(结构)和SQL 数据比较(当然是数据)产品。这两个都工作得很好,并且能够生成您可以进一步修改或让产品直接执行更改的更改脚本。这两种产品都通过比较“从”和“到”数据库来确定所需的更改。我不确定这两种产品是否都知道版本差异(从来没有降级问题)所以我会检查生成的脚本以查看它们是否添加了与 SQL Server 2000 不兼容的内容。此外,这两种产品都可以试用基础。
如果您是 Visual Studio 的用户并且具有适当的版本级别(使用 VS 2010,我相信它是专业版或更高版本),您也可以考虑使用 Visual Studio for Database Professionals。
在 Microsoft SQL Server Management Studio 中,只需右键单击数据库选择
任务| 生成脚本