BCP 导入导出数据库数据

使用 bcp 将数据库迁移到 Azure SQL Database

--所有 都是在本机sql上运行
--先开启cmdshell
EXEC sp_configure 'show advanced options', 1
GO
RECONFIGURE
GO
EXEC sp_configure 'xp_cmdshell', 1
GO
RECONFIGURE
GO
/**导出指定表的文本文件 */
--EXEC master..xp_cmdshell 'bcp MyDB.dbo.Feedbacks out D:BcpFileexportFeedbacks.dat -c -S (local) -U sa -P sa'
-- 添加 文件格式  导出数据文件

----E

如果未指定 -E,则将忽略所导入数据文件中此列的标识值,而且 SQL Server 将根据创建表期间指定的种子值和增量值自动分配唯一值。

如果数据文件不包含表或视图中的标识列的值,则可使用格式化文件指定,在导入数据时应跳过表或视图中的标识列;SQL Server 将自动为该列分配唯一值。 有关详细信息,请参阅 DBCC CHECKIDENT (Transact-SQL)

-E 选项有一个特殊的权限要求。 有关详细信息,请参阅本主题后面的“备注”。

-C { ACP | OEM | RAW | code_page }

指定该数据文件中数据的代码页

代码页 值 RAW

不进行代码页间的转换。 因为不进行转换,所以这是最快的选项。-n 使用数据的本机(数据库)数据类型执行大容量复制操作。 此选项不提示输入每个字段,它将使用本机值。

--Feedbacks表 导出 
EXEC master..xp_cmdshell 'bcp myDB.dbo.Feedbacks out D:BcpFileexportFeedbacks.dat -S (local) -U sa -P sa -E -n -C RAW '

  --Feedbacks表 导出
-- 添加 文件格式  导入数据文件 到 服务器是 rty5678i.database.windows.net(云平台数据库)的 YMyDB数据库里  有相同的表结构
EXEC master..xp_cmdshell 'Bcp YMyDB.dbo.Feedbacks in D:BcpFileexportFeedbacks.dat  -S rty5678i.database.windows.net -U myDBAdmin@rty5678i.database.windows.net -P 8uhb&UJMkloi -E -n -C RAW '

--Mobiles表 导出
EXEC master..xp_cmdshell 'bcp myDB.dbo.Mobiles out D:BcpFileexportMobiles.dat -S (local) -U sa -P sa -E -n -C RAW '
--Mobiles表 导入
EXEC master..xp_cmdshell 'Bcp YMyDB.dbo.Mobiles in D:BcpFileexportMobiles.dat  -S rty5678i.database.windows.net -U myDBAdmin@rty5678i.database.windows.net -P 8uhb&UJMkloi -E -n -C RAW '

测试通过 千万级别的数据导出导入

可以使用工具 把本地数据库导入到SQL AZURE中呢?

使用 SQLAzureMW

地址 http://sqlazuremw.codeplex.com/

George 创建了 SQLAzureMW 来帮助我们的客户完成 SQL 数据库迁移过程

原文地址:https://www.cnblogs.com/z_lb/p/4453820.html