0
我们希望获得SQL Server实例级别(包括所有数据库)上的每个对象类型的总计数。SQL Server - 计算实例级别的每个对象
E.g.
Stored Procedures
Views
Tables
Constraints
Jobs
Linked Servers
Replication
此代码返回数据库级别的计数;如何更改此代码以显示实例级别的计数?
WITH objs AS
(
SELECT
type_desc AS Object_Type,
COUNT(*) AS Object_Count, 1 AS JoinColumn
FROM
sys.objects
--exclude internal tables, service queues, and system tables
WHERE
TYPE NOT IN ('IT', 'S', 'SQ')
GROUP BY
type_desc
),
tots AS
(
SELECT COUNT(*) AS Type_Count, 1 AS JoinColumn
FROM sys.objects
WHERE TYPE NOT IN ('IT', 'S', 'SQ')
)
SELECT
Object_Type, Object_Count, Type_Count,
CAST((Object_Count * 1.0)/Type_Count * 100 AS INT) AS Type_Pct
FROM objs o
JOIN tots s ON o.JoinColumn = s.JoinColumn
ORDER BY Object_Type;
问候
您需要使用动态SQL并遍历服务器上的所有数据库。你想包括系统数据库吗? –