Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/87.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 导入表和存储过程_Sql_Import_Sql Server 2008 R2 - Fatal编程技术网

Sql 导入表和存储过程

Sql 导入表和存储过程,sql,import,sql-server-2008-r2,Sql,Import,Sql Server 2008 R2,我正在尝试将SQLServer2008R2中的表[40]和存储过程[120+]从开发服务器导出到prod服务器 我已经创建了一个.sql文件[右键单击SSMS中的数据库,选择Tasks->Generate Scripts],但是当我试图将表和存储过程导入到prod server中时[右键单击SSMS中的数据库,New Query,然后在中复制内容]它给了我一长串的错误 大部分 数据库中已经有一个名为“tblMyTable”的对象 违反主键约束“PK_MyTable”。无法插入 对象“dbo.tb

我正在尝试将SQLServer2008R2中的表[40]和存储过程[120+]从开发服务器导出到prod服务器

我已经创建了一个
.sql
文件[右键单击SSMS中的数据库,选择
Tasks->Generate Scripts
],但是当我试图将表和存储过程导入到prod server中时[右键单击SSMS中的数据库,
New Query
,然后在中复制内容]它给了我一长串的错误

大部分

数据库中已经有一个名为“tblMyTable”的对象

违反主键约束“PK_MyTable”。无法插入
对象“dbo.tblMyTable”中存在重复键


你知道我做错了什么或应该做什么吗?提前感谢。

当前技术的问题在于假设目标是空数据库。因此,它将重新插入所有内容,而不尝试合并数据,这就是导致主键重复的原因。如果使用ManagementStudio,则必须自己进行所有数据合并

我的建议是首先查看redgate,它不是免费的,但您将保存它的所有时间都是值得的。您需要同时使用SQL比较和数据比较()

另一种选择是使用Visual Studio 2010 premium(如果您有)。这提供了数据比较和模式比较选项。它不如redgate好,但我发现它大部分时间都能工作


如果您正在寻找免费的替代方案,请查看此stack post。

当前技术的问题在于,假设您的目标是一个空数据库。因此,它将重新插入所有内容,而不尝试合并数据,这就是导致主键重复的原因。如果使用ManagementStudio,则必须自己进行所有数据合并

我的建议是首先查看redgate,它不是免费的,但您将保存它的所有时间都是值得的。您需要同时使用SQL比较和数据比较()

另一种选择是使用Visual Studio 2010 premium(如果您有)。这提供了数据比较和模式比较选项。它不如redgate好,但我发现它大部分时间都能工作


如果您正在寻找免费的替代方案,请查看此stack post。

如果您要将整个数据库导入到生产环境中,您最好使用replace对生产环境中的数据库进行恢复


120个SP和20个表似乎是整个数据库。因此,应该使用replace进行恢复。

如果要将整个数据库导入到生产数据库中,则最好使用replace进行恢复到生产数据库中


120个SP和20个表似乎是整个数据库。因此,应该使用replace进行恢复。

您是否也在尝试将开发数据投入生产?否则,您是否只是希望消除DDL差异?您是否也在尝试将开发数据投入生产?否则你只是想转移DDL差异?你救了我一整天。谢谢你,伙计,你救了我一整天。谢谢你,伙计。