--1--返回所有数据库信息(数据库名,创建日期,存储路径等)
select * from dbo.sysdatabases
--2--返回当前数据库所有对象(可根据type字段过滤出用户表,索引等)
SELECT * FROM SYS.objects WHERE TYPE='U'
--3--查询指定库中所有表信息(记录数,使用空间等)
exec sp_MSForEachTable
@precommand=N'create table ##(
表名 sysname,
记录数 int,
保留空间 Nvarchar(100),
使用空间 varchar(100),
索引使用空间 varchar(100),
未用空间 varchar(100))',
@command1=N'insert ## exec sp_spaceused ''?''',
@postcommand=N'select * from ## order by 记录数 desc'
DROP TABLE ##
--4--返回指定库所有表的记录数(使用系统函数sp_MSforeachtable(Table))
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;