转储表与部分MSSQL 2012

时间:2015-03-04 08:19:00

标签: sql-server sql-server-2012

我在同一台服务器上有2个数据库,第二个是“更新”。我需要将Table1中的值从第1个db复制到第2个db的Table1。

第二个Table1有一个不同的结构,所以我想从第一个表生成插入语句并进行一些转换,然后将数据插入到第二个Table1。

但这里有问题。该表有大约170万条记录,插入语句的转储超过3GB。 SSMS不想打开这么大的文件。

所以问题是如何将数据转储到一些部分,转移到几个文件,所以我可以逐个将它们加载到ssms中?

谢谢

PS所有数据仅供开发人员使用,而非生产数据库

2 个答案:

答案 0 :(得分:1)

为什么要创建INSERT语句的脚本?为什么不使用3部分命名从一个表插入到另一个表。

INSERT Database2.dbo.Table1 (column list)
SELECT column list
FROM Database1.dbo.Table1

您可以在SELECT中进行所需的任何转换,例如,如果列已从INT更改为NVARCHAR(2),则可以使用CAST(MyIntColumn AS NVARCHAR(2))

答案 1 :(得分:0)

如果数据库位于不同的服务器中,您可以开发一个简单的SSIS包来传输数据

SSIS包应该有一个数据流任务,第一个数据库作为源,第二个数据库作为目标。你也可以在中间有一个派生列任务进行数据转换