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

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

你可能感兴趣的:(SQL,数据库)