如何查询某张表占用多少物理空间

bean_sql 2012-04-09 03:00:59
数据库是SQL 2008 R2
刚开始数据库也就100M
但是用了不到2个月,
发现已经500M了
想每张表占用了多少?
请教如何查询?
...全文
273 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
gogodiy 2012-04-10
  • 打赏
  • 举报
回复
MSSQL2008及以上:
exec sp_helpdb '数据库名' --查看指定数据库
exec sp_databases --查看全部数据库
勿勿 2012-04-09
  • 打赏
  • 举报
回复
压缩日志? 网上一大把
bean_sql 2012-04-09
  • 打赏
  • 举报
回复
感谢你的脚本,
我把 sysobjects 的过滤条件=‘U' 去掉,
汇总后的大小: 350M左右
请问剩下的150M是否是日志占用的?
有什么办法能释下日志,
让数据库整体变小..


[Quote=引用 2 楼 的回复:]

SQL code


DECLARE @tablespaceinfo TABLE (
nameinfo varchar(50),
rowsinfo int,
reserved varchar(20),
datainfo varchar(20),
index_size varchar(20),
unused varchar(……
[/Quote]
笨熊熊 2012-04-09
  • 打赏
  • 举报
回复


DECLARE @tablespaceinfo TABLE (
nameinfo varchar(50),
rowsinfo int,
reserved varchar(20),
datainfo varchar(20),
index_size varchar(20),
unused varchar(20)
)

DECLARE @tablename varchar(255);

DECLARE Info_cursor CURSOR FOR
SELECT [name] FROM sys.tables WHERE type='U';

OPEN Info_cursor
FETCH NEXT FROM Info_cursor INTO @tablename

WHILE @@FETCH_STATUS = 0
BEGIN
insert into @tablespaceinfo exec sp_spaceused @tablename
FETCH NEXT FROM Info_cursor
INTO @tablename
END

CLOSE Info_cursor
DEALLOCATE Info_cursor

SELECT * FROM @tablespaceinfo
ORDER BY Cast(Replace(reserved,'KB','') as INT) DESC




不知道是不是问的这个东西。。
黄_瓜 2012-04-09
  • 打赏
  • 举报
回复
exec sp_MSforeachtable@command1="print '?' exec sp_MStablespace '?'"  

22,206

社区成员

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

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