![](/img/trans.png)
[英]How to insert data in multiple tables using single query in SQL Server?
[英]How to analyze tables for size in a single DB using SQL Server?
我有一个名为约翰逊的数据库,包含50个表。 使用此数据库的团队询问我是否可以为每个表提供大小估计
如何使用SQL Server显示数据库中所有表的列表及其各自的大小(GB或MB)?
您可以使用SSMS显示最大1000个表的大小:
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数据库
@马里
我试图从远程数据库(从Azure)上的SQL Server Management Studio运行您的脚本,但它找不到存储过程。
Could not find stored procedure 'sp_MSforeachtable'.
如果有人想在Azure DB上运行它,请首先运行此脚本以创建sp_MSforeachtable存储过程:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.