- 浏览: 1039143 次
- 性别:
- 来自: 长沙
文章分类
- 全部博客 (639)
- 服务器配置篇 (58)
- hibernate篇 (14)
- spring篇 (33)
- struts篇 (28)
- JS篇 (46)
- 其他技术篇 (46)
- 数据库集群配置 (6)
- JAVA基础相关 (48)
- 分布式框架HadHoop的应用 (2)
- FLEX篇 (8)
- SQLSERVER技术 (32)
- Android学习 (13)
- amchart学习笔记 (1)
- openfire+smark搭建即时通讯 (9)
- Linux学习 (18)
- Oracle数据库 (15)
- 网站优化技术 (12)
- mysql数据库 (2)
- 项目学习总结 (18)
- 工具类(JAVA) (12)
- 工具类(JS) (2)
- 设计模式 (10)
- Lucene学习 (24)
- EJB3学习 (6)
- Sphinx搜索引擎 (3)
- 工作中用到的软件小工具 (5)
- .NET (49)
- JAVA 连接SQLSERVER2008步骤 (1)
- MongoDB (19)
- Android手机开发 (3)
- Maven (6)
- vue (9)
- Shiro (4)
- mybatis (3)
- netty框架 (1)
- SpringCloud (3)
- spring-cloud (7)
- Git (1)
- dubbo (2)
- springboot (13)
- rocketmq (1)
- git学习 (2)
- kafka服务器 (2)
- linux (10)
- WEB系统辅助项目 (1)
- jenkins (2)
- docker (4)
- influxdb (3)
- python (2)
- nginx (1)
最新评论
-
jiangfuofu555:
这样数据量大,效率怎么样?
sqlserver 实现分页的前台代码 以及后台的sqlserver语句 -
w156445045:
博主请问下,如何做到实时的刷新呢,
另外我后台是Java 谢谢 ...
web 版本的汽车仪表盘,非常好看。还有各种图形 -
jackyin5918:
<transportConnector name=&qu ...
ActiveMQ的activemq.xml详细配置讲解 -
握着橄榄枝的人:
你这个不是spring1.x的吧
spring1.x使用AOP实例 -
xiaophai:
全乱套了!
openfire+spark搭建完美的及时通讯
1。关于大容量数据导入导出的一些方法
SQL SERVER提供多种工具用于各种数据源的数据导入导出,这些数据源包括本文文件、ODBC数据源、OLE DB数据源、ASCII文本文件和EXCEL电子表格。
2.常用工具
DTS:数据转换服务导入导出向导或者DTS设计器创建DTS包
使用SQL SERVER复制发布数据
BCP命令提示实用工具实现SQL SERVER实例和数据文件之间的数据导入导出
BULK INSERT实现从数据文件导入数据到SQL SERVER实例
分布式查询实现从一个数据源选择数据插入到SQL SERVER实例
SELECT INTO 语句插入数据表
3.导入导出的数据
1。导入数据的目标表必须存在。导出数据的目标文件如果存在,则将重写上面的内容。如果不存在,则BCP自动创建文件
2。数据文件中的数据必须是字符格式或是先前由bcp工具生成的格式(本机格式)
3。必须对相应的表拥有足够的权限
4。数据导入导出工具的简单用法
4.数据导入导出工具的简单用法
a.DTS
DTS是一组图形工具和可编程对象,是开发者可以将取自完全的不同源的数据析取、转换并合并成一个或者多个。
它的特点就是可以融合完全不同源的数据源 这在企业改进中应用很大 。
这里涉及到一个DTS包,它是一个有组织的链接、DTS任务、DTS转换和工作流约束的集合。
关于DTS的操作请参看相关具体文献。
b.BCP
它常用于将大量的数据从另外的程序转移到SQL SERVER表中。当然也可以用于将表中数据传输到数据文件中。
下面是一些BCP的简单用法(关于很多的选项使用看相关文档)
--前序,开启xp_cmdshell
--关于xp_cmdshell的一些知识请看http://blog.csdn.net/feixianxxx/archive/2009/08/14/4445603.aspx
EXEC sp_configure 'show advanced options', 1;RECONFIGURE;
EXEC sp_configure 'xp_cmdshell', 1;RECONFIGURE;
--环境
create table test
(
id int,
value varchar(100)
)
go
insert test values(1,'s1')
insert test values(2,'s2')
insert test values(3,'s3')
insert test values(4,'s4')
go
--1将表的数据导出到TEXT.txt文件中
exec master..xp_cmdshell 'bcp tempdb.dbo.test out e:\test.txt -c -Usa -P123456'
--如果是WINDOWS身份直接xec master..xp_cmdshell 'bcp tempdb.dbo.test out e:\test.txt -T -c'
--2将TEXT.txt文件中的数据复制到test1表
select * into test1 from test where 1=2
exec master..xp_cmdshell 'bcp tempdb.dbo.test1 in e:\test.txt -c -Usa -P123456'
select * from test1
--3将TEST表的ID字段复制到TEXT.txt中
exec master..xp_cmdshell 'bcp "SELECT id FROM tempdb.dbo.test" queryout e:\test.dat -T -c'
--4将test表中的第一行移动到text.txt中
exec master..xp_cmdshell 'bcp "SELECT top 1 * from tempdb.dbo.test " queryout e:\test.txt -c -Usa -P123456'
--关闭xp_cmdshell
EXEC sp_configure 'show advanced options', 1;RECONFIGURE;
EXEC sp_configure 'xp_cmdshell', 0;RECONFIGURE;
c.BULK INSERT
它只能用于数据导入到SQL SERVER实例中,但是我们一般会选择使用它,因为它比BCP使用工具快。
小例子:
--truncate table test
BULK INSERT tempdb..test
FROM 'E:\test.txt'
WITH
(
FIELDTERMINATOR =',',--字段分割符号
ROWTERMINATOR ='\n'--换行符号
)
select * from test
/*
id value
----------- -----------
1 s1
2 asds
3 sadsa
100 2asda*/
ps:只写最简单用法,具体参数很多,参考MSDN
d.分布式查询
--包含访问OLE DB 数据源中的远程数据所需的全部连接信息。
--当访问链接服务器中的表时,这种方法是一种替代方法,并且是一种使用OLE DB 连接并访问远程数据的一次性的临时方法。
--对于较频繁引用OLE DB 数据源的情况,请改为使用链接服务器。
--A.将OPENROWSET 与SELECT 和SQL Server Native Client OLE DB 访问接口一起使用(MSDN)
以下示例使用 SQL Server Native Client OLE DB 访问接口访问 TEST.A 表,该表位于远程服务器 SERVER1 上的 POOFLY 数据库中.
SELECT a.*
FROM OPENROWSET('SQLNCLI', 'Server=SERVER1;Trusted_Connection=yes;',
'SELECT GroupName, Name, DepartmentID
FROM POOFLY.TEST.A
ORDER BY GroupName, Name') AS a;
--B. 使用Microsoft OLE DB Provider for Jet(MSDN)
以下示例通过 Microsoft OLE DB Provider for Jet 访问 Microsoft Access Northwind 数据库中的 Customers 表。
SELECT CustomerID, CompanyName
FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'C:\Program Files\Microsoft Office\OFFICE11\SAMPLES\Northwind.mdb';
'admin';'',Customers)
GO
--c.使用OPENROWSET 将文件数据大容量插入varchar(max) 列中
/*
为了导入大型对象数据,OPENROWSET BULK 子句支持三个选项,允许用户以单行或单列行集导入数据文件的内容。
你可以指定其中一个大型对象选项,而不是使用格式化文件。
大型对象选项包括:
SINGLE_BLOB
以单行读取data_file 的内容,以varbinary(max) 类型的单列行集返回内容。
SINGLE_CLOB
以字符读取指定数据文件的内容,以varchar(max) 类型的单行、单列行集返回内容,使用的是当前数据库的排序规则,例如文本或Microsoft Word 文档。
SINGLE_NCLOB
以Unicode 读取指定数据文件的内容,以nvarchar(max) 类型的单行、单列行集返回内容,并使用当前数据库的排序规则。
*/
以下示例创建一个用于演示的小型表,并将名为 Text1.txt 的文件中的文件数据插入 varchar(max) 列中。
CREATE TABLE my_Test(Document varchar(max))
GO
INSERT INTO my_Test
select * FROM OPENROWSET(BULK N'E:\test.txt', SINGLE_CLOB) AS Document
GO
select * from my_Test
/*
Document
-------------------------------------------------------
ASDSADASDSADSADSAFKJHFAS HKLASJHASHBKDSAHKJDHSAKJDHSAKDHSAKDHSA
*/
e.SELECT INTO
关于这个的用法 相信大家都很清楚了 我就不说明了。
5。优化导入导出数据的一些方法
1。使用最小日志记录:
a.恢复模式是简单模式或者大容量日志记录模式。如果你是完整模式,可以在进行操作前改成大容量日志模式,插入后改回来
b.目的表没有触发器,没有索引,指定了TABLOCK
2。将数据从多个客户端并行导入到单个表:
a.如果是完整恢复模式,改成大容量日志模式
b.指定了TABLOCK
c.表上没有索引
3。使用批处理:通过设置BCP或者BULK INSERT的相关选项,是用于可以指定在操作过程中发给SQL的每个批处理的行数。
4。禁用触发器和约束:默认情况下是禁用的。如果要检查,可以在复制完成后进行一次更新操作(当然值不可以变)
5。对数据文件中的数据排序:通过设置ORDER提示,提高性能。默认数据文件是不排序的。
6。控制锁定行为:指定大容量操作过程获得一个大容量更新表级锁,这样可以减少表上锁的争夺。
7。回避DEFAULT:通过设置相关选项,回避在复制数据到表中时,对有DEFAULT的列插入默认值,而是改成在列中值为NULL。
本文来自CSDN博客:http://blog.csdn.net/feixianxxx/archive/2010/03/29/5427485.aspx
发表评论
-
sqlserve2000 关于100万数据查询优化
2014-11-23 21:09 1000探讨怎么在有着1000万条数据的ms sql server数据 ... -
sqlserver2000触发器学习
2014-10-27 07:09 7981、 Sql代码 createtri ... -
sqlserver2008 评估到期解决方案
2012-03-15 08:44 1633和Visual Studio 2008一样,从官网下载SQL ... -
sqlserver 2008创建表分区
2011-11-24 16:31 866见附件 -
sqlserver 登陆企业管理器需要输入密码
2011-11-14 07:59 1100附件中有详细说明 -
JAVA 连接SQLSERVER2008步骤
2011-08-31 08:54 6593使用JDBC连接SQL SERVER 2008,很多人都在 ... -
sqlserver2008导出数据(新增)
2011-05-09 08:13 1682这个功能是sqlserver2000没有的。可以将数据脚本导出 ... -
安装完数据库以后,测试连接,提示端口错误的问题
2011-05-08 21:24 1653java.sql.SQLException: [Microso ... -
安装sqlserver的时候提示挂起操作,必须重启计算机的问题
2011-05-08 21:22 1668安装时提示说:“以前的某个文件已在安装计算机上创建挂起的文件操 ... -
SQL Server 2000 Enterprise Edition 日志传送温备方案
2011-02-20 09:44 1737'SQL Server 2000 Enterprise Edi ... -
通过存储过程直接访问服务器URL
2011-02-17 11:11 1459CREATE procedure ... -
sqlserver 常用函数大全
2011-02-14 17:31 1012sqlserver 常用函数大全 -
sqlserver 存储过程,函数,视图实例
2011-02-14 16:49 1108sqlserver 存储过程,函数,视图实例 -
对于批量删除某张表数据的做法技巧
2010-12-09 15:33 1125通过有JSP页面穿到存储过程中一连串的ID值,并且以,隔开。我 ... -
sql server 查询某个数据库中所有的任务执行状态
2010-12-06 11:25 3988xp_sqlagent_enum_jobs 参数: xp_ ... -
数据库表的转移心得体会和经验分享
2010-10-22 15:00 902开始设计一张表的时候,由于该表数据量逐渐增多。达到百万或千万的 ... -
一个关于查询性能的问题,在查询时间的时候是否应该用convert
2010-10-22 14:53 1070今天在做数据库表转移的时候,A表转移到B表。要将A表的2010 ... -
编写的一个存储过程,来检测数据库死锁进程
2010-10-19 09:14 1185/*--------------------------- ... -
探讨SQL Server中Case 的不同用法
2010-10-18 08:34 1122CASE 可能是 SQL 中被误用最多的关键字之一。虽然你可 ... -
查找表中的重复数据
2010-08-27 09:32 950select * from person where ...
相关推荐
主要讲四个示例的使用:导出(out),导入(in),查询导出(queryout),导出格式化(-f)文件。 示例1:导出示例数据库AdventureWorks整个表currency 或视图,使用SQL连接 代码如下:bcp AdventureWorks.sales....
应用线程解决界面的假死状态,应用高级SQL语句执行快速导入、导出数据操作。
通过互联网网站导出,一共含38万多条各类词语解释、注音和例句,只可用于学习交流测试,研究数据导入导出方法,版权归原网站,用于商业用途的一切后果自负。
支持RDBMS和HDFS之间高效大容量批量数据传输的工具 当您要将关系数据库中存储的数据导入到HDFS Hadoop引擎时使用。 可以将来自外部系统的数据导入HDFS并以Hive表和HBase表等各种Hadoop文件格式保存。 Sqoop v2仅...
前几天导入一个大容量dmp数据文件,报一个600错误,咨询网上的解决方法,按上面的处理一圈也没有整好,最后咨询组里一个大神,出现此错误 思路是,单个数据文件大小最大为32G,分析数据库后解决如下: 错误情况: ...
PHPMYADMIN是经常使用的一个MySql管理工具,备份和还原是PHPMYADMIN的重要功能,在还原数据库的时候经常遇到这样的... 一、IIS部分 1)解决在 IIS 6.0 中,无法上传大容量文件的办法: 1、先在服务里关闭 iis admin se
进行数据的导入导出时,我们要注意关于字符集的问题。在EXP/IMP过程中我们需要注意四个字符集的参数:导出端的客户端字符集,导出端数据库字符集,导入端的客户端字符集,导入端数据库字符集。 我们首先需要查看这...
3.1.7 在磁带上直接导出和导入数据 3.1.8 估计导出文件的大小 3.1.9 直接导出压缩文件 3.1.10 从压缩导出文件中直接导入 3.1.11 创建一致的导出文件 3.1.12 检查导出/导入错误 3.1.13 用导出和导入管理区 ...
9.4.3 在客户端实现SQL Server数据导入与导出处理的一些说明 289 9.5 在数据库中存取文件 290 9.5.1 SQL Server中的文件存取方法 290 9.5.2 程序中的文件存取处理方法 292 第 10 章 作业 295 10.1 ...
全部文件使用系统图标,支持大容量数据库,支持拖拉操作。导入速度一流,比其它同类的软件都快很多(可以在网上找一个同类软件导入过万条记录比较)。上网浏览网页时允许通过定制IE的右键菜单来方便收集网页和图片,...
一款基于IE内核,实现了IE绝大部分功能而又增强IE...支持邮件群发,方便的对邮件帐号和邮件地址管理使用微软的的数据库,ADO操作,可以更快的处理大容量的数据直接操作网络底层支持版本在线升级操作简单方便,一目了然
VSuiteRamdisk是RomexSoftware开发的一款可以利用...支持导入导出虚拟硬盘设置,方便迁移。 单个内存虚拟硬盘容量最大可达2048TB。 最多支持创建128个内存虚拟硬盘。 WDM 驱动,支持即插即用特性。 多语言支持。
虚拟内存硬盘VSuite Ramdisk v4.5 免费版 利用内存...支持导入导出虚拟硬盘设置,方便迁移。 单个内存虚拟硬盘容量最大可达2048TB。 最多支持创建128个内存虚拟硬盘。 WDM 驱动,支持即插即用特性。 多语言支持。
2)系统配置:对配置数据导入和导出,收集信息、安全管理、事件日志查看、阵列性能监控以及其他一些高级配置 3)查看设备信息:硬盘框、控制器、接口模块类型、端口类型、硬盘容量 4)存储资源管理:RAID、LUN、...
FastReport.Net是一款适用于...支持导入和导出RDL格式的图表 丰富的报表元素 以C#语言编写而成并只包含可托管的代码 强大的可扩展性 支持水晶报表转换 强大的可视化设计器 提供完整的源代码 合理的价格与授权规则
利用计算机运算速度快,存储容量大,方便操作的优势,从信息与维护的管理需求出发,经过系统需求分析将系统分为:用户登录管理、设备信息管理、维修管理、用户管理、查询管理、导入导出、数据库访问七大功能模块。...
5.3当数据容量过大时,提示并辅助实施相关数据的导出备份。 5.4系统采用每日增量备份,每月全量备份。 5.5系统具备异地灾备,实现系统所有数据在灾备中心的实时备 份。 5.6数据备份时,不能影响平台系统的正常运行...