• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    軟件測試中如何獲取SQL Server數據庫里表的占用容量大小

    發布: 2010-6-24 16:28 | 作者: 網絡轉載 | 來源: 領測軟件測試網采編 | 查看: 28次 | 進入軟件測試論壇討論

    領測軟件測試網

    軟件測試中如何獲取SQL Server數據庫里表的占用容量大小

    其實只要使用系統內置的存儲過程sp_spaceused就可以得到表的相關信息

    如:sp_spaceused 'tablename'

    以下是為了方便寫的一個存儲過程,目的是把當前的所有表的相關信息全部都保存在一個指定的表里面

    CREATE PROCEDURE get_tableinfo AS

    if not exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[tablespaceinfo]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
    create table  tablespaceinfo                         --創建結果存儲表
                  (nameinfo varchar(50) , 
                   rowsinfo int , reserved varchar(20) , 
                   datainfo varchar(20)  , 
                   index_size varchar(20) , 
                   unused varchar(20) )


    delete from tablespaceinfo --清空數據表

    declare @tablename varchar(255)  --表名稱

    declare @cmdsql varchar(500)

    DECLARE Info_cursor CURSOR FOR 
    select o.name  
    from dbo.sysobjects o where OBJECTPROPERTY(o.id, N'IsTable') = 1 
         and o.name not like N'#%%'  order by o.name

    OPEN Info_cursor

    FETCH NEXT FROM Info_cursor 
    INTO @tablename 

    WHILE @@FETCH_STATUS = 0
    BEGIN

      if exists (select * from dbo.sysobjects where id = object_id(@tablename) and OBJECTPROPERTY(id, N'IsUserTable') = 1)
      execute sp_executesql 
             N'insert into tablespaceinfo  exec sp_spaceused @tbname',
              N'@tbname varchar(255)',
              @tbname = @tablename

      FETCH NEXT FROM Info_cursor 
      INTO @tablename 
    END

    CLOSE Info_cursor
    DEALLOCATE Info_cursor
    GO

    執行存儲過程
    exec get_tableinfo

    查詢運行該存儲過程后得到的結果
    select *
    from tablespaceinfo 
    order by cast(left(ltrim(rtrim(reserved)) , len(ltrim(rtrim(reserved)))-2) as int) desc

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    TAG: sql SQL Sql 容量 軟件測試 數據庫 里表


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>