Bra*_*adC 6 t-sql stored-procedures sql-server-2005
我被要求对特定数据库中使用的空间进行全面细分.我知道我可以在SQL Server 2005中使用sys.dm_db_partition_stats来计算数据库中每个表使用的空间大小,但有没有办法确定数据库中存储过程的个别和总大小?(当然,没有打开每一个并计算字符数.)
存储过程使用的总空间不太可能很大(与实际数据相比),但有数百个,它可能会相加.
Cad*_*oux 13
;WITH ROUTINES AS (
-- CANNOT use INFORMATION_SCHEMA.ROUTINES because of 4000 character limit
SELECT o.type_desc AS ROUTINE_TYPE
,o.[name] AS ROUTINE_NAME
,m.definition AS ROUTINE_DEFINITION
FROM sys.sql_modules AS m
INNER JOIN sys.objects AS o
ON m.object_id = o.object_id
)
SELECT SUM(LEN(ROUTINE_DEFINITION))
FROM ROUTINES
Run Code Online (Sandbox Code Playgroud)