如何导出 sql server2005数据库中的所有表数据

如何导出 sql server2005数据库中的所有表数据,第1张

你需要做的第一件事是确定xp_cmdshell是可用的。你可以选择下面两种方法中的一种来实现。

1你可以使用sp_configure并执行下面的脚本。

EXEC masterdbosp_configure 'show advanced options', 1

RECONFIGURE

EXEC masterdbosp_configure 'xp_cmdshell', 1

RECONFIGURE

2你可以使用Surface Area Configuration工具。

选择功能中的Surface Area Configuration并检查Enable xp_cmdshell检验栏。

图一

现在既然你已经使xp_cmdshell可用,那么你可以准备输出你的文件。

下面是一个示例命令,它将把系统文件表的结果输出到以逗号分割的文件bcptesttxt中。只需复制并把它粘贴到一个查询窗口中且执行这个查询。

EXEC xp_cmdshell 'bcp "SELECT  FROM sysfiles" queryout "C:bcptesttxt" -T -c -t,'

注:BCP是一个命令行实用工具,xp_cmdshell要求只能在一个SQL批处理内使用。

当在"master"数据库中执行上面的命令时将得到这个输出结果。

图二

使用的参数是:

l Queryout选项允许你指定一个查询来输出。这可以像我们使用的查询那样简单也可以像你需要的那样复杂。你也可以创建一个视图并从视图中选择数据。

l file name是存储结果的,它位于queryout选项之后。

l -T参数指定bcp实用工具通过集成安全使用一个可信连接来连接到SQL Server。如果你想使用一个SQL Server登陆,那么你可以使用-P(密码)和-U(用户)。

l -c指定将用于各个字段的字符数据类型。

l -t参数允许你指定一个字段定界符。在-t之后的字符将用于隔开数据字段。如果-t被删除了,那么tab将用于默认定界符。

另一个你可能需要使用的参数是-S,你可以用它来指定服务器名称。如果你有一个指定的实例,那么你需要使用这个参数。下面是一个连接到服务器"DEVELOP" 和实例 "DEV1"的例子。

EXEC xp_cmdshell 'bcp "select name, type_desc, create_date from

sysobjects" queryout "C:bcptest2txt" -T -SDEVELOPDEV1 -c -t,'

你也必须知道使用参数-t和-T的实例是不一样的,所以要保证你在实例中使用正确的参数。

工具/原料

SQL数据库

导出数据

确定数据库有数据。在我们导入导出时首先确保数据库里有数据,否者竹篮打水一场空,白忙活了一场,什么结果都没有,这是最痛苦的事情。

新建一个EXCEL文档。我们想要把数据保存什么地方就新建一个对应格式的文档,例如:TXT,EXCEL等,这里咱们保存在EXCEL表格里,如下图,我在桌面du小旺经验文件夹里创建一个EXCEL表格文档,等会导出的数据放在这里。

选择要导出数据的数据库。我们今天导出的是MyKTV数据库的数据,右键MyKtv数据库选择任务--选择导出数据选项。

4

出现如下窗体,点击下一步。

方法/步骤

打开数据库SQL server ,右击数据库选择“任务” “生成脚本”

选择将要导出的数据库

“将编写数据脚本”改为TRUE

选择表

选择下图中表里面要导出表的数据

在这一步要选择将脚本保存到“新建查询”窗口

点击完成,直到生成脚本成功后,点击关闭按钮即可。

不能直接将数据导出成txt,可以间接导出正这个格式,不过导完不是表结构了。

1、将所有表直接导出execl格式的文件,再将execl文件内容拷贝到txt文件中,保存即可。

2、将表用select from 表 查询出来,将结果拷贝到txt中。

--首先创建一个试图

CREATE VIEW dbovw_S_SystemObject

AS

SELECT [Name] AS ObjName, Power(2, SysStat & 0xf) AS ObjType, [ID] AS ObjID

FROM SysObjects

WHERE (POWER(2, Sysstat & 0xf) & 253 <> 0) AND NOT ((ObjectProperty(ID, N'IsDefaultCnst') = 1)

AND (Category & 0x0800 <> 0)) AND (ObjectProperty(ID, N'IsMSShipped') <> 1 AND (name NOT LIKE N'#%'))

--得到所有的数据表的集合

SELECT DISTINCT AObjName

FROM vw_S_SystemObject A

WHERE AObjType = 8

ORDER BY AObjName

--得到所有数据字段的集合

SELECT AObjName AS TableName, B[Name] AS FiledName, C[Name] AS 字段类型, BPrec AS 精度, BScale AS 小数

FROM vw_S_SystemObject A INNER JOIN syscolumns B ON AObjID = B[ID] INNER JOIN systypes C ON BxUserType = CxUserType

WHERE AObjType = 8

ORDER BY AObjName, B[Name]

以上就是关于如何导出 sql server2005数据库中的所有表数据全部的内容,包括:如何导出 sql server2005数据库中的所有表数据、如何用sql将数据库的数据导出来、如何将sql server数据库的数据批量导出等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10168636.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存