统计sql server数据库数据量的命令
时间: 2024-09-10 17:17:26 浏览: 59
用简单模式,对SQLServer数据库收缩
在SQL Server中,你可以使用`sys.objects`系统视图来获取数据库表级别的数据量信息。特别是对于存储过程、函数、视图以及实际的数据表,可以使用以下几种方法:
1. 对于存储过程和函数:
```sql
SELECT COUNT(*) FROM sys.views;
```
2. 对于表(包括基本表和临时表):
```sql
SELECT OBJECT_NAME(object_id), SUM.Rows AS 'Data Rows'
FROM sys.indexes
WHERE is_ms_shipped = 0 AND object_id IN (
SELECT object_id FROM sys.objects WHERE type_desc = 'USER_TABLE' OR type_desc = 'TEMPORARY_TABLE'
)
GROUP BY object_name(object_id);
```
3. 对于所有其他对象(如索引等):
```sql
SELECT name, SUM(rows) as 'Data Rows'
FROM sys.dm_db_partition_stats
WHERE object_id IN (
SELECT object_id
FROM sys.objects
WHERE type_desc NOT IN ('DATABASE', 'INDEX', 'VIEW', 'ROUTINE')
)
GROUP BY name;
```
请注意,这里的`Rows`列代表的是行估计值,不是精确的数据行数。如果你需要准确的行数,可能需要对每个表执行具体的`COUNT(*)`查询。
阅读全文