50 個のテーブルを含む Johnson という DB があります。この DB を使用するチームから、各テーブルのサイズの見積もりを提供できるかどうか尋ねられました。
SQL Server を使用して、DB 内のすべてのテーブルとそれぞれのサイズ (GB または MB) のリストを表示するにはどうすればよいですか?
50 個のテーブルを含む Johnson という DB があります。この DB を使用するチームから、各テーブルのサイズの見積もりを提供できるかどうか尋ねられました。
SQL Server を使用して、DB 内のすべてのテーブルとそれぞれのサイズ (GB または MB) のリストを表示するにはどうすればよいですか?
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
データベースコンテキストで実行すると、次のような結果が得られます.. Northwind Database
@M.アリ
(Azure から) リモート DB 上の SQL Server Management Studio からスクリプトを実行しようとしましたが、ストアド プロシージャが見つかりません。
Could not find stored procedure 'sp_MSforeachtable'.
Azure DB で実行する場合は、まず、sp_MSforeachtable ストアド プロシージャを作成する次のスクリプトを実行します。