`
evget
  • 浏览: 144656 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
文章分类
社区版块
存档分类

SQL Server海量数据导入的方法

阅读更多
文章关键字:|SQL Server|海量|数据|导入|格式|限制|

最近做某项目的数据库分析,要实现对海量数据的导入问题,就是最多把200万条数据一次导入sqlserver中,如果使用普通的insert语句进行写出的话,恐怕没个把小时完不成任务,先是考虑使用bcp,但这是基于命令行的,对用户来说友好性太差,实际不大可能使用;最后决定使用BULK INSERT语句实现,BULK INSERT也可以实现大数据量的导入,而且可以通过编程实现,界面可以做的非常友好,它的速度也很高:导入100万条数据不到20秒中,在速度上恐怕无出其右者。

但是使用这种方式也有它的几个缺点:

1.需要独占接受数据的表

2.会产生大量的日志

3.从中取数据的文件有格式限制

但相对于它的速度来说,这些缺点都是可以克服的,而且你如果愿意牺牲一点速度的话,还可以做更精确的控制,甚至可以控制每一行的插入。对与产生占用大量空间的日志的情况,我们可以采取在导入前动态更改数据库的日志方式为大容量日志记录恢复模式,这样就不会记录日志了,导入结束后再恢复原来的数据库日志记录方式。

具体的一个语句我们可以这样写:

以下为引用的内容:

alter database taxi

set RECOVERY BULK_LOGGED

BULK INSERT taxi..detail FROM 'e:\out.txt'

WITH (

?? DATAFILETYPE = 'char',

?? FIELDTERMINATOR = ',',

?? ROWTERMINATOR = '\n',

?TABLOCK

)

alter database taxi

set RECOVERY FULL

这个语句将从e:\out.txt导出数据文件到数据库taxi的detail表中。



原文地址:http://www.evget.com/zh-CN/Info/ReadInfo.aspx?id=9234
分享到:
评论

相关推荐

    基于OPENDATASOURCE函数的SQL Server数据库海量数据的快速导入导出方法

    例如,如果我们有一个Excel文件“Page40.xlsx”位于C盘根目录下,我们可以这样导入数据: ```sql INSERT INTO MyTable SELECT * FROM OPENDATASOURCE('Microsoft.ACE.OLEDB.12.0', 'Data Source=C:\Page40.xlsx;...

    将海量数据导入到sql中

    #### 使用BCP导入数据的步骤: 1. **准备数据文件**:首先,需要将要导入的数据整理成BCP可识别的格式,通常是CSV或固定宽度的文本文件。 2. **设置BCP参数**:通过命令行指定BCP的参数,如数据源文件路径、目标...

    SQL Server 海量数据导入的最快方法

    本文将详细介绍SQL Server海量数据导入的方法,特别是通过`BULK INSERT`语句实现高速数据导入的技术细节。 #### 一、引言 随着业务需求的增长和技术的发展,企业往往需要处理的数据量越来越大。传统的`INSERT`语句...

    基于Python的SQL Server海量数据转移的研究与实现.zip

    它可以方便地从SQL Server中导入数据到DataFrame对象,进行数据清洗、转换等操作,然后再将处理后的数据写回SQL Server。对于复杂的数据转换,Python的NumPy和SciPy库也能提供强大的数学和统计功能。 接着,为了...

    如何实现海量文本数据导入MS_SQL_Server2000数据库.doc

    标题所述的《如何实现海量文本数据导入MS_SQL_Server2000数据库》主要涉及的是在SQL Server 2000环境下,将大量文本数据高效地导入数据库的方法。文本数据导入通常是一个挑战,尤其是当数据量巨大时,常规的Excel...

    Excel...SQL Server 数据库管理技术详解 excel and sql

    此外,还可以利用Power Query(Excel 2010及以后版本中的功能)或VBA脚本,自动化从SQL Server导入数据到Excel的过程。 在更复杂的数据集成项目中,Excel和SQL Server还可以借助ETL(Extract, Transform, Load)...

    海量图像数据在SQL Server2000环境下的存储.pdf

    6. SQL Server 2000的存储过程和触发器:在处理图像数据时,可能需要编写存储过程和触发器来自动化一些任务,例如数据的导入导出、数据完整性检查、自动化备份等。文档可能包含了这部分内容的示例和最佳实践。 7. ...

    微软公司核心技术书库 SQL Server 2000数据挖掘技术指南.rar

    数据挖掘是SQL Server 2000中的一个关键特性,它允许用户从海量数据中发现隐藏的模式、趋势和关联,从而为企业决策提供依据。下面将详细介绍SQL Server 2000的数据挖掘技术和相关知识点。 1. 数据挖掘基础:数据...

    Data.Mining.with.SQL.Server.2005

    ### 数据挖掘与SQL Server 2005 #### 核心知识点概述 1. **数据挖掘的概念** - 数据挖掘是一种从大量数据中提取出有用的信息、模式或趋势的过程。 - 它涉及多种技术,如统计分析、机器学习算法等。 2. **SQL ...

    ACCESS导入SQL数据库的系列方法

    在SQL Server Management Studio (SSMS) 中,你可以找到这个向导,选择“任务”->“导入数据”或“导出数据”。然后按照向导的步骤,指定Access数据源,选择要导入的表,设置数据映射,最后完成导入。 2. **使用...

    Excel+SQL Server 数据库管理技术详解

    Excel以其强大的电子表格功能,使得数据分析和处理变得直观且高效,而SQL Server作为一款专业的关系型数据库管理系统,能够存储和管理海量数据,保证数据的安全性和完整性。本文将深入探讨如何结合Excel和SQL Server...

    SQL+Server+2005数据挖掘与商业智能完全解决方案

    综上所述,SQL Server 2005的数据挖掘和SSAS功能为企业提供了强大的BI工具,帮助企业从海量数据中提取有价值的信息,推动业务增长。通过熟练掌握这些技术,数据分析师和IT专业人员能够构建出高效的分析解决方案,...

    批量导入数据,大数据导入

    SQL(Structured Query Language)是用于管理关系数据库的标准语言,提供了多种批量导入数据的方法。 1. **使用INSERT语句**:这是最基础的方式,但当数据量大时,效率较低。例如: ```sql INSERT INTO table_...

    SQL.Server.2005高级数据分析之财务管理高级分析建模[www.TopSage.com].zip

    4. **数据集成服务(DTS/SSIS)**:学习如何使用DTS或SQL Server Integration Services进行数据导入导出,确保不同系统间的财务数据同步。 5. **Reporting Services**:了解如何利用SQL Server Reporting Services...

    sql server2008安装必备.rar

    9. **后续步骤**:安装完成后,你可能需要进行一些后处理,如创建数据库、设置权限、导入数据等。此外,定期更新SQL Server的安全补丁和累积更新也很重要,以保持系统的安全性和稳定性。 10. **学习资源**:SQL ...

    SQL Server 2012 Analysis Services 高级教程(第二版) 源代码

    SQL Server 2012是微软推出的一款强大的关系型数据库管理系统,而Analysis Services作为其组件之一,主要用于数据仓库和商业智能(BI)解决方案。SSAS提供了多维数据处理、数据挖掘和在线分析处理(OLAP)等功能,使...

    海量数据导入与导出MATLAB的有效方法.zip

    MATLAB支持多种数据库连接,如MySQL、SQL Server等,通过ODBC或JDBC接口。用户可以编写SQL查询来检索和操作数据,而不必将所有数据加载到MATLAB环境中。 最后,优化代码结构和算法也是提高效率的关键。例如,使用...

    数据库大批量数据导入excle

    - **数据库自带工具**:许多数据库管理系统(如MySQL、SQL Server、Oracle)提供内置的数据导入功能,支持从CSV或Excel文件导入。 - **编程接口**:使用编程语言(如Python的pandas库,Java的JDBC,Python的...

Global site tag (gtag.js) - Google Analytics