Sql Server中查询数据库所有表及其数据总条数和占用空间

发布时间 2023-03-22 21:13:12作者: 千万少女的梦

1、查询某数据库中的所有数据表

SELECT name 数据表
FROM sysobjects
WHERE xtype='u'
ORDER BY name


2、查询某数据库中的所有数据表及其数据总条数

SELECT a.name 数据表,
b.rows 数据总条数
FROM sysobjects AS a
INNER JOIN sysindexes AS b ON a.id = b.id
WHERE ( a.type = 'u' )
AND ( b.indid IN ( 0, 1 ) )
ORDER BY a.name,b.rows DESC;


3、查询某数据库中的所有数据表及其数据总条数所占用的空间大小

SELECT OBJECT_NAME(id) 数据表,
RTRIM(8 * dpages) + 'KB' 占用空间大小,
rows 数据总条数
FROM sysindexes
WHERE indid = 1
ORDER BY rows DESC ,
数据表 ,
reserved DESC;


4、查询数据库文件路径信息

select * from sys.database_files


5、查询数据库文件大小

--当前数据库服务器所有数据库文件大小
SELECT DB_NAME(database_id) AS DatabaseName,
Name AS Logical_Name,
Physical_Name, (size*8.0)/1024 SizeMB
FROM sys.master_files
GO

--查看某一个数据库的文件大小
SELECT DB_NAME(database_id) AS DatabaseName,
Name AS Logical_Name,
Physical_Name, (size*8.0)/1024 SizeMB
FROM sys.master_files
WHERE DB_NAME(database_id) = 'database数据库名'
GO