您的位置:首页 > 数据库

sql查询表大小行数以及使用空间

2014-10-14 18:23 225 查看
DECLARE @D DATETIME
SET @D=GETDATE()

SET NOCOUNT ON
EXEC SP_MSFOREACHTABLE
@PRECOMMAND=N'
CREATE TABLE ##(
ID INT IDENTITY,
表名 SYSNAME,
字段数 INT,
记录数 INT,
保留空间 NVARCHAR(20),
使用空间 VARCHAR(20),
索引使用空间 VARCHAR(20),
未用空间 VARCHAR(20))',
@COMMAND1=N'INSERT ##(表名,记录数,保留空间,使用空间,索引使用空间,未用空间) EXEC SP_SPACEUSED ''?''
UPDATE ## SET 字段数=(SELECT COUNT(*) FROM SYSCOLUMNS WHERE ID=OBJECT_ID(''?'')) WHERE ID=SCOPE_IDENTITY()',
@POSTCOMMAND=N'SELECT * FROM ## ORDER BY 记录数 DESC DROP TABLE ##'
SET NOCOUNT OFF

SELECT [语句执行花费时间(毫秒)]=DATEDIFF(MS,@D,GETDATE())
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: