首页 > 数据库 > SQL Server >

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

2014-10-15

DECLARE @D DATETIME SET @D=GETDATE() SET NOCOUNT ON EXEC SP_MSFOREACHTABLE @PRECOMMAND=N& 39; CREATE TABLE ( ID INT IDENTITY, 表名 SYSNAME, 字段数 INT, 记录数 INT, 保留空间 NV

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())

相关文章
最新文章
热点推荐