数据库空间大小问题咨询 各位大侠:我这边有一个sql server2000数据库,现在的现象是从管理界面上看还有50G的空间,可是从命令查看却只有0G的空间,不知道造成这种现象的原因是什么? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 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(失败)结果集如果省略 objname,则返回两个结果集。列名 数据类型 描述 database_name varchar(18) 当前数据库的名称。 database_size varchar(18) 当前数据库的大小。 unallocated space varchar(18) 数据库的未分配空间。 列名 数据类型 描述 reserved varchar(18) 保留的空间总量。 Data varchar(18) 数据使用的空间总量。 index_size varchar(18) 索引使用的空间。 Unused varchar(18) 未用的空间量。 如果指定参数,则返回下面的结果集。列名 数据类型 描述 Name nvarchar(20) 为其请求空间使用信息的表名。 Rows char(11) objname 表中现有的行数。 reserved varchar(18) 为 objname 表保留的空间总量。 Data varchar(18) objname 表中的数据所使用的空间量。 index_size varchar(18) objname 表中的索引所使用的空间量。 Unused varchar(18) objname 表中未用的空间量。 注释sp_spaceused 计算数据和索引使用的磁盘空间量以及当前数据库中的表所使用的磁盘空间量。如果没有给定 objname,sp_spaceused 则报告整个当前数据库所使用的空间。当指定 updateusage 时,Microsoft® SQL Server™ 扫描数据库中的数据页,并就每个表使用的存储空间对 sysindexes 表作出任何必要的纠正。例如会出现这样一些情况:当除去索引后,表的 sysindexes 信息可能不是当前的。该进程在大表或数据库上可能要花一些时间运行。只有当怀疑所返回的值不正确,而且该进程对数据库中的其它用户或进程没有负面影响时,才应使用该进程。如果首选该进程,则可以单独运行 DBCC UPDATEUSAGE。权限执行权限默认授予 public 角色。示例A. 有关表的空间信息下例报告为 titles 表分配(保留)的空间量、数据使用的空间量、索引使用的空间量以及由数据库对象保留的未用空间量。USE pubsEXEC sp_spaceused 'titles'B. 有关整个数据库的已更新空间信息下例概括当前数据库使用的空间并使用可选参数 @updateusage。 USE pubssp_spaceused @updateusage = 'TRUE'权限执行权限默认授予 public 角色。 我就是用的sp_spaceused 这个语句的。昨天分配了50G,然后从管理界面看还有100G,执行语句来查看剩下50G空间。这个应该是没有问题的。怎么可以上传图,让您看看 应该是刷新的问题试试这个:use dbnamegoEXEC sp_spaceused null,true 执行下面语句use dbnamegoEXEC sp_spaceused null,true对数据库有影响么? 求SQL语句,有没有周末上班的高手,给帮个忙吧! 拆分字符 关于SQL的列插入方面的问题 高手指教 菜B问题,肯请牛B的大锅回来一下 关于convert的查询疑问 请高手帮忙 SQL SERVER 错误945求解 急急急 case when的用法,为什么不能用and 求access 数据库查询方法 面试问题,,, SQL monitor在WIN10系统上无法运行 SQL2005新建维护计划时提示“找不到方法...” mssql 小数问题
显示行数、保留的磁盘空间以及当前数据库中的表所使用的磁盘空间,或显示由整个数据库保留和使用的磁盘空间。语法
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(失败)结果集
如果省略 objname,则返回两个结果集。列名 数据类型 描述
database_name varchar(18) 当前数据库的名称。
database_size varchar(18) 当前数据库的大小。
unallocated space varchar(18) 数据库的未分配空间。 列名 数据类型 描述
reserved varchar(18) 保留的空间总量。
Data varchar(18) 数据使用的空间总量。
index_size varchar(18) 索引使用的空间。
Unused varchar(18) 未用的空间量。
如果指定参数,则返回下面的结果集。列名 数据类型 描述
Name nvarchar(20) 为其请求空间使用信息的表名。
Rows char(11) objname 表中现有的行数。
reserved varchar(18) 为 objname 表保留的空间总量。
Data varchar(18) objname 表中的数据所使用的空间量。
index_size varchar(18) objname 表中的索引所使用的空间量。
Unused varchar(18) objname 表中未用的空间量。
注释
sp_spaceused 计算数据和索引使用的磁盘空间量以及当前数据库中的表所使用的磁盘空间量。如果没有给定 objname,sp_spaceused 则报告整个当前数据库所使用的空间。当指定 updateusage 时,Microsoft® SQL Server™ 扫描数据库中的数据页,并就每个表使用的存储空间对 sysindexes 表作出任何必要的纠正。例如会出现这样一些情况:当除去索引后,表的 sysindexes 信息可能不是当前的。该进程在大表或数据库上可能要花一些时间运行。只有当怀疑所返回的值不正确,而且该进程对数据库中的其它用户或进程没有负面影响时,才应使用该进程。如果首选该进程,则可以单独运行 DBCC UPDATEUSAGE。权限
执行权限默认授予 public 角色。示例
A. 有关表的空间信息
下例报告为 titles 表分配(保留)的空间量、数据使用的空间量、索引使用的空间量以及由数据库对象保留的未用空间量。USE pubs
EXEC sp_spaceused 'titles'B. 有关整个数据库的已更新空间信息
下例概括当前数据库使用的空间并使用可选参数 @updateusage。 USE pubs
sp_spaceused @updateusage = 'TRUE'权限
执行权限默认授予 public 角色。
昨天分配了50G,然后从管理界面看还有100G,执行语句来查看剩下50G空间。这个应该是没有问题的。怎么可以上传图,让您看看
go
EXEC sp_spaceused null,true
use dbname
go
EXEC sp_spaceused null,true对数据库有影响么?