sql server查看表大小

查看SqlServer 数据库中各个表多少行 :

SELECT A.NAME ,B.ROWS FROM sysobjects A JOIN sysindexes B ON A.id = B.id WHERE A.xtype = ‘U‘ AND B.indid IN(0,1) ORDER BY B.ROWS DESC

数据库磁盘占用量:

select name, CAST(convert(float,size) * (8192.0/1024.0)/1024 AS nvarchar)+‘MB‘ AS CP from CDR.dbo.sysfiles
where name = ‘CDR‘

==================================

以下是sp_spaceused和sp_MSforeachtable具体的使用示例:

exec sp_spaceused ‘表名‘            (查询表所占空间) 
exec sp_spaceused ‘表名‘, true       (更新表的空间大小,准确的表空大小) 
exec sp_spaceused                    (数据库大小查询) 
exec sp_MSforeachtable "exec sp_spaceused ‘?‘"     (所有用户表空间表小,SQL统计数据,,大量事务操作后可能不准) 
exec sp_MSforeachtable "exec sp_spaceused ‘?‘,true"    (所有用户表空间表小,大数据库慎用)

====================详细版============================

做一个项目,第一件事情就是问:“这个数据库多大?”

下面是统计数据库数据量大小的方法

通常我们会使用命令: "sp_helpdb @dbname"

例如,查询数据库"testdb3"的使用量

exec sp_helpdb testdb3

"sp_helpdb"是最常用的命令,

但是注意:该命令显示的数据库大小"db_size"并不是指现存有效数据的大小,而是指:数据库物理文件 “数据文件大小 + 日志文件大小”的总和

例如上例中,数据库"testdb3"对应的数据文件和日志文件:

218.112 + 916.352 = 1107.88MB

数据库创始之初,数据文件和日志文件的初始大小都是默认的2M或3M

当插入数据后,数据文件和日志文件的大小会随着数据量的增长而增长

但是当删除数据的时候,会发生什么情况呢?

数据文件、日志文件会变小么?不会的,还是保持原来的大小

怎样获取有效数据的大小?

答案是使用"sp_spaceused"存储过程分别统计每张表的数据量

1)  统计单个表的使用空间

exec sp_spaceused ‘dbo.t1‘

2) 统计每个表的使用空间

exec sp_MSforeachtable "exec sp_spaceused ‘?‘"

---------------------
版权声明:本文为CSDN博主「Architect_csdn」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/architect_csdn/article/details/89223308

原文地址:https://www.cnblogs.com/bdqczhl/p/11357651.html

时间: 2024-10-17 18:56:02

sql server查看表大小的相关文章

SQL Server查看表结构及视图,适合开发者使用,简单易用

SELECT * FROM INFORMATION_SCHEMA.TABLES SELECT * FROM INFORMATION_SCHEMA.COLUMNS 查看执行结果 SQL Server查看表结构及视图,适合开发者使用,简单易用,布布扣,bubuko.com

SQL Server 查看表定义的 2 种方法

方法 1. 用SQL Server Management Studio 第一步找到要查看的表,右键 第二步点设计 方法 2. sp_help @objname = 'tableName' execute sp_help @objname = 'Nums';

SQL Server查看表信息

1. sp_spaceused 计算数据和索引使用的磁盘空间量以及当前数据库中的表所使用的磁盘空间量.如果没有给定 objname,sp_spaceused 则报告整个当前数据库所使用的空间. 语法 sp_spaceused [[@objname =] 'objname']     [,[@updateusage =] 'updateusage'] 示例: EXEC sp_spaceused Tbl1000,true 如果省略 objname,则返回两个结果集. 列名 数据类型 描述 datab

sql server 查看表的死锁和Kill 死锁进程

查询出来 select        request_session_id spid,       OBJECT_NAME(resource_associated_entity_id) tableName    from        sys.dm_tran_locks   where        resource_type='OBJECT 杀死死锁进程 kill spid 另: exec master.dbo.sp_who_lock --查看当前死锁进程 exec master.dbo.p_

sql server查看表是否死锁

1,查看那个表死锁 select object_name(resource_associated_entity_id) as tableName, request_session_id as pid from sys.dm_tran_locks where resource_type = 'OBJECT' 2,结束死锁的进程 kill 70 原文地址:https://www.cnblogs.com/zique/p/9438663.html

sql server 查看列备注、类型、字段大小

select 列名 = a.name ,类型 = c.name ,长度 = columnproperty(a.id,a.name,'precision') ,备注 = g.value from syscolumns a left join sysobjects b on a.id=b.id left join systypes c on a.xusertype = c.xusertype left join sysproperties g on a.id =g.id and a.colid =g

千万级SQL Server数据库表分区的实现

千万级SQL Server数据库表分区的实现 2010-09-10 13:37 佚名 数据库 字号:T | T 一般在千万级的数据压力下,分区是一种比较好的提升性能方法.本文将介绍SQL Server数据库表分区的实现. AD:51CTO 网+ 第十二期沙龙:大话数据之美_如何用数据驱动用户体验 最近使用SQL SERVER一个的缓存,数据量一天100w的速度增长,同时接受客户查询,速度由于数据量越来越大越来越慢,这里感谢  KillKill 和 邀约, 最近读了一套书不错,感兴趣的同学可以读读

SQL Server系统表sysobjects介绍与使用

原文:SQL Server系统表sysobjects介绍与使用 关于SQL Server数据库的一切信息都保存在它的系统表格里.我怀疑你是否花过比较多的时间来检查系统表格,因为你总是忙于用户表格.但是,你可能需要偶尔做一点不同寻常的事,例如数据库所有的触发器.你可以一个一个地检查表格,但是如果你有500个表格的话,这可能会消耗相当大的人工. 这就让sysobjects表格有了用武之地.虽然我不建议你更新这个表格,但是你当然有权对其进行审查. sysobjects 表 在数据库内创建的每个对象(约

将txt文件内容导入sql server 数据库表中

将类似这样的txt文件,如何导入到sql server 数据库表中呢? 第一步,在开始菜单中 找到 sql server 的导入和导出数据 然后,在数据源 的下拉框中 选择 平面文件源 基本都是点击 下一步 选择好要导入数据的数据库 与表: 编辑映射 : 点击下一步 执行 然后 完成 查看数据库 表 数据已经导入 成功