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並遍歷服務器上的所有數據庫。你想包括系統數據庫嗎? –