如何使用SQL Server在单个数据库中分析表的大小?

TZ1*_*100 5 sql sql-server

我有一个名为约翰逊的数据库,包含50个表.使用此数据库的团队询问我是否可以为每个表提供大小估计

如何使用SQL Server显示数据库中所有表的列表及其各自的大小(GB或MB)?

Bog*_*ean 10

您可以使用SSMS显示最大1000个表的大小:

在此输入图像描述


M.A*_*Ali 6

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数据库 在此处输入图片说明