Skip to content

Commit 291c1fd

Browse files
committed
performance improvements, formatting, and authorship
1 parent f897c32 commit 291c1fd

6 files changed

+41
-31
lines changed

ssrs-custom-reports/Data File Allocation Map - Detailed (SQL2012 and newer).rdl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<Report MustUnderstand="df" xmlns="http://schemas.microsoft.com/sqlserver/reporting/2016/01/reportdefinition" xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner" xmlns:df="http://schemas.microsoft.com/sqlserver/reporting/2016/01/reportdefinition/defaultfontfamily">
33
<df:DefaultFontFamily>Segoe UI</df:DefaultFontFamily>
4+
<Author>Eitan Blumin</Author>
45
<AutoRefresh>0</AutoRefresh>
56
<DataSources>
67
<DataSource Name="LocalServer">

ssrs-custom-reports/Data File Allocation Map - Detailed (SQL2019 and newer).rdl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<Report MustUnderstand="df" xmlns="http://schemas.microsoft.com/sqlserver/reporting/2016/01/reportdefinition" xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner" xmlns:df="http://schemas.microsoft.com/sqlserver/reporting/2016/01/reportdefinition/defaultfontfamily">
33
<df:DefaultFontFamily>Segoe UI</df:DefaultFontFamily>
4+
<Author>Eitan Blumin</Author>
45
<AutoRefresh>0</AutoRefresh>
56
<DataSources>
67
<DataSource Name="LocalServer">

