如何仅备份库中表的数据

tangt 2006-07-04 06:17:00
数据不多,表很多。
我现在只需要表里的数据,不需要日志,系统信息等等,
如何方便快捷的导出指定库中表的数据,不要msdb等系统信息。谢谢
...全文
366 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
tangt 2006-09-07
  • 打赏
  • 举报
回复
算了吧,沉了这么久, 自己写一个导出程序了。
结贴
wgqqgw 2006-08-03
  • 打赏
  • 举报
回复
做个DTS咯,可以导出到Excel/Access/TXT……啥都行了,虽然做的时候比较痛苦(楼主好像有很多表,哈哈……)做好了以后调度它每天自动运行就行了啦。如果想再把导出来的文件加工一下,压缩呀、加日期呀什么的就配合着写些简单的批处理啦。
gahade 2006-08-03
  • 打赏
  • 举报
回复
老大的语句:


CREATE PROC sp_CopyObject
@S_DatabaseName sysname, --要复制对象的源数据库名
@D_DatabaseName sysname=NULL, --复制对象的目标数据库名,不指定则为当前库名
@TypeList nvarchar(50)=NULL --以逗号分隔的对象类型列表,只能是P/V/TR/IF/TF/FN之一或者是它们的组合.不指定是所有对象
AS
IF DB_ID(@S_DatabaseName) IS NULL
BEGIN
RAISERROR('源数据库 "%s" 不存在',12,16,@S_DatabaseName)
RETURN
END
IF DB_ID(@D_DatabaseName) IS NULL SET @D_DatabaseName=DB_NAME()

