您的位置:首页 > 数据库

SQL Server 2008系统信息查询常用命令 查看表大小、记录数等

2013-08-29 12:17 585 查看
1、返回所有数据库信息(数据库名,创建日期,存储路径等)。

use master;
GO
select * from dbo.sysdatabases


2、返回当前数据库所有对象(可根据type字段过滤出用户表,索引等)。

USE AdventureWorks2008R2;
GO
SELECT * FROM SYS.objects WHERE TYPE='U'


3、查询指定库中所有表信息(记录数,使用空间等)。

USE AdventureWorks2008R2;
GO
exec sp_MSForEachTable
@precommand=N'create table ##(
表名 sysname,
记录数 int,
保留空间 Nvarchar(10),
使用空间 varchar(10),
索引使用空间 varchar(10),
未用空间 varchar(10))',
@command1=N'insert ## exec sp_spaceused ''?''',
@postcommand=N'select * from ## order by 记录数 '

DROP TABLE ##


结果如下:

表名 记录数 保留空间 使用空间 索引使用空间 未用空间
---------- ----------- ---------- ---------- ------------ ----------
discounts 3 16 KB 8 KB 8 KB 0 KB
stores 6 24 KB 8 KB 16 KB 0 KB

4、返回指定库所有表的记录数(使用系统函数sp_MSforeachtable(Table))。

USE AdventureWorks2008R2;
go
CREATE TABLE #temp (TableName VARCHAR (255), RowCnt INT)
EXEC sp_MSforeachtable 'INSERT INTO #temp SELECT ''?'', COUNT(*) FROM ?'
SELECT TableName, RowCnt FROM #temp ORDER BY RowCnt

DROP TABLE #temp;


全部在SQL Server 2008 R2环境下测试通过。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: