我有一个名为约翰逊的数据库,包含50个表.使用此数据库的团队询问我是否可以为每个表提供大小估计
如何使用SQL Server显示数据库中所有表的列表及其各自的大小(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
Run Code Online (Sandbox Code Playgroud)
在数据库上下文中运行时,给出类似以下结果。.Northwind数据库
