sqlserver2000 数据库的几个库的可用空间为0MB

wangchao_email 2009-04-08 03:27:40
sqlserver2000 数据库的几个库的可用空间为0MB,但是数据库操作正常,日志为1MB,数据库文件和日志文件都设定为自动增长10%,但是它却一直是可用空间为0MB

操作系统Windows 2003 Server
数据库是从原来的Windows2000上导入的,导入方法是用附加进来的

不知道是为什么,有没有高手帮忙解答一下,谢谢啦。
...全文
148 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
claro 2009-04-08
  • 打赏
  • 举报
回复
http://blog.csdn.net/claro/archive/2008/10/09/3040302.aspx
查询数据库空间使用状况

/*-- ===================================================================

版本: SQL Server 2000, 2005

功能: 查询数据库空间使用状况

=================================================================== --*/



USE [要查询空间信息的库名]

GO

claro 2009-04-08
  • 打赏
  • 举报
回复

--2005查询表空间使用情况
SELECT

ServerName = CONVERT(sysname, SERVERPROPERTY('ServerName')),

DatabaseID = DB_ID(),

DatabaseName = DB_NAME(),

ObjectID = DATA.id,

Owner = USER_NAME(DATA.uid),

ObjectName = DATA.Name,

Reserved = CONVERT(decimal(15, 2), DATA.Reserved / SPER.PageSperMB),

DataSize = CONVERT(decimal(15, 2), (DATA.DataSize + DATA.[TextSize]) / SPER.PageSperMB),

IndexSize = CONVERT(decimal(15, 2), (DATA.IndexSize - DATA.DataSize - DATA.[TextSize]) / SPER.PageSperMB),

UnUsedSize = CONVERT(decimal(15, 2), (DATA.Reserved - DATA.IndexSize) / SPER.PageSperMB),

DATA.Rows

FROM(

SELECT

O.id, O.uid, O.name, O.xtype,

Reserved = ISNULL(SUM(CASE WHEN IX.indid IN (0, 1, 255) THEN CONVERT(dec(15), IX.reserved) ELSE 0 END), 0),

DataSize = ISNULL(SUM(CASE WHEN IX.indid < 2 THEN CONVERT(dec(15), IX.dpages) ELSE 0 END), 0),

[TextSize] = ISNULL(SUM(CASE WHEN IX.indid = 255 THEN CONVERT(dec(15), IX.used) ELSE 0 END), 0),

IndexSize = ISNULL(SUM(CASE WHEN IX.indid IN (0, 1, 255) THEN CONVERT(dec(15), IX.used) ELSE 0 END), 0),

Rows = ISNULL(MAX(CASE WHEN IX.indid < 2 THEN IX.rows ELSE 0 END), 0)

FROM dbo.sysindexes IX WITH(NOLOCK)

INNER JOIN dbo.sysobjects O WITH(NOLOCK)

ON IX.id = O.id

WHERE O.xtype IN ( 'U')--, 'S')

AND O.status > =0

AND (IX.indid < 2 OR IX.indid = 255)

GROUP BY O.id, O.uid, O.name, O.xtype

)DATA

CROSS JOIN(

SELECT PageSperMB = 1048576. / low, low

FROM master.dbo.spt_values

WHERE number = 1

AND type = 'E'

)SPER

ORDER BY ObjectName, Owner

GO
wangchao_email 2009-04-08
  • 打赏
  • 举报
回复
没人知道?

22,297

社区成员

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

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