取得資料庫中各Table的使用量資訊

  • 185
  • 0
  • SQL
  • 2018-01-15

取得資料庫中各Table的使用量資訊

USE [MIS] GO /****** Object: StoredProcedure [dbo].[取得資料庫中各Table的使用量資訊] Script Date: 2017/04/17 下午 15:03:33 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER PROCEDURE [dbo].[取得資料庫中各Table的使用量資訊] --------------------------------------------------------------------------------- --功  能:取得資料庫中各Table的使用量資訊 --設 計 者:張展嘉 --建立日期:2016/12/16 --修改日期: --範  例: --------------------------------------------------------------------------------- AS SET NOCOUNT ON DBCC UPDATEUSAGE(0) -- DB size. EXEC sp_spaceused -- Table row counts and sizes. CREATE TABLE #t ( [name] NVARCHAR(128), [rows] CHAR(11), reserved VARCHAR(18), data VARCHAR(18), index_size VARCHAR(18), unused VARCHAR(18) ) --把每個Table使用的資訊存到#t之中 INSERT #t EXEC sys.sp_MSforeachtable 'EXEC sp_spaceused ''?''' --依使用空間較大的依序排列並顯示MB SELECT * , LTRIM(STR(CAST(LEFT(reserved,LEN(reserved)-3) AS NUMERIC(18,0)) / 1024, 18)) + 'MB' AS reservedSize_M , LTRIM(STR(CAST(LEFT(data,LEN(data)-3) AS NUMERIC(18,0)) / 1024, 18)) + 'MB' AS dataSize_M , LTRIM(STR(CAST(LEFT(index_size,LEN(index_size)-3) AS NUMERIC(18,0)) / 1024, 18)) + 'MB' AS indexSize_M FROM #t ORDER BY CAST(LEFT(data,LEN(data)-3) AS NUMERIC(18,0)) DESC -- 顯示總共筆數及總共使用資訊 SELECT SUM(CAST([rows] AS int)) AS [rows] , LTRIM(STR(SUM(CAST(LEFT(reserved,LEN(reserved)-3) AS NUMERIC(18,0))) / 1024, 18)) + 'MB' AS sumOfreservedSize_M , LTRIM(STR(SUM(CAST(LEFT(data,LEN(data)-3) AS NUMERIC(18,0))) / 1024, 18)) + 'MB' AS sumOfdataSize_M , LTRIM(STR(SUM(CAST(LEFT(index_size,LEN(index_size)-3) AS NUMERIC(18,0))) / 1024, 18)) + 'MB' AS sumOfindexSize_M FROM #t --DROP TABLE #t

 

興滿逸筑2013年全新完工,位於恆春鎮外圍離市區只要2分鐘車程,有豪華的外觀、有美麗的庭院、也有溫馨舒適的房間,這裡車流量不多,空氣不錯,適合家族或成群結黨的朋友們一同旅遊的好地方。

http://sinmaniz.tw/index.html