ssrs-custom-reports/Data File Allocation Map - Overview (SQL2012 and newer).rdl

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<Report MustUnderstand="df" xmlns="http://schemas.microsoft.com/sqlserver/reporting/2016/01/reportdefinition" xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner" xmlns:df="http://schemas.microsoft.com/sqlserver/reporting/2016/01/reportdefinition/defaultfontfamily">
33
<df:DefaultFontFamily>Segoe UI</df:DefaultFontFamily>
4+
<Author>Eitan Blumin</Author>
45
<AutoRefresh>0</AutoRefresh>
56
<DataSources>
67
<DataSource Name="LocalServer">
@@ -40,27 +41,28 @@ SELECT
4041
, file_total_reserved_pages
4142
, prev_used_page
4243
, from_used_page_id = allocated_page_page_id
43-
, to_page_id = ISNULL(NULLIF(next_used_page,file_total_size-1) - 1, next_used_page)
44-
, consecutive_unused_pages = ISNULL(NULLIF(next_used_page,file_total_size-1) - 1, next_used_page) - allocated_page_page_id
44+
, to_page_id = COALESCE(NULLIF(next_used_page,file_total_size-1) - 1, next_used_page, file_total_size-1)
45+
, consecutive_unused_pages = COALESCE(NULLIF(next_used_page,file_total_size-1) - 1, next_used_page, file_total_size-1) - allocated_page_page_id
4546
, next_used_page_id = LEAD(allocated_page_page_id,1,file_total_size-1) OVER(PARTITION BY file_id ORDER BY allocated_page_page_id ASC)
4647
FROM
4748
(
4849
SELECT
49-
f.database_id, f.file_id, f.file_name, f.file_total_used_space, f.file_total_size
50+
p.allocated_page_file_id
5051
, file_total_reserved_pages = COUNT(*) OVER() + 9
5152
, p.allocated_page_page_id
52-
, prev_used_page = LAG(p.allocated_page_page_id,1,0) OVER (PARTITION BY f.file_id ORDER BY p.allocated_page_page_id ASC)
53-
, next_used_page = LEAD(p.allocated_page_page_id,1,f.file_total_size - 1) OVER (PARTITION BY f.file_id ORDER BY p.allocated_page_page_id ASC)
54-
FROM (
53+
, prev_used_page = LAG(p.allocated_page_page_id,1,0) OVER (PARTITION BY p.allocated_page_file_id ORDER BY p.allocated_page_page_id ASC)
54+
, next_used_page = LEAD(p.allocated_page_page_id,1, NULL) OVER (PARTITION BY p.allocated_page_file_id ORDER BY p.allocated_page_page_id ASC)
55+
FROM sys.dm_db_database_page_allocations(DB_ID(),default,default,default,'DETAILED') AS p
56+
) AS sub1
57+
INNER JOIN
58+
(
5559
SELECT database_id, file_id, file_name = [name], size AS file_total_size
5660
, file_total_used_space = FILEPROPERTY([name], 'SpaceUsed')
5761
FROM sys.master_files AS f
5862
WHERE database_id = DB_ID() AND type = 0
5963
) AS f
60-
INNER JOIN sys.dm_db_database_page_allocations(DB_ID(),default,default,default,'DETAILED') AS p
61-
ON f.file_id = p.allocated_page_file_id
62-
) AS sub1
63-
WHERE sub1.next_used_page &lt;&gt; sub1.allocated_page_page_id + 1
64+
ON f.file_id = sub1.allocated_page_file_id
65+
WHERE ISNULL(sub1.next_used_page, f.file_total_size - 1) &lt;&gt; sub1.allocated_page_page_id + 1
6466
) AS sub2
6567
CROSS APPLY
6668
(
@@ -396,10 +398,9 @@ CROSS APPLY
396398
<Y>=Sum(Fields!pages_in_range.Value) / 128.0</Y>
397399
</ChartDataPointValues>
398400
<ChartDataLabel>
399-
<Style>
400-
<Format>#,0 MB</Format>
401-
</Style>
402-
<UseValueAsLabel>true</UseValueAsLabel>
401+
<Style />
402+
<Label>=IIF(Sum(Fields!pages_in_range.Value) / 128 &gt;= 1,
403+
Format(Sum(Fields!pages_in_range.Value) / 128.0, "#,0 MB"), "")</Label>
403404
<Visible>true</Visible>
404405
</ChartDataLabel>
405406
<ToolTip>=" From page: " &amp; Min(Fields!from_page_id.Value) &amp; vbCrLf &amp; ", To page: " &amp; Max(Fields!to_page_id.Value) &amp; vbCrLf &amp; ", Total Pages: " &amp; Sum(Fields!pages_in_range.Value) &amp; vbCrLf &amp; ", Size: " &amp; (CDec(Sum(Fields!pages_in_range.Value)) / 128.0) &amp; " MB"</ToolTip>

ssrs-custom-reports/Data File Allocation Map - Overview (SQL2019 and newer).rdl

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<Report MustUnderstand="df" xmlns="http://schemas.microsoft.com/sqlserver/reporting/2016/01/reportdefinition" xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner" xmlns:df="http://schemas.microsoft.com/sqlserver/reporting/2016/01/reportdefinition/defaultfontfamily">
33
<df:DefaultFontFamily>Segoe UI</df:DefaultFontFamily>
4+
<Author>Eitan Blumin</Author>
45
<AutoRefresh>0</AutoRefresh>
56
<DataSources>
67
<DataSource Name="LocalServer">
@@ -40,27 +41,28 @@ SELECT
4041
, file_total_reserved_pages
4142
, prev_used_page
4243
, from_used_page_id = allocated_page_page_id
43-
, to_page_id = ISNULL(NULLIF(next_used_page,file_total_size-1) - 1, next_used_page)
44-
, consecutive_unused_pages = ISNULL(NULLIF(next_used_page,file_total_size-1) - 1, next_used_page) - allocated_page_page_id
44+
, to_page_id = COALESCE(NULLIF(next_used_page,file_total_size-1) - 1, next_used_page, f.file_total_size - 1)
45+
, consecutive_unused_pages = COALESCE(NULLIF(next_used_page,file_total_size-1) - 1, next_used_page, f.file_total_size - 1) - allocated_page_page_id
4546
, next_used_page_id = LEAD(allocated_page_page_id,1,file_total_size-1) OVER(PARTITION BY file_id ORDER BY allocated_page_page_id ASC)
4647
FROM
4748
(
4849
SELECT
49-
f.database_id, f.file_id, f.file_name, f.file_total_used_space, f.file_total_size
50+
p.allocated_page_file_id
5051
, file_total_reserved_pages = COUNT(*) OVER() + 9
5152
, p.allocated_page_page_id
52-
, prev_used_page = LAG(p.allocated_page_page_id,1,0) OVER (PARTITION BY f.file_id ORDER BY p.allocated_page_page_id ASC)
53-
, next_used_page = LEAD(p.allocated_page_page_id,1,f.file_total_size - 1) OVER (PARTITION BY f.file_id ORDER BY p.allocated_page_page_id ASC)
54-
FROM (
53+
, prev_used_page = LAG(p.allocated_page_page_id,1,0) OVER (PARTITION BY p.allocated_page_file_id ORDER BY p.allocated_page_page_id ASC)
54+
, next_used_page = LEAD(p.allocated_page_page_id,1, NULL) OVER (PARTITION BY p.allocated_page_file_id ORDER BY p.allocated_page_page_id ASC)
55+
FROM sys.dm_db_database_page_allocations(DB_ID(),default,default,default,'DETAILED') AS p
56+
) AS sub1
57+
INNER JOIN
58+
(
5559
SELECT database_id, file_id, file_name = [name], size AS file_total_size
5660
, file_total_used_space = FILEPROPERTY([name], 'SpaceUsed')
5761
FROM sys.master_files AS f
5862
WHERE database_id = DB_ID() AND type = 0
5963
) AS f
60-
INNER JOIN sys.dm_db_database_page_allocations(DB_ID(),default,default,default,'DETAILED') AS p
61-
ON f.file_id = p.allocated_page_file_id
62-
) AS sub1
63-
WHERE sub1.next_used_page &lt;&gt; sub1.allocated_page_page_id + 1
64+
ON f.file_id = sub1.allocated_page_file_id
65+
WHERE ISNULL(sub1.next_used_page, f.file_total_size - 1) &lt;&gt; sub1.allocated_page_page_id + 1
6466
) AS sub2
6567
CROSS APPLY
6668
(
@@ -396,10 +398,9 @@ CROSS APPLY
396398
<Y>=Sum(Fields!pages_in_range.Value) / 128.0</Y>
397399
</ChartDataPointValues>
398400
<ChartDataLabel>
399-
<Style>
400-
<Format>#,0 MB</Format>
401-
</Style>
402-
<UseValueAsLabel>true</UseValueAsLabel>
401+
<Style />
402+
<Label>=IIF(Sum(Fields!pages_in_range.Value) / 128 &gt;= 1,
403+
Format(Sum(Fields!pages_in_range.Value) / 128.0, "#,0 MB"), "")</Label>
403404
<Visible>true</Visible>
404405
</ChartDataLabel>
405406
<ToolTip>=" From page: " &amp; Min(Fields!from_page_id.Value) &amp; vbCrLf &amp; ", To page: " &amp; Max(Fields!to_page_id.Value) &amp; vbCrLf &amp; ", Total Pages: " &amp; Sum(Fields!pages_in_range.Value) &amp; vbCrLf &amp; ", Size: " &amp; (CDec(Sum(Fields!pages_in_range.Value)) / 128.0) &amp; " MB"</ToolTip>

ssrs-custom-reports/Transaction Log Allocation Map (SQL2008 and newer).rdl

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<Report MustUnderstand="df" xmlns="http://schemas.microsoft.com/sqlserver/reporting/2016/01/reportdefinition" xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner" xmlns:df="http://schemas.microsoft.com/sqlserver/reporting/2016/01/reportdefinition/defaultfontfamily">
33
<df:DefaultFontFamily>Segoe UI</df:DefaultFontFamily>
4+
<Author>Eitan Blumin</Author>
45
<AutoRefresh>0</AutoRefresh>
56
<DataSources>
67
<DataSource Name="LocalServer">
@@ -360,7 +361,9 @@ INNER JOIN sys.database_files AS df ON df.file_id = li.FileID</CommandText>
360361
<Y>=Sum(Fields!vlf_size_mb.Value)</Y>
361362
</ChartDataPointValues>
362363
<ChartDataLabel>
363-
<Style />
364+
<Style>
365+
<Format>#,0 MB</Format>
366+
</Style>
364367
<UseValueAsLabel>true</UseValueAsLabel>
365368
<Visible>true</Visible>
366369
</ChartDataLabel>
@@ -662,7 +665,7 @@ INNER JOIN sys.database_files AS df ON df.file_id = li.FileID</CommandText>
662665
</Style>
663666
</ChartNoDataMessage>
664667
<DataSetName>TranLogAllocation</DataSetName>
665-
<Top>1.2cm</Top>
668+
<Top>1.16445cm</Top>
666669
<Height>13.25182cm</Height>
667670
<Width>29.35141cm</Width>
668671
<Style>

ssrs-custom-reports/Transaction Log Allocation Map (SQL2016SP2 and newer).rdl

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<Report MustUnderstand="df" xmlns="http://schemas.microsoft.com/sqlserver/reporting/2016/01/reportdefinition" xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner" xmlns:df="http://schemas.microsoft.com/sqlserver/reporting/2016/01/reportdefinition/defaultfontfamily">
33
<df:DefaultFontFamily>Segoe UI</df:DefaultFontFamily>
4+
<Author>Eitan Blumin</Author>
45
<AutoRefresh>0</AutoRefresh>
56
<DataSources>
67
<DataSource Name="LocalServer">
@@ -341,7 +342,9 @@ FROM sys.dm_db_log_info(DB_ID())</CommandText>
341342
<Y>=Sum(Fields!vlf_size_mb.Value)</Y>
342343
</ChartDataPointValues>
343344
<ChartDataLabel>
344-
<Style />
345+
<Style>
346+
<Format>#,0 MB</Format>
347+
</Style>
345348
<UseValueAsLabel>true</UseValueAsLabel>
346349
<Visible>true</Visible>
347350
</ChartDataLabel>

0 commit comments

Comments
 (0)