我正在运行SQL Server 2008 R2,我有一个测试数据库,我已修改为拥有新的外键和列等。
我想知道将所有更改映射到我的实时数据库的最佳方法是什么?
我是否必须在每张桌子上单独运行drop并创建脚本?
我试图右击 - >任务 - >生成数据库脚本 - >但是当我运行它时会出现很多错误。
答案 0 :(得分:1)
比较数据库并将更改从一个应用到另一个(在您的案例测试到生产中)的最佳方法是使用SSDT(SQL Server数据工具)。
使用此工具,您可以轻松地比较两个数据库,源和目标,查看更新目标数据库的每个对象所需的脚本,以便它与源数据库完全相同,并运行全部或仅运行选定的脚本到目标数据库。
您还可以生成更新脚本或dac pac。
请查看此信息以获取更多信息:
答案 1 :(得分:1)
问题在于简单的比较&执行比较并生成DDL脚本时,sync不使用版本控制存储库。因此,版本控制存储库不能作为单一事实来源。
简单比较和同步遇到的另一个问题是,因为信息存储在ALM,CMS或版本控制存储库中,这是存储在比较&之外的。同步工具,它比较整个数据库并显示差异,生成相关和不相关的部署脚本。
最重要的是,简单的比较和同步不能确保部署脚本处理冲突并合并它们。
另一方面,数据库强制执行变更管理,根据版本控制存储库和当时环境的结构,将数据库对象上的版本控制过程的执行与必要时生成部署脚本相结合。
此方法使用“按需构建和部署”,这意味着部署脚本在需要时构建(生成),而不是作为开发的一部分。这样可以有效地处理冲突,合并和进程外更改。
请点击此处了解更多信息: