我在同一台服务器上有2个数据库,第二个是“更新”。我需要将Table1中的值从第1个db复制到第2个db的Table1。
第二个Table1有一个不同的结构,所以我想从第一个表生成插入语句并进行一些转换,然后将数据插入到第二个Table1。
但这里有问题。该表有大约170万条记录,插入语句的转储超过3GB。 SSMS不想打开这么大的文件。
所以问题是如何将数据转储到一些部分,转移到几个文件,所以我可以逐个将它们加载到ssms中?
谢谢
PS所有数据仅供开发人员使用,而非生产数据库
答案 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包应该有一个数据流任务,第一个数据库作为源,第二个数据库作为目标。你也可以在中间有一个派生列任务进行数据转换