顧客から、すべてのテーブルの詳細を含む、データベース スペースの使用状況に関するレポートを作成するためのクエリを作成するように依頼されました。
他の人に役立つかもしれないと考えて、ここに私の解決策を投稿します。
コメントと可能な改善を投稿してください。たとえば、MySql データベースで同じ結果を得る方法を知りたいです。
顧客から、すべてのテーブルの詳細を含む、データベース スペースの使用状況に関するレポートを作成するためのクエリを作成するように依頼されました。
他の人に役立つかもしれないと考えて、ここに私の解決策を投稿します。
コメントと可能な改善を投稿してください。たとえば、MySql データベースで同じ結果を得る方法を知りたいです。
このクエリは、Microsoft Sql Server 2000 以降で機能します。
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)
) 
INSERT #t EXEC sp_msForEachTable 'EXEC sp_spaceused ''?''' 
SELECT *
FROM   #t
-- # of rows.
SELECT SUM(CAST([rows] AS int)) AS [rows]
FROM   #t
DROP TABLE #t