Template für „Benutzerdefinierte Berichte“ und Beispiel „Databases in Use“
Wie schon erläutert, kann man sich für das SSMS (SQL Server Management Studio) benutzerdefinierte Bereichte erstellen, um sich Ergebnisse optisch aufbereiten zu lassen und nicht immer nur als tabellarischen Resultset zu bekommen.
Um nicht für jeden neuen Report die Parameter nebst Definition wieder erfassen zu müssen, habe ich mir ein Template fürs BIDS 2005 (Business Intelligence Developer Studio) erstellt, das es hier gibt. Man kopiert es einfach, benennt es um und bindet es in seine BIDS 2005 Solution ein; schon kann es losgehen. Nutzt man BIDS 2008, wird der Report konvertiert, vom Original eine Sicherungskopie erstellt.
Als erstes Beispiel, das man auch praktisch Verwenden kann, gibt es die Auswertung „Databases in Usage“. Es listet alle Datenbanken der Instanz mit der Anzahl der User + Prozessen, die die Datenbanken verwenden. Nicht verwendete Datenbanken werden gegraut angezeigt.
Der Report beruht auf der einfachen Abfrage:
SELECT DB_NAME(DBS.dbid) AS DatabaseName,
PRO.dbid,
COUNT(PRO.spid) AS CntSPID,
COUNT(DISTINCT PRO.loginame) AS CntUser,
COUNT(DISTINCT PRO.hostname) AS CntHost, SUM(PRO.cpu) AS SumCpu,
SUM(PRO.physical_io) AS SumIO,
SUM(PRO.memusage) AS SumMem FROM master.sys.sysdatabases AS DBS
LEFT JOIN master.sys.sysprocesses AS PRO ON DBS.dbid = PRO.dbid GROUP BY DB_NAME(DBS.dbid), PRO.dbid
ORDER BY DB_NAME(DBS.dbid)