请教关于导入mssql大文件

bigpig 2008-05-06 01:50:29
由于公司权限严格,给我分配的是db_owner的账号, 不能远程备份再传到本地.我是用ems mssql export 直接远程连接 sqlserver 一条条的导出的sql文件 ,大概有1000多w条insert的记录,sql文件大小大概在2g左右,我想请教的是如果需要把数据导回到本地的话, 怎么导入呢?我用mssql自带的osql导入的时候 提示内存不够(2g内存). 需要把这1000w 条记录分割成很多段小的sql文件? 还是有更好的方法 ?多谢大家帮助了
...全文
181 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
bigpig 2008-05-06
  • 打赏
  • 举报
回复
我用osql直接导入的. 切割成许多30m的文件 为啥子导入到最后的时候 提示内存不足 失败呢? 有什么解决办法吗? 是我切的不够猛吗
ojuju10 2008-05-06
  • 打赏
  • 举报
回复

导入用openrowset()

导出用bcp,速度非常快
kk19840210 2008-05-06
  • 打赏
  • 举报
回复
BULK INSERT

一次默认是 1000条
bigpig 2008-05-06
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 happyflystone 的回复:]
sqlserver 一条条的导出的sql文件 ,大概有1000多w条insert的记录

---

只能分批了


[/Quote]

推荐一下有啥好的 sql分割的工具 ? 我30w条记录导入执行的时候 也提示内存不够 晕
-狙击手- 2008-05-06
  • 打赏
  • 举报
回复
sqlserver 一条条的导出的sql文件 ,大概有1000多w条insert的记录

---

只能分批了

kk19840210 2008-05-06
  • 打赏
  • 举报
回复
此实用工具 (bcp.exe) 是使用大容量导入 API 编写的命令行工具。bcp 实用工具执行下列任务:

将大容量数据从 SQL Server 表导出到数据文件中。


从查询导出大容量数据。


将大容量数据从数据文件导入到 SQL Server 表中。


生成格式化文件。


bcp 实用工具可以通过 bcp 命令访问。使用 bcp 命令导入大容量数据要求您了解表的架构及其列的数据类型(除非使用预先存在的格式化文件)。

bcp 实用工具可以将数据从 SQL Server 表导出到数据文件中,以便在其他程序中使用。该实用工具还可以将数据从其他程序 [通常为其他数据库管理系统 (DBMS)] 导入到 SQL Server 表中。首先将数据从源程序导出到数据文件中,然后执行一个操作,将数据从数据文件复制到 SQL Server 表中。

bcp 命令提供了一些开关,可以指定数据文件的数据类型和其他信息。如果缺少其中任何信息,bcp 命令会提示输入格式信息,如数据文件中数据字段的类型。然后,此命令将询问用户是否要创建包含交互响应的格式化文件。如果希望以后的大容量导入和大容量导出操作更灵活,则格式化文件通常会很有用。可以对以后的 bcp 命令指定格式化文件,以获得相同的数据文件。

注意:
从 Microsoft SQL Server 7 开始,bcp 实用工具使用 ODBC 大容量复制应用程序编程接口 (API) 编写。而早期版本的 bcp 是用 DB-Library 大容量复制 API 编写的。



有关语法的详细说明,请参阅 bcp 实用工具。

BULK INSERT 语句概述 (Transact-SQL)
BULK INSERT 将数据从数据文件加载到表中。此功能类似于 bcp 命令的 in 选项,但是数据文件是由 SQL Server 进程读取的。

使用 BULK INSERT 时,有必要了解 Microsoft SQL Server 2005 如何处理用户模拟。有关模拟的信息,请参阅使用 Transact-SQL 大容量导入数据的安全注意事项。

有关语法的说明,请参阅 BULK INSERT (Transact-SQL)。

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