你需要做的第一件事是确定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数据库的数据批量导出等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)