Sql 导入表和存储过程
我正在尝试将SQLServer2008R2中的表[40]和存储过程[120+]从开发服务器导出到prod服务器 我已经创建了一个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
.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差异?你救了我一整天。谢谢你,伙计,你救了我一整天。谢谢你,伙计。