日期:2014-05-18  浏览次数:20669 次

问两个问题:获取数据库可用空间大小,导出表格内容到txt文件
以下两个问题都要求用Sql语句实现.
1、怎样获取数据库可用空间大小,请注意是可用空间,不是数据库文件的大小。
2、怎样把数据库表格中的内容导出到txt文件,如果有二进制字段的表格,怎样导出到dat文件或其他格式的文件?

------解决方案--------------------
sp_spaceused
显示行数、保留的磁盘空间以及当前数据库中的表所使用的磁盘空间,或显示由整个数据库保留和使用的磁盘空间。

语法
sp_spaceused [[@objname =] 'objname']
[,[@updateusage =] 'updateusage']

参数
[@objname =] 'objname'

是为其请求空间使用信息(保留和已分配的空间)的表名。objname 的数据类型是 nvarchar(776),默认设置为 NULL。

[@updateusage =] 'updateusage'

表示应在数据库内(未指定 objname 时)还是在特定的对象上(指定 objname 时)运行 DBCC UPDATEUSAGE。值可以是 true 或 false。updateusage 的数据类型是 varchar(5),默认设置为 FALSE。

返回代码值
0(成功)或 1(失败)


------解决方案--------------------
那就要这样了
SQL code

--查询库信息
exec sp_spaceused  
--查询该库表信息
exec sp_spaceused  表名
--查所有数据库的信息
select database_id,type,name,size from sys.master_files
--查数据库名的信息
select database_id,type,name,size from sys.master_files
where name like '%'+'数据库名'+'%'