微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

sqlserver查询表空间大小,使用大小,数据条数

查询表空间大小,使用大小,总记录数

DROP TABLE #temp
CREATE TABLE #temp
    (
      name VARCHAR(100),rows INT,reserved varchar(20),data varchar(20),index_size varchar(20),unused varchar(20)
      
    )
  
DECLARE @tablename VARCHAR(100)
DECLARE @sql VARCHAR(500)
DECLARE @str VARCHAR(100)
DECLARE tablecursor CURSOR
FOR
    SELECT  name
    FROM    sysobjects
    WHERE   xtype = 'u' 
OPEN tablecursor
FETCH NEXT FROM tablecursor INTO @tablename
WHILE @@fetch_status = 0 
    BEGIN
        SET @str = @tablename
        SET @sql = 'insert into  #temp EXEC sp_spaceused ' + @tablename  
        EXEC(@sql) 
        FETCH NEXT FROM tablecursor INTO @tablename
    END
CLOSE tablecursor
DEALLOCATE tablecursor
SELECT  *
FROM    #temp 

查询表记录数:

 
DROP TABLE #temp
CREATE TABLE #temp
    (
      Recordcount INT,tableName VARCHAR(100)
    )
    
DECLARE @tablename VARCHAR(100)
DECLARE @sql VARCHAR(500)
DECLARE @str VARCHAR(100)
DECLARE tablecursor CURSOR
FOR
    SELECT  name
    FROM    sysobjects
    WHERE   xtype = 'u' 
OPEN tablecursor
FETCH NEXT FROM tablecursor INTO @tablename
WHILE @@fetch_status = 0 
    BEGIN
        SET @str = @tablename
        SET @sql = 'insert into #temp(recordcount,tablename) select count(*),'
            + '''' + @tablename + '''' + ' from ' + @tablename
        EXEC(@sql) 
        FETCH NEXT FROM tablecursor INTO @tablename
    END
CLOSE tablecursor
DEALLOCATE tablecursor
SELECT  *
FROM    #temp  ORDER BY Recordcount

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