问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

使用T-SQL备份数据库

发布网友 发布时间:2022-04-07 19:49

我来回答

2个回答

懂视网 时间:2022-04-08 00:10

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.数据导入导出工具的简单用法a.DTS
DTS是一组图形工具和可编程对象,是开发者可以将取自完全的不同源的数据析取、转换并合并成一个或者多个。
它的特点就是可以融合完全不同源的数据源 这在企业改进中应用很大 。
这里涉及到一个DTS包,它是一个有组织的链接、DTS任务、DTS转换和工作流约束的集合。
关于DTS的操作请参看相关具体文献。

b.BCP 
它常用于将大量的数据从另外的程序转移到SQL SERVER表中。当然也可以用于将表中数据传输到数据文件中。
下面是一些BCP的简单用法(关于很多的选项使用看相关文档)

SQL code --前序,开启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使用工具快。
小例子:

SQL code --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.分布式查询

SQL code --包含访问 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。

 

原文:http://blog.csdn.net/leixg/article/details/6256063

数据库备份作业的T-SQL语句

标签:

热心网友 时间:2022-04-07 21:18

backup database yourdb to disk='c:\dbbak.bak'
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
诺基亚5233直签工具 我的5233下了证书、也在塞班官网上在线签名了、怎么还是提示证实书错误... 你好 就是我用的诺基亚5233直签工具就是用不了什么受证书限制内部错误... 请问哪里有做餐用包装纸巾的.厂 怎么在餐巾纸上或者纸巾包装上打广告? 广告餐巾纸广告餐巾纸的分类 广告餐巾纸广告餐巾纸的制作形式 ...支付密码一样呢?支付密码和银行卡的关系是什么?求解答, ...今天是怎么了,换了数据线也不行,同事的M1也一样不能充电... 小米M1和小米青春版就是CPU和内存不一样,我是学生,买哪一个比较好? 在借呗借一千元,利息是多少 蚂蚁借呗1000元利息是多少 支付宝借呗一千元一天利息多少 我用蚂蚁借呗借1000元钱,如果一个月内还的话大概需要多少利息?提前换合适吧?_百度问一问  请问蚂蚁借呗日利率0.4%,如果我借款1000,每一天的利息是多少,一个月的利息又是多少? 地心(地球的中心)是什么 ❓ 地球中心是什么? vivo戴着耳机可以录制手机里的声音吗 地球的核心处有哪些东西?你有什么看法? 地球的核心处有什么东西? 签了KTV转让合同还没开业就被关门了能要回损失吗? 地球中心是什么?_? 转让协议怎么写格式怎么写 化学元素周期表的元素读音 th是什么化学试剂 什么是th? th是什么意思?什么缩写? TH的化学名称是什么??? 奔驰保养周期是多少? 奔驰发动机多久做保养一次? 苹果手机输入法如何使用3D滑行光标 怎样在EXCEL中设置2级查找菜单 在excel中能否在菜单中输入查找,怎么使用 excel 下拉 查找 菜单 excel的菜单栏全不见了,但是word、ppt的菜单栏正常。怎么找出excel菜单,求解。 excel如何将查找显示在菜单上 一直都在用索尼的手机,iphone当备用机,索尼出了xz2p时候好激动决定好要买,但是要7月才发布 索尼z5p 和 xz 买哪个好一点 因为 5p有4k分辨率 所以我选择又开始困难了 梦到找对象好难,梦里自己振振有词的知道自己的要求,别人不太容易达到,让别人介绍,别人也觉得不太容易 帮我解梦。 梦见找对象没找合适在哭 和前妻离婚半年多了,昨晚突然梦见我去找前妻找不到,然后向她同事打听,说她已经找对象了了,求解梦 梦到自己相亲看不到对方的脸,目前单身 找对象找不到怎么办? 好朋友女朋友小说txt全集免费下载 求,女主是男主好朋友的女朋友的小说,最好是校园的!! 女朋友的女朋友的txt全集下载地址 推荐一部喜欢上男朋友好兄弟或喜欢上好兄弟女朋友的小说 之前看过一部小说,写的是女主和男主相遇时,女主是男主朋友的女朋友,两个人相见恨晚心心相惜,可男主却 女朋友的女朋友电子书txt全集下载