如何在SQLServer数据库的两个实例之间复制数据记录

时间:2020-03-06 14:56:04  来源:igfitidea点击:

我需要将一些记录从我们的SQLServer 2005测试服务器复制到我们的实时服务器。这是一个平面查找表,因此无需担心外键或者其他参照完整性。

我可以在实时服务器上再次键入记录,但这很麻烦。我可以将测试服务器记录和表数据全部导出到一个SQL脚本中并运行它,但是我不想覆盖实时系统上存在的记录,而只添加它们。

如何只选择我想要的记录,然后将其转移到实时服务器中?我们没有Sharepoint,据我了解,Sharepoint允许我在两个实例之间直接复制它们。

解决方案

一个SSIS软件包最适合进行传输,它实际上需要几秒钟的设置时间!

我只是将脚本编写为sql并在其他服务器上运行,以进行快速而肮脏的传输。如果这是我们经常要做的事情,并且需要设置一种机制,则类似于SQL Server Integration Services(SSIS)的产品将与旧的Data Transformation Services(DTS)类似。我们可以在mini-Visual Studio环境中开发该解决方案,并且可以构建用于移动和转换数据的非常复杂的解决方案。

我使用SQL Server Management Studio,并通过右键单击数据库并转到"任务">"导出"来执行"导出任务"。我认为它可以跨服务器以及数据库运行,但是我不确定。

如果生产SQL Server和测试SQL Server可以对话,则可以使用SQL插入语句来完成。

首先在测试服务器上运行以下命令:

Execute sp_addlinkedserver PRODUCTION_SERVER_NAME

然后只需创建插入语句:

INSERT INTO [PRODUCTION_SERVER_NAME].DATABASE_NAME.dbo.TABLE_NAME   (Names_of_Columns_to_be_inserted)
SELECT Names_of_Columns_to_be_inserted
FROM TABLE_NAME