SQL Server查看所有表大小,所占空间
2017-08-17 14:30
316 查看
今天从一台服务器中备份数据库到另一台服务器中,然后进行数据恢复的时候,删除了数据库中很多表和数据,还有日志,发现备份恢复后的数据库还是很大,所以就想查询一下表大小和所占空间大小。
SQL代码如下:
create table #Data(name varchar(100),row varchar(100),reserved varchar(100),data varchar(100),index_size varchar(100),unused varchar(100))
declare @name varchar(100)
declare cur cursor for
select name from sysobjects where xtype='u' order by name
open cur
fetch next from cur into @name
while @@fetch_status=0
begin
insert into #data
exec sp_spaceused @name --取得表占用空間
print @name
fetch next from cur into @name
end
close cur
deallocate cur
create table #DataNew(name varchar(100),row int,reserved int,data int,index_size int,unused int)
insert into #dataNew
select name,convert(int,row) as row,convert(int,replace(reserved,'KB','')) as reserved,convert(int,replace(data,'KB','')) as data,
convert(int,replace(index_size,'KB','')) as index_size,convert(int,replace(unused,'KB','')) as unused from #data
select * from #dataNew order by data desc 关键语句是:
exec sp_spaceused '表名' --取得表占用空间
exec sp_spaceused '' --数据库所有空间
简单介绍一下系统内置的sp_spaceused 存储过程:
sp_spaceused [ @objname=], [ @updateusage=]
参数
[@objname =] 'objname'
是为其请求空间使用信息(保留和已分配的空间)的表名。objname 的数据类型是 nvarchar(776),默认设置为 NULL。
[@updateusage =] 'updateusage'
表示应在数据库内(未指定 objname 时)还是在特定的对象上(指定 objname 时)运行 DBCC UPDATEUSAGE。值可以是 true 或 false。updateusage 的数据类型是 varchar(5),默认设置为 FALSE。
返回代码值
0(成功)或 1(失败)
结果集
如果省略 objname,则返回两个结果集。
如果指定参数,则返回下面的结果集。
参考文章:
查询SQL 表大小和所占空间:http://www.cnblogs.com/nikyxxx/archive/2012/10/08/2715423.html
详细介绍sp_spaceused 存储过程用法:http://www.yesky.com/imagesnew/software/tsql/ts_sp_sa-sz_0kro.htm
SQL代码如下:
create table #Data(name varchar(100),row varchar(100),reserved varchar(100),data varchar(100),index_size varchar(100),unused varchar(100))
declare @name varchar(100)
declare cur cursor for
select name from sysobjects where xtype='u' order by name
open cur
fetch next from cur into @name
while @@fetch_status=0
begin
insert into #data
exec sp_spaceused @name --取得表占用空間
print @name
fetch next from cur into @name
end
close cur
deallocate cur
create table #DataNew(name varchar(100),row int,reserved int,data int,index_size int,unused int)
insert into #dataNew
select name,convert(int,row) as row,convert(int,replace(reserved,'KB','')) as reserved,convert(int,replace(data,'KB','')) as data,
convert(int,replace(index_size,'KB','')) as index_size,convert(int,replace(unused,'KB','')) as unused from #data
select * from #dataNew order by data desc 关键语句是:
exec sp_spaceused '表名' --取得表占用空间
exec sp_spaceused '' --数据库所有空间
简单介绍一下系统内置的sp_spaceused 存储过程:
sp_spaceused [ @objname=], [ @updateusage=]
参数
[@objname =] 'objname'
是为其请求空间使用信息(保留和已分配的空间)的表名。objname 的数据类型是 nvarchar(776),默认设置为 NULL。
[@updateusage =] 'updateusage'
表示应在数据库内(未指定 objname 时)还是在特定的对象上(指定 objname 时)运行 DBCC UPDATEUSAGE。值可以是 true 或 false。updateusage 的数据类型是 varchar(5),默认设置为 FALSE。
返回代码值
0(成功)或 1(失败)
结果集
如果省略 objname,则返回两个结果集。
如果指定参数,则返回下面的结果集。
参考文章:
查询SQL 表大小和所占空间:http://www.cnblogs.com/nikyxxx/archive/2012/10/08/2715423.html
详细介绍sp_spaceused 存储过程用法:http://www.yesky.com/imagesnew/software/tsql/ts_sp_sa-sz_0kro.htm
相关文章推荐
- SQL Server查看所有表大小,所占空间
- SQL Server查看所有表大小,所占空间
- SQL Server查看所有表大小、表行数和占用空间信息
- SQL Server查看所有表大小,所占空间
- SQL Server查看所有表大小,所占空间
- SQL Server查看所有表大小,所占空间
- SQL Server查看所有表大小,所占空间
- SQL Server查看所有表大小,所占空间
- SQL Server查看所有表所占空间大小
- SQL Server查看所有表大小,所占空间
- SQL Server查看所有表大小,所占空间
- SQL Server查看所有表大小,所占空间
- SQL Server查看所有表大小,所占空间
- 查看Sql Server所有表占用的空间大小
- SQL Server查看所有表大小,所占空间
- SQL Server查看所有表大小,所占空间
- 常用SQL:看全部表的空间大小|tempdb使用情况|清空日志|查看日志|查看数据库表|禁用所有约束|系统表|系统视图
- SQL Server 游标运用:查看所有数据库所有表大小信息
- linue查看当前所有文件夹空间大小
- Linux:centos释放缓存,查看磁盘空间大小,xxx文件夹, 查看文件夹大小,查看剩余内存,查看xxx软件位置,统计某文件夹,统计某文件夹下目录数量,查看文件夹大小,给文件夹下所有的文件赋值权限