Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 数据库的SQL迁移_Sql Server_Tsql_Sql Server 2008 R2_Database Migration - Fatal编程技术网

Sql server 数据库的SQL迁移

Sql server 数据库的SQL迁移,sql-server,tsql,sql-server-2008-r2,database-migration,Sql Server,Tsql,Sql Server 2008 R2,Database Migration,我正在运行SQLServer2008R2,我有一个测试数据库,我已经修改了它,使之具有新的外键和列等 我想知道将所有更改映射到live db的最佳方法是什么 我是否必须在每个表上分别运行拖放和创建脚本 我尝试右键单击->任务->生成数据库脚本->但在运行此操作时出现了很多错误 比较数据库并将更改从一个应用到另一个(在您的测试到生产的案例中)的最佳方法是使用SSDT(SQL Server数据工具) 使用此工具,您可以轻松地比较两个数据库(源数据库和目标数据库),查看更新目标数据库的每个对象所需的脚

我正在运行SQLServer2008R2,我有一个测试数据库,我已经修改了它,使之具有新的外键和列等

我想知道将所有更改映射到live db的最佳方法是什么

我是否必须在每个表上分别运行拖放和创建脚本


我尝试右键单击->任务->生成数据库脚本->但在运行此操作时出现了很多错误

比较数据库并将更改从一个应用到另一个(在您的测试到生产的案例中)的最佳方法是使用SSDT(SQL Server数据工具)

使用此工具,您可以轻松地比较两个数据库(源数据库和目标数据库),查看更新目标数据库的每个对象所需的脚本,使其与源数据库完全相同,并向目标数据库运行所有或仅所选脚本

您还可以生成更新脚本或dac pac

请参阅此以了解更多信息:


问题在于,在执行比较和生成DDL脚本时,simple compare&sync没有利用版本控制存储库。因此,版本控制存储库并不是唯一的真相来源

simple compare and sync遇到的另一个问题是,由于信息存储在比较与同步工具外部的ALM、CMS或版本控制存储库中,因此它会比较整个数据库并显示差异,从而生成相关和不相关的部署脚本

最关键的是,简单的比较和同步不能确保部署脚本处理冲突并合并冲突

另一方面,数据库强制更改管理将对数据库对象强制执行版本控制过程与根据版本控制存储库和当时的环境结构在需要时生成部署脚本结合起来

这种方法使用“按需构建和部署”,这意味着部署脚本是在需要时构建(生成)的,而不是作为开发的一部分。这允许有效处理冲突、合并和进程外更改

有关更多信息,请查看此处:


谢谢,我将对这些链接进行一些研究