Skip to content
Snippets Groups Projects
Commit 573628db authored by zensqlmonitor's avatar zensqlmonitor Committed by Cameron Sparr
Browse files

Fix collation issue

parent e477620d
No related branches found
No related tags found
No related merge requests found
...@@ -626,26 +626,22 @@ const sqlDatabaseIO string = `SET NOCOUNT ON; ...@@ -626,26 +626,22 @@ const sqlDatabaseIO string = `SET NOCOUNT ON;
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
DECLARE @secondsBetween tinyint = 5; DECLARE @secondsBetween tinyint = 5;
DECLARE @delayInterval char(8) = CONVERT(Char(8), DATEADD(SECOND, @secondsBetween, '00:00:00'), 108); DECLARE @delayInterval char(8) = CONVERT(Char(8), DATEADD(SECOND, @secondsBetween, '00:00:00'), 108);
IF OBJECT_ID('tempdb..#baseline') IS NOT NULL IF OBJECT_ID('tempdb..#baseline') IS NOT NULL
DROP TABLE #baseline; DROP TABLE #baseline;
IF OBJECT_ID('tempdb..#baselinewritten') IS NOT NULL IF OBJECT_ID('tempdb..#baselinewritten') IS NOT NULL
DROP TABLE #baselinewritten; DROP TABLE #baselinewritten;
SELECT DB_NAME(mf.database_id) AS databaseName , SELECT DB_NAME(mf.database_id) AS databaseName ,
mf.physical_name, mf.physical_name,
divfs.num_of_bytes_read, divfs.num_of_bytes_read,
divfs.num_of_bytes_written, divfs.num_of_bytes_written,
divfs.num_of_reads, divfs.num_of_reads,
divfs.num_of_writes, divfs.num_of_writes,
GETDATE() AS baselineDate GETDATE() AS baselinedate
INTO #baseline INTO #baseline
FROM sys.dm_io_virtual_file_stats(NULL, NULL) AS divfs FROM sys.dm_io_virtual_file_stats(NULL, NULL) AS divfs
INNER JOIN sys.master_files AS mf ON mf.database_id = divfs.database_id INNER JOIN sys.master_files AS mf ON mf.database_id = divfs.database_id
AND mf.file_id = divfs.file_id AND mf.file_id = divfs.file_id
WAITFOR DELAY @delayInterval; WAITFOR DELAY @delayInterval;
;WITH currentLine AS ;WITH currentLine AS
( (
SELECT DB_NAME(mf.database_id) AS databaseName , SELECT DB_NAME(mf.database_id) AS databaseName ,
...@@ -655,12 +651,11 @@ WAITFOR DELAY @delayInterval; ...@@ -655,12 +651,11 @@ WAITFOR DELAY @delayInterval;
divfs.num_of_bytes_written, divfs.num_of_bytes_written,
divfs.num_of_reads, divfs.num_of_reads,
divfs.num_of_writes, divfs.num_of_writes,
GETDATE() AS currentlineDate GETDATE() AS currentlinedate
FROM sys.dm_io_virtual_file_stats(NULL, NULL) AS divfs FROM sys.dm_io_virtual_file_stats(NULL, NULL) AS divfs
INNER JOIN sys.master_files AS mf ON mf.database_id = divfs.database_id INNER JOIN sys.master_files AS mf ON mf.database_id = divfs.database_id
AND mf.file_id = divfs.file_id AND mf.file_id = divfs.file_id
) )
SELECT database_name SELECT database_name
, datafile_type , datafile_type
, num_of_bytes_read_persec = SUM(num_of_bytes_read_persec) , num_of_bytes_read_persec = SUM(num_of_bytes_read_persec)
...@@ -673,23 +668,21 @@ FROM ...@@ -673,23 +668,21 @@ FROM
SELECT SELECT
database_name = currentLine.databaseName database_name = currentLine.databaseName
, datafile_type = type_desc , datafile_type = type_desc
, num_of_bytes_read_persec = (currentLine.num_of_bytes_read - T1.num_of_bytes_read) / (DATEDIFF(SECOND,baseLineDate,currentLineDate)) , num_of_bytes_read_persec = (currentLine.num_of_bytes_read - T1.num_of_bytes_read) / (DATEDIFF(SECOND,baselinedate,currentlinedate))
, num_of_bytes_written_persec = (currentLine.num_of_bytes_written - T1.num_of_bytes_written) / (DATEDIFF(SECOND,baseLineDate,currentLineDate)) , num_of_bytes_written_persec = (currentLine.num_of_bytes_written - T1.num_of_bytes_written) / (DATEDIFF(SECOND,baselinedate,currentlinedate))
, num_of_reads_persec = (currentLine.num_of_reads - T1.num_of_reads) / (DATEDIFF(SECOND,baseLineDate,currentLineDate)) , num_of_reads_persec = (currentLine.num_of_reads - T1.num_of_reads) / (DATEDIFF(SECOND,baselinedate,currentlinedate))
, num_of_writes_persec = (currentLine.num_of_writes - T1.num_of_writes) / (DATEDIFF(SECOND,baseLineDate,currentLineDate)) , num_of_writes_persec = (currentLine.num_of_writes - T1.num_of_writes) / (DATEDIFF(SECOND,baselinedate,currentlinedate))
FROM currentLine FROM currentLine
INNER JOIN #baseline T1 ON T1.databaseName = currentLine.databaseName INNER JOIN #baseline T1 ON T1.databaseName = currentLine.databaseName
AND T1.physical_name = currentLine.physical_name AND T1.physical_name = currentLine.physical_name
) as T ) as T
GROUP BY database_name, datafile_type GROUP BY database_name, datafile_type
DECLARE @DynamicPivotQuery AS NVARCHAR(MAX) DECLARE @DynamicPivotQuery AS NVARCHAR(MAX)
DECLARE @ColumnName AS NVARCHAR(MAX), @ColumnName2 AS NVARCHAR(MAX) DECLARE @ColumnName AS NVARCHAR(MAX), @ColumnName2 AS NVARCHAR(MAX)
SELECT @ColumnName = ISNULL(@ColumnName + ',','') + QUOTENAME(database_name) SELECT @ColumnName = ISNULL(@ColumnName + ',','') + QUOTENAME(database_name)
FROM (SELECT DISTINCT database_name FROM #baselinewritten) AS bl FROM (SELECT DISTINCT database_name FROM #baselinewritten) AS bl
SELECT @ColumnName2 = ISNULL(@ColumnName2 + '+','') + QUOTENAME(database_name) SELECT @ColumnName2 = ISNULL(@ColumnName2 + '+','') + QUOTENAME(database_name)
FROM (SELECT DISTINCT database_name FROM #baselinewritten) AS bl FROM (SELECT DISTINCT database_name FROM #baselinewritten) AS bl
SET @DynamicPivotQuery = N' SET @DynamicPivotQuery = N'
SELECT measurement = ''Log writes (bytes/sec)'', servername = REPLACE(@@SERVERNAME, ''\'', '':''), type = ''Database IO'' SELECT measurement = ''Log writes (bytes/sec)'', servername = REPLACE(@@SERVERNAME, ''\'', '':''), type = ''Database IO''
, ' + @ColumnName + ', Total = ' + @ColumnName2 + ' FROM , ' + @ColumnName + ', Total = ' + @ColumnName2 + ' FROM
...@@ -699,9 +692,7 @@ FROM #baselinewritten ...@@ -699,9 +692,7 @@ FROM #baselinewritten
WHERE datafile_type = ''LOG'' WHERE datafile_type = ''LOG''
) as V ) as V
PIVOT(SUM(num_of_bytes_written_persec) FOR database_name IN (' + @ColumnName + ')) AS PVTTable PIVOT(SUM(num_of_bytes_written_persec) FOR database_name IN (' + @ColumnName + ')) AS PVTTable
UNION ALL UNION ALL
SELECT measurement = ''Rows writes (bytes/sec)'', servername = REPLACE(@@SERVERNAME, ''\'', '':''), type = ''Database IO'' SELECT measurement = ''Rows writes (bytes/sec)'', servername = REPLACE(@@SERVERNAME, ''\'', '':''), type = ''Database IO''
, ' + @ColumnName + ', Total = ' + @ColumnName2 + ' FROM , ' + @ColumnName + ', Total = ' + @ColumnName2 + ' FROM
( (
...@@ -710,9 +701,7 @@ FROM #baselinewritten ...@@ -710,9 +701,7 @@ FROM #baselinewritten
WHERE datafile_type = ''ROWS'' WHERE datafile_type = ''ROWS''
) as V ) as V
PIVOT(SUM(num_of_bytes_written_persec) FOR database_name IN (' + @ColumnName + ')) AS PVTTable PIVOT(SUM(num_of_bytes_written_persec) FOR database_name IN (' + @ColumnName + ')) AS PVTTable
UNION ALL UNION ALL
SELECT measurement = ''Log reads (bytes/sec)'', servername = REPLACE(@@SERVERNAME, ''\'', '':''), type = ''Database IO'' SELECT measurement = ''Log reads (bytes/sec)'', servername = REPLACE(@@SERVERNAME, ''\'', '':''), type = ''Database IO''
, ' + @ColumnName + ', Total = ' + @ColumnName2 + ' FROM , ' + @ColumnName + ', Total = ' + @ColumnName2 + ' FROM
( (
...@@ -721,9 +710,7 @@ FROM #baselinewritten ...@@ -721,9 +710,7 @@ FROM #baselinewritten
WHERE datafile_type = ''LOG'' WHERE datafile_type = ''LOG''
) as V ) as V
PIVOT(SUM(num_of_bytes_read_persec) FOR database_name IN (' + @ColumnName + ')) AS PVTTable PIVOT(SUM(num_of_bytes_read_persec) FOR database_name IN (' + @ColumnName + ')) AS PVTTable
UNION ALL UNION ALL
SELECT measurement = ''Rows reads (bytes/sec)'', servername = REPLACE(@@SERVERNAME, ''\'', '':''), type = ''Database IO'' SELECT measurement = ''Rows reads (bytes/sec)'', servername = REPLACE(@@SERVERNAME, ''\'', '':''), type = ''Database IO''
, ' + @ColumnName + ', Total = ' + @ColumnName2 + ' FROM , ' + @ColumnName + ', Total = ' + @ColumnName2 + ' FROM
( (
...@@ -732,9 +719,7 @@ FROM #baselinewritten ...@@ -732,9 +719,7 @@ FROM #baselinewritten
WHERE datafile_type = ''ROWS'' WHERE datafile_type = ''ROWS''
) as V ) as V
PIVOT(SUM(num_of_bytes_read_persec) FOR database_name IN (' + @ColumnName + ')) AS PVTTable PIVOT(SUM(num_of_bytes_read_persec) FOR database_name IN (' + @ColumnName + ')) AS PVTTable
UNION ALL UNION ALL
SELECT measurement = ''Log (writes/sec)'', servername = REPLACE(@@SERVERNAME, ''\'', '':''), type = ''Database IO'' SELECT measurement = ''Log (writes/sec)'', servername = REPLACE(@@SERVERNAME, ''\'', '':''), type = ''Database IO''
, ' + @ColumnName + ', Total = ' + @ColumnName2 + ' FROM , ' + @ColumnName + ', Total = ' + @ColumnName2 + ' FROM
( (
...@@ -743,9 +728,7 @@ FROM #baselinewritten ...@@ -743,9 +728,7 @@ FROM #baselinewritten
WHERE datafile_type = ''LOG'' WHERE datafile_type = ''LOG''
) as V ) as V
PIVOT(SUM(num_of_writes_persec) FOR database_name IN (' + @ColumnName + ')) AS PVTTable PIVOT(SUM(num_of_writes_persec) FOR database_name IN (' + @ColumnName + ')) AS PVTTable
UNION ALL UNION ALL
SELECT measurement = ''Rows (writes/sec)'', servername = REPLACE(@@SERVERNAME, ''\'', '':''), type = ''Database IO'' SELECT measurement = ''Rows (writes/sec)'', servername = REPLACE(@@SERVERNAME, ''\'', '':''), type = ''Database IO''
, ' + @ColumnName + ', Total = ' + @ColumnName2 + ' FROM , ' + @ColumnName + ', Total = ' + @ColumnName2 + ' FROM
( (
...@@ -754,9 +737,7 @@ FROM #baselinewritten ...@@ -754,9 +737,7 @@ FROM #baselinewritten
WHERE datafile_type = ''ROWS'' WHERE datafile_type = ''ROWS''
) as V ) as V
PIVOT(SUM(num_of_writes_persec) FOR database_name IN (' + @ColumnName + ')) AS PVTTabl PIVOT(SUM(num_of_writes_persec) FOR database_name IN (' + @ColumnName + ')) AS PVTTabl
UNION ALL UNION ALL
SELECT measurement = ''Log (reads/sec)'', servername = REPLACE(@@SERVERNAME, ''\'', '':''), type = ''Database IO'' SELECT measurement = ''Log (reads/sec)'', servername = REPLACE(@@SERVERNAME, ''\'', '':''), type = ''Database IO''
, ' + @ColumnName + ', Total = ' + @ColumnName2 + ' FROM , ' + @ColumnName + ', Total = ' + @ColumnName2 + ' FROM
( (
...@@ -765,9 +746,7 @@ FROM #baselinewritten ...@@ -765,9 +746,7 @@ FROM #baselinewritten
WHERE datafile_type = ''LOG'' WHERE datafile_type = ''LOG''
) as V ) as V
PIVOT(SUM(num_of_reads_persec) FOR database_name IN (' + @ColumnName + ')) AS PVTTable PIVOT(SUM(num_of_reads_persec) FOR database_name IN (' + @ColumnName + ')) AS PVTTable
UNION ALL UNION ALL
SELECT measurement = ''Rows (reads/sec)'', servername = REPLACE(@@SERVERNAME, ''\'', '':''), type = ''Database IO'' SELECT measurement = ''Rows (reads/sec)'', servername = REPLACE(@@SERVERNAME, ''\'', '':''), type = ''Database IO''
, ' + @ColumnName + ', Total = ' + @ColumnName2 + ' FROM , ' + @ColumnName + ', Total = ' + @ColumnName2 + ' FROM
( (
...@@ -777,7 +756,6 @@ WHERE datafile_type = ''ROWS'' ...@@ -777,7 +756,6 @@ WHERE datafile_type = ''ROWS''
) as V ) as V
PIVOT(SUM(num_of_reads_persec) FOR database_name IN (' + @ColumnName + ')) AS PVTTable PIVOT(SUM(num_of_reads_persec) FOR database_name IN (' + @ColumnName + ')) AS PVTTable
' '
EXEC sp_executesql @DynamicPivotQuery; EXEC sp_executesql @DynamicPivotQuery;
` `
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment