Relog: un tool fondamentale per il DBA
Fino a pochi giorni fa non sapevo dell'esistenza di Relog. Con questo piccolo tool risciamo a importare le traccie del Performance Monitor in diversi formati: binario, txt comma separated, txt tab separated, SQL. Particolarmente allettante l'ultimo formato
, il quale necessita la definizione di un DSN (sorgente dati di sistema ODBC) sul database SQL destinatario dell'importazione, nel quale Relog popola tre tabelle (che la prima volta pensa esso stesso a creare) a cui ho aggiunto una semplice vista che mi tira fuori i report di valori medi giornalieri per Counter:
CREATE VIEW [dbo].[vw_avg_report]
AS
SELECT
d.DisplayString,
d.LogStartTime,
d.LogStopTime,
cd.CounterID,
cd.MachineName,
cd.ObjectName,
cd.CounterName,
InstanceName = isnull(cd.InstanceName,''),
avg_value = convert(money, AVG(c.CounterValue))
FROM
dbo.DisplayToID d
INNER JOIN
dbo.CounterData c ON d.GUID = c.GUID
INNER JOIN
dbo.CounterDetails cd ON c.CounterID = cd.CounterID
GROUP BY
d.DisplayString,
d.LogStartTime,
d.LogStopTime,
cd.CounterID,
cd.MachineName,
cd.ObjectName,
cd.CounterName,
cd.InstanceName
GO
Un esempio d'uso di Relog:
relog "C:\Users\F.QUARATINO\Desktop\2010\0605\OLTP_DataCollector.blg" -f SQL -o SQL:PerfMon!20100605
In questo modo importo in un db SQL a cui punta un DSN locale chiamato "PerfMon", tutti i valori registrati nella traccia "OLTP_DataCollector". "20100605" è il nome che assegno all'importazione, ovvero ogni valore testè importato sarà identificato da questa stringa.
Due interessanti post sull'argomento:
"Relog Syntax Examples (for SQL Server)"
http://www.resquel.com/ssb/2009/02/26/RelogSyntaxExamplesForSQLServer.aspx
"Relog SQL database schema (nasty datetime handling)"
http://www.resquel.com/ssb/2008/11/24/RelogSQLDatabaseSchemaNastyDatetimeHandling.aspx