DECLARE @sql nvarchar(4000)
--处理对象类型列表
SET @sql=N''
SELECT @sql=@sql+N','+QUOTENAME(xtype,N'''')
FROM(
SELECT xtype=N'P' UNION ALL SELECT N'IF' UNION ALL
SELECT xtype=N'V' UNION ALL SELECT N'TF' UNION ALL
SELECT xtype=N'TR' UNION ALL SELECT N'FN'
)a WHERE CHARINDEX(N','+xtype+N',',N','+@TypeList+N',')>0
IF @@ROWCOUNT=0 OR @sql=''
SET @TypeList='N''P'',N''V'',N''TR'',N''IF'',''TF'',''FN'''
ELSE
SET @TypeList=STUFF(@sql,1,1,N'')

--获取要复制对象(存储,视图,触发器)的数据
CREATE TABLE #(name sysname,xtype char(2),number smallint,colid smallint,text nvarchar(4000))
SET @sql=N'
INSERT #(name,xtype,number,colid,text)
SELECT o.name,o.xtype,m.number,m.colid,m.text
FROM '+QUOTENAME(@S_DatabaseName)+N'.dbo.sysobjects o,'
+QUOTENAME(@S_DatabaseName)+N'.dbo.syscomments m
WHERE o.id=m.id
AND m.encrypted=0
AND o.xtype IN('+@TypeList+N')
AND o.status>=0'
EXEC sp_executesql @sql

DECLARE tb CURSOR LOCAL
FOR
SELECT N'USE '+QUOTENAME(@D_DatabaseName)+N'
DECLARE @name sysname,@number smallint
SELECT @name='+QUOTENAME(name,N'''')+N',
@number='+CAST(number as varchar)+N'
DECLARE @1 nvarchar(4000),@2 nvarchar(4000),@3 nvarchar(4000),@4 nvarchar(1000)
SELECT @1=N'''',@2=N'''',@3=N''''
SELECT @1=@1+N'',@''+RTRIM(colid)+N'' nvarchar(4000)'',
@2=@2+N'',@''+RTRIM(colid)
+N''=CASE colid WHEN ''+RTRIM(colid)
+N'' THEN text ELSE @''+RTRIM(colid)+N'' END'',
@3=@3+N''+@''+RTRIM(colid)
FROM #
WHERE name=@name AND number=@number
ORDER BY colid
SELECT @1=STUFF(@1,1,1,N''''),
@2=STUFF(@2,1,1,N''''),
@3=STUFF(@3,1,1,N''''),
@4=N'' WHERE name=''+QUOTENAME(@name,N'''''''')
+N'' AND number=''+RTRIM(@number)
IF @NUMBER<2 AND EXISTS(SELECT * FROM sysobjects WHERE name=@name AND xtype='
+QUOTENAME(xtype,N'''')+N') DROP '+CASE xtype
WHEN N'P' THEN N'PROC'
WHEN N'V' THEN N'VIEW'
WHEN N'TR' THEN N'TRIGGER'
ELSE N'FUNCTION' END
+N' '+QUOTENAME(name)+N'
EXEC(N''DECLARE ''+@1+''
SELECT ''+@2+'' FROM # ''+@4+N''
EXEC(''+@3+'')'')'
FROM #
GROUP BY name,xtype,number
OPEN tb
FETCH tb INTO @sql
WHILE @@FETCH_STATUS=0
BEGIN
EXEC sp_executesql @sql
FETCH tb INTO @sql
END
CLOSE tb
DEALLOCATE tb
joyceanne 2006-08-03
  • 打赏
  • 举报
回复
单表导出,只能用手工的方法.(不知道为什么MS不加单表备份的功能,SQL2005也没有这种功能,实际工作中却时有发生)
把这些导出操作写成脚本,以后可以用一个作业来调用,就不用每次都手工做了.
tangt 2006-07-10
  • 打赏
  • 举报
回复
应该能解决吧?怎么没人吭声呢?
单个表可以手动倒,几百张都手动,是不是有点***了
YANG_1994 2006-07-05
  • 打赏
  • 举报
回复
可以直接把数据以.tet文档的格式导出来的
chuifengde 2006-07-04
  • 打赏
  • 举报
回复
导到access怎么导呢



====CSDN 小助手 V2.5 2005年11月05日发布====
CSDN小助手是一款脱离浏览器也可以访问Csdn论坛的软件
界面:http://blog.csdn.net/Qqwwee_Com/archive/2005/11/05/523395.aspx
下载:http://szlawbook.com/csdnv2

being21 2006-07-04
  • 打赏
  • 举报
回复
帅哥,简单的问问,如果可以备份到Access或者EXCEL的话,可以直接导出数据。
这个我会,如果直接的导出到txt 哈哈,没有想过!!!你厉害!如果只是想直接的看,建议用access,我就是这样的,非常的好用。
tangt 2006-07-04
  • 打赏
  • 举报
回复
哦,忘了说了,不是备在其他库里,是文件里,更直白的说,txt里
fcuandy 能否给各关键字,也好查阿
fcuandy 2006-07-04
  • 打赏
  • 举报
回复
在外部程序(指非查询分析器)中使用SQLDMO,很方便。几条语句就可以了。具体写法就不写了,楼主找找资料看看

当然,不怕麻烦也可以在查询分析器中用通过系统存储过程调用COM的方法调用SQLDMO来实现。
模拟生产实战,对一套19.4的rac集群进行数据迁移。迁移到另外的一套19.4的数据集群。生产实战,带领同学一步一步操作。该方法同样适用于迁移单实例数据到集群环境。通过该课程,同学们可以学会如下知识点。1-如何无数据丢失的进行数据迁移。2-catalog start with 如何使用3-restore database 在rman和sql命令行区别是什么4-recover database [using backup controlfile until cancel ]何时在rman使用,何时在sql命令行使用。5-进行数据恢复的时候,源新产生的归档如何进行数据恢复。本节课会为同学们解惑一课程主题模拟生产实战,对一套19.4的rac集群进行数据迁移。迁移到另外的一套19.4的数据集群。 二课程特色 生产实战,带领同学一步一步操作。该方法同样适用于迁移单实例数据到集群环境。  三课程内容 1-备份数据2-在目标备份集进行restore操作3-recover-通过rman进行recover(如何通过catalog start with 进行操作)这个时候的recover是recover哪里的归档?4-recover-通过sql命令行对源新产生的归档进行recover5-注册数据到集群等操作.修改remote_listener,修改密码文件,添加数据到集群软件等操作。6-迁移验证sys用户是否可以登陆,普通用户是否可以登陆?sys用户登陆和普通用户登陆区别是什么?

22,210

社区成员

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

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