转储 table 部分 MSSQL 2012
Dump table with portions MSSQL 2012
我在同一台服务器上有 2 个数据库,第二个是 "newer"。我需要将 Table1 中的值从 1st db 复制到 Table1 从 2nd db.
第二个 Table1 的结构有点不同,所以我想从第一个 table 生成插入语句并进行一些转换,然后将数据插入到第二个 Table1。
但是这里有个问题。 table 有大约 170 万条记录,插入语句的转储超过 3GB。 SSMS 不想打开这么大的文件。
所以问题是如何将该数据分部分转储到几个文件中,以便我能够将它们一个一个地加载到 ssms 中?
谢谢
PS所有数据仅供开发者使用,不是生产数据库
为什么要创建 INSERT 语句的脚本?为什么不使用 3 部分命名从一个 table 插入到另一个
INSERT Database2.dbo.Table1 (column list)
SELECT column list
FROM Database1.dbo.Table1
您可以在 SELECT 中进行任何您需要的转换,例如,如果列已从 INT 更改为 NVARCHAR(2),您可以使用 CAST(MyIntColumn AS NVARCHAR(2))
.
如果数据库在不同的服务器上,您可以开发一个简单的 SSIS 包来传输数据
SSIS 包应该有一个数据流任务,第一个数据库作为源,第二个数据库作为 destination.You 也可以在中间有一个派生列任务用于数据转换
我在同一台服务器上有 2 个数据库,第二个是 "newer"。我需要将 Table1 中的值从 1st db 复制到 Table1 从 2nd db.
第二个 Table1 的结构有点不同,所以我想从第一个 table 生成插入语句并进行一些转换,然后将数据插入到第二个 Table1。
但是这里有个问题。 table 有大约 170 万条记录,插入语句的转储超过 3GB。 SSMS 不想打开这么大的文件。
所以问题是如何将该数据分部分转储到几个文件中,以便我能够将它们一个一个地加载到 ssms 中?
谢谢
PS所有数据仅供开发者使用,不是生产数据库
为什么要创建 INSERT 语句的脚本?为什么不使用 3 部分命名从一个 table 插入到另一个
INSERT Database2.dbo.Table1 (column list)
SELECT column list
FROM Database1.dbo.Table1
您可以在 SELECT 中进行任何您需要的转换,例如,如果列已从 INT 更改为 NVARCHAR(2),您可以使用 CAST(MyIntColumn AS NVARCHAR(2))
.
如果数据库在不同的服务器上,您可以开发一个简单的 SSIS 包来传输数据
SSIS 包应该有一个数据流任务,第一个数据库作为源,第二个数据库作为 destination.You 也可以在中间有一个派生列任务用于数据转换