Lists SQL version and product key information.
0
true
/ConfigMgr_ULB/{5C6358F2-4BB6-4a1b-A16E-8D96795D8602}
Integrated
6fe7a601-d088-4e03-b266-36dd4f559a6d
CMSQLDatabase
=Parameters!UserTokenSIDs.Value
/* Get AdminID Dataset */
SELECT dbo.fn_rbac_GetAdminIDsfromUserSIDs (@UserTokenSIDs) AS UserSIDs
UserSIDs
System.String
CMSQLDatabase
=Parameters!UserSIDs.Value
SELECT
CollectionID,
Name
FROM dbo.fn_rbac_Collection(@UserSIDs)
WHERE CollectionType = 2
ORDER BY
Name;
true
CollectionID
System.String
Name
System.String
CMSQLDatabase
=Parameters!UserSIDs.Value
=Parameters!CollectionID.Value
=Join(Parameters!Filter.Value, ",")
true
/*
.SYNOPSIS
Gets SQL product info.
.DESCRIPTION
Gets SQL product info, id and product key.
.NOTES
Created by Ioan Popovici.
Requires the usp_PivotWithDynamicColumns stored procedure (SQL Support Functions).
Requires SQL Property and ProductID HWI extensions.
Part of a report should not be run separately.
.LINK
https://MEMZ.one/SW-SQL-Server-Products
.LINK
https://MEMZ.one/SQL-SupportFunctions
.LINK
https://MEMZ.one/SW-SQL-Server-Products-CHANGELOG
.LINK
https://MEMZ.one/SW-SQL-Server-Products-GIT
.LINK
https://MEM.Zone/ISSUES
*/
/*##=============================================*/
/*## QUERY BODY */
/*##=============================================*/
/* #region QueryBody */
/* Test variable declaration !! Need to be commented for Production !! */
-- DECLARE @UserSIDs AS NVARCHAR(10) = 'Disabled';
-- DECLARE @CollectionID AS NVARCHAR(10) = 'SMS00001';
-- DECLARE @Filter AS NVARCHAR(20) = 'WID';
/* Variable declaration */
DECLARE @TableName AS NVARCHAR(MAX);
DECLARE @NonPivotedColumn AS NVARCHAR(MAX);
DECLARE @DynamicColumn AS NVARCHAR(MAX);
DECLARE @AggregationColumn AS NVARCHAR(MAX);
DECLARE @StaticColumnList AS NVARCHAR(MAX);
/* Perform cleanup */
IF OBJECT_ID('tempdb..#SQLProducts', 'U') IS NOT NULL
DROP TABLE #SQLProducts;
/* Create SQLProducts table */
CREATE TABLE #SQLProducts (
ResourceID NVARCHAR(25)
, SKUName NVARCHAR(100)
, [Version] NVARCHAR(25)
, FileVersion NVARCHAR(50)
, SPLevel NVARCHAR(2)
, IsClustered NVARCHAR(3)
, SQMReporting NVARCHAR(3)
)
/* Create SQLRelease table */
DECLARE @SQLRelease Table (FileVersion NVARCHAR(4), Release NVARCHAR(10))
/* Populate StaticColumnList */
SET @StaticColumnList = N'[SKUNAME],[VERSION],[FILEVERSION],[SPLEVEL],[CLUSTERED],[SQMREPORTING]'
/* Populate SQLRelease table */
INSERT INTO @SQLRelease (FileVersion, Release)
VALUES
('2022', '2022')
, ('2019', '2019')
, ('2017', '2017')
, ('2016', '2017')
, ('2015', '2016')
, ('2014', '2014')
, ('2013', '2014')
, ('2012', '2012')
, ('2011', '2012')
, ('2010', '2012')
, ('2009', '2008 R2')
, ('2007', '2008')
, ('2005', '2005')
, ('2000', '2000')
, ('', 'Unknown')
/* Get SQL 2022 data */
INSERT INTO #SQLProducts
EXECUTE dbo.usp_PivotWithDynamicColumns
@TableName = N'dbo.v_GS_EXT_SQL_2022_Property0'
, @NonPivotedColumn = N'ResourceID'
, @DynamicColumn = N'PropertyName0'
, @AggregationColumn = N'ISNULL(PropertyStrValue0, PropertyNumValue0)'
, @StaticColumnList = @StaticColumnList;
/* Get SQL 2019 data */
INSERT INTO #SQLProducts
EXECUTE dbo.usp_PivotWithDynamicColumns
@TableName = N'dbo.v_GS_EXT_SQL_2019_Property0'
, @NonPivotedColumn = N'ResourceID'
, @DynamicColumn = N'PropertyName0'
, @AggregationColumn = N'ISNULL(PropertyStrValue0, PropertyNumValue0)'
, @StaticColumnList = @StaticColumnList;
/* Get SQL 2017 data */
INSERT INTO #SQLProducts
EXECUTE dbo.usp_PivotWithDynamicColumns
@TableName = N'dbo.v_GS_EXT_SQL_2017_Property0'
, @NonPivotedColumn = N'ResourceID'
, @DynamicColumn = N'PropertyName0'
, @AggregationColumn = N'ISNULL(PropertyStrValue0, PropertyNumValue0)'
, @StaticColumnList = @StaticColumnList;
/* Get SQL 2016 data */
INSERT INTO #SQLProducts
EXECUTE dbo.usp_PivotWithDynamicColumns
@TableName = N'dbo.v_GS_EXT_SQL_2016_Property0'
, @NonPivotedColumn = N'ResourceID'
, @DynamicColumn = N'PropertyName0'
, @AggregationColumn = N'ISNULL(PropertyStrValue0, PropertyNumValue0)'
, @StaticColumnList = @StaticColumnList;
/* Get SQL 2014 data data */
INSERT INTO #SQLProducts
EXECUTE dbo.usp_PivotWithDynamicColumns
@TableName = N'dbo.v_GS_EXT_SQL_2014_Property0'
, @NonPivotedColumn = N'ResourceID'
, @DynamicColumn = N'PropertyName0'
, @AggregationColumn = N'ISNULL(PropertyStrValue0, PropertyNumValue0)'
, @StaticColumnList = @StaticColumnList;
/* Get SQL 2012 data */
INSERT INTO #SQLProducts
EXECUTE dbo.usp_PivotWithDynamicColumns
@TableName = N'dbo.v_GS_EXT_SQL_2012_Property0'
, @NonPivotedColumn = N'ResourceID'
, @DynamicColumn = N'PropertyName0'
, @AggregationColumn = N'ISNULL(PropertyStrValue0, PropertyNumValue0)'
, @StaticColumnList = @StaticColumnList;
/* Get SQL 2008 data */
INSERT INTO #SQLProducts
EXECUTE dbo.usp_PivotWithDynamicColumns
@TableName = N'dbo.v_GS_EXT_SQL_2008_Property0'
, @NonPivotedColumn = N'ResourceID'
, @DynamicColumn = N'PropertyName0'
, @AggregationColumn = N'ISNULL(PropertyStrValue0, PropertyNumValue0)'
, @StaticColumnList = @StaticColumnList;
/* Get SQL Legacy data */
INSERT INTO #SQLProducts
EXECUTE dbo.usp_PivotWithDynamicColumns
@TableName = N'dbo.v_GS_EXT_SQL_Legacy_Property0'
, @NonPivotedColumn = N'ResourceID'
, @DynamicColumn = N'PropertyName0'
, @AggregationColumn = N'ISNULL(PropertyStrValue0, PropertyNumValue0)'
, @StaticColumnList = @StaticColumnList;
/* Aggregate result data */
WITH SQLProducts_CTE (Release, EditionGroup, [Edition], [Version], ServicePack, CUVersion, IsClustered, Bitness, CEIPReporting, ProductKey, Device, DomainOrWorkgroup, OperatingSystem, IsVirtualMachine, CPUs, PhysicalCores, LogicalCores)
AS (
SELECT
Release = (
'SQL ' + (SELECT Release FROM @SQLRelease WHERE FileVersion = LEFT(SQLProducts.FileVersion, 4))
)
, EditionGroup = (
CASE
WHEN SQLProducts.SKUName LIKE '%enter%' THEN 'Enterprise'
WHEN SQLProducts.SKUName LIKE '%stand%' THEN 'Standard'
WHEN SQLProducts.SKUName LIKE '%expre%' THEN 'Express'
WHEN SQLProducts.SKUName LIKE '%devel%' THEN 'Developer'
WHEN SQLProducts.SKUName LIKE '%windo%' THEN 'WID'
WHEN SQLProducts.SKUName IS NULL THEN 'N/A'
ELSE 'Legacy'
END
)
, [Edition] = ISNULL(NULLIF(SQLProducts.SKUName, ''), 'N/A')
, [Version] = SQLProducts.[Version]
, ServicePack = SQLProducts.SPLevel
, CUVersion = SQLProducts.FileVersion
, IsClustered = (
CASE SQLProducts.IsClustered
WHEN 0 THEN 'No'
WHEN 1 THEN 'Yes'
ELSE NULL
END
)
, Bitness = (
CASE
WHEN SQLProducts.SKUName LIKE '%64%' THEN 'x64'
WHEN SQLProducts.SKUName IS NOT NULL THEN 'x86'
ELSE 'N/A'
END
)
, CEIPReporting = (
CASE SQLProducts.SQMReporting
WHEN 0 THEN 'No'
WHEN 1 THEN 'Yes'
ELSE NULL
END
)
, ProductKey = ISNULL(SQLProductID.DigitalProductID0, 'N/A')
, Device = Devices.[Name]
, DomainOrWorkgroup = ISNULL(Systems.Full_Domain_Name0, Systems.Resource_Domain_Or_Workgr0)
, OperatingSystem = (
IIF(
OperatingSystem.Caption0 != N''
, CONCAT(
REPLACE(OperatingSystem.Caption0, N'Microsoft ', N''), --Remove 'Microsoft ' from OperatingSystem
REPLACE(OperatingSystem.CSDVersion0, N'Service Pack ', N' SP') --Replace 'Service Pack ' with ' SP' in OperatingSystem
)
, Systems.Operating_System_Name_And0
)
)
, IsVirtualMachine = (
CASE Devices.IsVirtualMachine
WHEN 0 THEN 'No'
WHEN 1 THEN 'Yes'
ELSE NULL
END
)
, CPUs = COUNT(Processor.ResourceID)
, PhysicalCores = SUM(Processor.NumberOfCores0)
, LogicalCores = SUM(Processor.NumberOfLogicalProcessors0)
FROM fn_rbac_FullCollectionMembership(@UserSIDs) AS CollectionMembers
JOIN v_R_System AS Systems ON Systems.ResourceID = CollectionMembers.ResourceID
JOIN v_CombinedDeviceResources AS Devices ON Devices.MachineID = CollectionMembers.ResourceID
JOIN v_GS_PROCESSOR AS Processor ON Processor.ResourceID = CollectionMembers.ResourceID
JOIN #SQLProducts AS SQLProducts ON SQLProducts.ResourceID = CollectionMembers.ResourceID
LEFT JOIN fn_rbac_GS_OPERATING_SYSTEM(@UserSIDs) AS OperatingSystem ON OperatingSystem.ResourceID = CollectionMembers.ResourceID
LEFT JOIN dbo.v_GS_EXT_SQL_PRODUCTID0 AS SQLProductID ON SQLProductID.ResourceID = SQLProducts.ResourceID
AND SQLProductID.Release0 = (
SELECT Release FROM @SQLRelease WHERE FileVersion = LEFT(SQLProducts.FileVersion, 4)
)
AND SQLProductID.ProductID0 IS NOT NULL
WHERE CollectionMembers.CollectionID = @CollectionID
GROUP BY
SQLProducts.FileVersion
, SQLProducts.SKUName
, SQLProducts.[Version]
, SQLProducts.SPLevel
, SQLProducts.IsClustered
, SQLProducts.SQMReporting
, SQLProductID.DigitalProductID0
, Devices.[Name]
, Systems.Full_Domain_Name0
, Systems.Resource_Domain_Or_Workgr0
, Systems.Operating_System_Name_and0
, Systems.Build01
, OperatingSystem.Caption0
, OperatingSystem.CSDVersion0
, Devices.IsVirtualMachine
, Processor.NumberOfCores0
, Processor.NumberOfLogicalProcessors0
)
/* Filter results */
SELECT
Release
, EditionGroup
, [Edition]
, [Version]
, ServicePack
, CUVersion
, IsClustered
, Bitness
, CEIPReporting
, ProductKey
, Device
, DomainOrWorkgroup
, OperatingSystem
, IsVirtualMachine
, CPUs
, PhysicalCores
, LogicalCores
FROM SQLProducts_CTE
WHERE EditionGroup NOT IN (@Filter)
/* Perform cleanup */
IF OBJECT_ID('tempdb..#SQLProducts', 'U') IS NOT NULL
DROP TABLE #SQLProducts;
/* #endregion */
/*##=============================================*/
/*## END QUERY BODY */
/*##=============================================*/
true
Release
System.String
EditionGroup
System.String
Edition
System.String
Version
System.String
ServicePack
System.String
CUVersion
System.String
IsClustered
System.String
Bitness
System.String
CEIPReporting
System.String
ProductKey
System.String
Device
System.String
DomainOrWorkgroup
System.String
OperatingSystem
System.String
IsVirtualMachine
System.String
CPUs
System.Int32
PhysicalCores
System.Int32
LogicalCores
System.Int32
1.47018in
8.35556in
0.4in
true
true
=SrsResources.Localization.GetString("Description", User!Language)
2pt
2pt
2pt
2pt
true
true
Lists SQL version and product key information.
Report_DescriptionLabel
5pt
2pt
2pt
2pt
SQLProductInfo
0.03194in
0.127cm
0.4in
9.82574in
0.44815in
0.04887in
0in
20.67956in
1
1.5pt
1.5pt
1.5pt
1.5pt
1.5pt
3.71708cm
4.02104cm
2.15604cm
2.23542cm
2.60583cm
2.35417cm
1.83854cm
0.6cm
true
=Fields!DomainOrWorkgroup.Value
true
=SrsResources.Localization.GetString("Domain or Workgroup", User!Language)
LightGrey
Middle
2pt
2pt
2pt
2pt
true
=Fields!OperatingSystem.Value
true
=SrsResources.Localization.GetString("OperatingSystem", User!Language)
LightGrey
Middle
2pt
2pt
2pt
2pt
true
=Fields!IsVirtualMachine.Value
true
=SrsResources.Localization.GetString("VM", User!Language)
LightGrey
Middle
2pt
2pt
2pt
2pt
true
=Fields!CPUs.Value
true
=SrsResources.Localization.GetString("CPUs", User!Language)
LightGrey
Middle
2pt
2pt
2pt
2pt
true
=Fields!PhysicalCores.Value
true
=SrsResources.Localization.GetString("Physical Cores", User!Language)
LightGrey
Middle
2pt
2pt
2pt
2pt
true
=Fields!LogicalCores.Value
true
=SrsResources.Localization.GetString("Logical Cores", User!Language)
LightGrey
Middle
2pt
2pt
2pt
2pt
true
=Sum(CountDistinct(Fields!Device.Value))
Release
true
=SrsResources.Localization.GetString("Total", User!Language)
LightGrey
Middle
2pt
2pt
2pt
2pt
0.6cm
true
true
Textbox230
Middle
2pt
2pt
2pt
2pt
true
true
Textbox231
Middle
2pt
2pt
2pt
2pt
true
true
Textbox232
Middle
2pt
2pt
2pt
2pt
true
true
Textbox233
Middle
2pt
2pt
2pt
2pt
true
true
Textbox234
Middle
2pt
2pt
2pt
2pt
true
true
Textbox235
Middle
2pt
2pt
2pt
2pt
true
true
Textbox279
Middle
2pt
2pt
2pt
2pt
0.6cm
true
true
Textbox162
WhiteSmoke
Middle
2pt
2pt
2pt
2pt
true
true
Textbox163
WhiteSmoke
Middle
2pt
2pt
2pt
2pt
true
true
Textbox164
WhiteSmoke
Middle
2pt
2pt
2pt
2pt
true
true
Textbox165
WhiteSmoke
Middle
2pt
2pt
2pt
2pt
true
true
Textbox166
WhiteSmoke
Middle
2pt
2pt
2pt
2pt
true
true
Textbox167
WhiteSmoke
Middle
2pt
2pt
2pt
2pt
true
true
=CountDistinct(Fields!Device.Value)
WhiteSmoke
Middle
2pt
2pt
2pt
2pt
0.6cm
true
true
Textbox301
Middle
2pt
2pt
2pt
2pt
true
true
Textbox302
Middle
2pt
2pt
2pt
2pt
true
true
Textbox303
Middle
2pt
2pt
2pt
2pt
true
true
Textbox304
Middle
2pt
2pt
2pt
2pt
true
true
Textbox305
Middle
2pt
2pt
2pt
2pt
true
true
Textbox306
Middle
2pt
2pt
2pt
2pt
true
true
Textbox10
Middle
2pt
2pt
2pt
2pt
0.6cm
true
true
=Fields!DomainOrWorkgroup.Value
WhiteSmoke
Middle
2pt
2pt
2pt
2pt
true
true
=Fields!OperatingSystem.Value
WhiteSmoke
Middle
2pt
2pt
2pt
2pt
true
true
=Fields!IsVirtualMachine.Value
WhiteSmoke
Middle
2pt
2pt
2pt
2pt
true
true
=Fields!CPUs.Value
WhiteSmoke
Middle
2pt
2pt
2pt
2pt
true
true
=Fields!PhysicalCores.Value
WhiteSmoke
Middle
2pt
2pt
2pt
2pt
true
true
=Fields!LogicalCores.Value
WhiteSmoke
Middle
2pt
2pt
2pt
2pt
true
true
=CountDistinct(Fields!Device.Value)
WhiteSmoke
Middle
2pt
2pt
2pt
2pt
0.6cm
true
true
Textbox80
LightGrey
Middle
2pt
2pt
2pt
2pt
true
true
Textbox83
LightGrey
Middle
2pt
2pt
2pt
2pt
true
true
Textbox86
LightGrey
Middle
2pt
2pt
2pt
2pt
true
true
Textbox89
LightGrey
Middle
2pt
2pt
2pt
2pt
true
true
Textbox92
LightGrey
Middle
2pt
2pt
2pt
2pt
true
true
Textbox284
LightGrey
Middle
2pt
2pt
2pt
2pt
true
true
=CountDistinct(Fields!Device.Value)
LightGrey
Middle
2pt
2pt
2pt
2pt
2.46025cm
true
=Fields!Release.Value
Release
true
=SrsResources.Localization.GetString("Release", User!Language)
LightGrey
Middle
2pt
2pt
2pt
2pt
2.63229cm
true
=Fields!EditionGroup.Value
EditionGroup
true
=SrsResources.Localization.GetString("Edition Group", User!Language)
LightGrey
Middle
2pt
2pt
2pt
2pt
4.48437cm
true
=Fields!Edition.Value
Edition
true
=SrsResources.Localization.GetString("Edition", User!Language)
LightGrey
Middle
2pt
2pt
2pt
2pt
2.71167cm
true
=Fields!Version.Value
Edition
true
=SrsResources.Localization.GetString("Version", User!Language)
LightGrey
Middle
2pt
2pt
2pt
2pt
2.44708cm
true
=Fields!ServicePack.Value
Edition
true
=SrsResources.Localization.GetString("SP", User!Language)
LightGrey
Middle
2pt
2pt
2pt
2pt
2.5cm
true
=Fields!CUVersion.Value
Edition
true
=SrsResources.Localization.GetString("CU", User!Language)
LightGrey
Middle
2pt
2pt
2pt
2pt
2.38063cm
true
=Fields!IsClustered.Value
Edition
true
=SrsResources.Localization.GetString("Clustered", User!Language)
LightGrey
Middle
2pt
2pt
2pt
2pt
2.28833cm
true
=Fields!Bitness.Value
Edition
true
=SrsResources.Localization.GetString("Bitness", User!Language)
LightGrey
Middle
2pt
2pt
2pt
2pt
2.5cm
true
=Fields!CEIPReporting.Value
Edition
true
=SrsResources.Localization.GetString("CEIP", User!Language)
LightGrey
Middle
2pt
2pt
2pt
2pt
5.82021cm
true
true
=SrsResources.Localization.GetString("Product Key", User!Language)
LightGrey
Middle
2pt
2pt
2pt
2pt
3.37313cm
true
=Fields!Device.Value
true
=SrsResources.Localization.GetString("Device", User!Language)
LightGrey
Middle
2pt
2pt
2pt
2pt
=Fields!Release.Value
=Fields!Release.Value
=Fields!EditionGroup.Value
=Fields!Edition.Value
=Fields!Version.Value
=Fields!ServicePack.Value
=Fields!CUVersion.Value
=Fields!IsClustered.Value
=Fields!Bitness.Value
=Fields!CEIPReporting.Value
=Fields!ProductKey.Value
=Fields!Device.Value
=Fields!DomainOrWorkgroup.Value
=Fields!OperatingSystem.Value
=Fields!IsVirtualMachine.Value
=Fields!CPUs.Value
=Fields!PhysicalCores.Value
=Fields!LogicalCores.Value
2.46025cm
true
true
=Fields!Release.Value
Middle
2pt
2pt
2pt
2pt
2.63229cm
true
true
Textbox222
Middle
2pt
2pt
2pt
2pt
4.48437cm
true
true
Textbox223
Middle
2pt
2pt
2pt
2pt
2.71167cm
true
true
Textbox224
Middle
2pt
2pt
2pt
2pt
2.44708cm
true
true
Textbox225
Middle
2pt
2pt
2pt
2pt
2.5cm
true
true
Textbox226
Middle
2pt
2pt
2pt
2pt
2.38063cm
true
true
Textbox273
Middle
2pt
2pt
2pt
2pt
2.28833cm
true
true
Textbox227
Middle
2pt
2pt
2pt
2pt
2.5cm
true
true
Textbox2
Middle
2pt
2pt
2pt
2pt
5.82021cm
true
true
Textbox228
Middle
2pt
2pt
2pt
2pt
3.37313cm
true
true
Textbox229
Middle
2pt
2pt
2pt
2pt
After
=Fields!EditionGroup.Value
=Fields!EditionGroup.Value
2.63229cm
true
true
=Fields!EditionGroup.Value
WhiteSmoke
Middle
2pt
2pt
2pt
2pt
4.48437cm
true
true
Textbox155
WhiteSmoke
Middle
2pt
2pt
2pt
2pt
2.71167cm
true
true
Textbox156
WhiteSmoke
Middle
2pt
2pt
2pt
2pt
2.44708cm
true
true
Textbox157
WhiteSmoke
Middle
2pt
2pt
2pt
2pt
2.5cm
true
true
Textbox158
WhiteSmoke
Middle
2pt
2pt
2pt
2pt
2.38063cm
true
true
Textbox274
WhiteSmoke
Middle
2pt
2pt
2pt
2pt
2.28833cm
true
true
Textbox159
WhiteSmoke
Middle
2pt
2pt
2pt
2pt
2.5cm
true
true
Textbox3
WhiteSmoke
Middle
2pt
2pt
2pt
2pt
5.82021cm
true
true
Textbox160
WhiteSmoke
Middle
2pt
2pt
2pt
2pt
3.37313cm
true
true
Textbox169
WhiteSmoke
Middle
2pt
2pt
2pt
2pt
After
=Fields!Edition.Value
=Fields!Edition.Value
4.48437cm
true
true
=Fields!Edition.Value
Middle
2pt
2pt
2pt
2pt
=Fields!Version.Value
=Fields!Version.Value
2.71167cm
true
true
=Fields!Version.Value
Middle
2pt
2pt
2pt
2pt
=Fields!ServicePack.Value
=Fields!ServicePack.Value
2.44708cm
true
true
=Fields!ServicePack.Value
Middle
2pt
2pt
2pt
2pt
=Fields!CUVersion.Value
=Fields!CUVersion.Value
2.5cm
true
true
=Fields!CUVersion.Value
Middle
2pt
2pt
2pt
2pt
2.38063cm
true
true
=Fields!IsClustered.Value
Middle
2pt
2pt
2pt
2pt
=Fields!Bitness.Value
=Fields!Bitness.Value
2.28833cm
true
true
=Fields!Bitness.Value
Middle
2pt
2pt
2pt
2pt
=Fields!CEIPReporting.Value
=Fields!CEIPReporting.Value
2.5cm
true
true
=Fields!CEIPReporting.Value
Middle
2pt
2pt
2pt
2pt
5.82021cm
true
true
ProductKey
Middle
2pt
2pt
2pt
2pt
3.37313cm
true
true
Textbox300
Middle
2pt
2pt
2pt
2pt
=Fields!ProductKey.Value
5.82021cm
true
true
=IIF(Fields!EditionGroup.Value <> "Express" and Fields!EditionGroup.Value <> "Developer", IIF(Parameters!HideProductKey.Value = false, Code.GetSQLProductKey(Split(Replace(Fields!ProductKey.Value, " ",""), ","), Left(Fields!Version.Value, 2)), "Hidden"), Nothing)
WhiteSmoke
Middle
2pt
2pt
2pt
2pt
3.37313cm
true
true
=Fields!Device.Value
WhiteSmoke
Middle
2pt
2pt
2pt
2pt
TV_CEIPReporting
TV_EditionGroup
TV_Release
2.46025cm
true
true
Total
LightGrey
Middle
2pt
2pt
2pt
2pt
2.63229cm
true
true
Textbox104
LightGrey
Middle
2pt
2pt
2pt
2pt
4.48437cm
true
true
Textbox107
LightGrey
Middle
2pt
2pt
2pt
2pt
2.71167cm
true
true
Textbox49
LightGrey
Middle
2pt
2pt
2pt
2pt
2.44708cm
true
true
Textbox113
LightGrey
Middle
2pt
2pt
2pt
2pt
2.5cm
true
true
Textbox116
LightGrey
Middle
2pt
2pt
2pt
2pt
2.38063cm
true
true
Textbox277
LightGrey
Middle
2pt
2pt
2pt
2pt
2.28833cm
true
true
Textbox119
LightGrey
Middle
2pt
2pt
2pt
2pt
2.5cm
true
true
Textbox6
LightGrey
Middle
2pt
2pt
2pt
2pt
5.82021cm
true
true
Textbox122
LightGrey
Middle
2pt
2pt
2pt
2pt
3.37313cm
true
true
Textbox172
LightGrey
Middle
2pt
2pt
2pt
2pt
SQLProductInfo
1.2997cm
0.12413cm
3.6cm
52.52608cm
2
4.8997cm
52.80896cm
2.49515cm
true
true
true
true
=SrsResources.Localization.GetString(Globals!ReportName, User!Language)
1.59698cm
0.127cm
0.89817cm
24.95739cm
Middle
2pt
2pt
2pt
2pt
0.60444in
0.05in
0in
20.67843in
1
0.75pt
0.75pt
0.75pt
0.75pt
0.75pt
1.25148cm
true
true
true
true
="Page: " + Globals!PageNumber.ToString() + "of " + Globals!TotalPages.ToString()
0.38806cm
0.12413cm
0.63492cm
2.79292cm
0.06944in
0.04887in
0in
20.67956in
1
1.5pt
1.5pt
1.5pt
1.5pt
1.5pt
21cm
29.7cm
2.54cm
2.54cm
2.54cm
2.54cm
1.27cm
String
=SrsResources.UserIdentity.GetUserSIDs(User!UserID)
UserTokenSIDs
true
7b5f538e-1262-4705-a7df-7d4d398a195e
/Report Parts/UserTokenSIDs
2015-02-25T11:56:20.9330000+02:00
String
AdminID
UserSIDs
true
2c7b7dc1-c255-43f4-b6eb-9836f5be644e
/Report Parts/UserSIDs
2015-02-25T11:56:21.3870000+02:00
String
true
=Globals!ReportName
true
true
String
Collection Name
CollectionInfo
CollectionID
Name
String
N/A
true
Filter by edition groups (multiple selection)
N/A
Enterprise
Standard
Express
Developer
Legacy
WID
true
Boolean
false
Hide Product Key
true
false
4
4
0
0
UserTokenSIDs
1
0
UserSIDs
2
0
ReportName
1
1
CollectionID
2
1
Filter
3
1
HideProductKey
'.SYNOPSIS
' Gets SQL product key.
'.DESCRIPTION
' Gets SQL product key from a binary string array.
'.PARAMETER astrBinaryKey
' Specifies the obfuscated key.
'.PARAMETER intVersion
' Specifies the SQL version.
'.EXAMPLE
' Code.GetSQLProductKey(Fields!SomeField.Value, 12) (SSRS)
'.EXAMPLE
' GetSQLProductKey({1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0}, 12) (VB.Net)
'.NOTES
' Created by Ioan Popovici.
' Credit to Jakob Bindslet and Chrissy LeMaire.
' I only translated the script in Visual Basic, nothing else.
'.LINK
' http://mspowershell.blogspot.com/2010/11/sql-server-product-key.html (Jakob Bindslet)
' https://gallery.technet.microsoft.com/scriptcenter/Get-SQL-Server-Product-4b5bf4f8 (Chrissy LeMaire)
'.LINK
' https://MEM.Zone
'.LINK
' https://MEMZ.one/SW-SQL-Server-Products
'.LINK
' https://MEM.Zone/ISSUES
'
'/*##=============================================*/
'/*## SCRIPT BODY */
'/*##=============================================*/
'/* #region FunctionBody */
Function GetSQLProductKey(ByVal astrBinaryKey As String(), ByVal intVersion As Integer) As String
Dim achrKeyChars As Char() = {"B", "C", "D", "F", "G", "H", "J", "K", "M", "P", "Q", "R", "T", "V", "W", "X", "Y", "2", "3", "4", "6", "7", "8", "9"}
Dim strSQLProductKey As String
Dim iastrBinaryKey As Long
Dim iachrKeyChars As Long
Dim iastrBinaryKeyOuterLoop As Long
Dim iastrBinaryKeyInnerLoop As Long
Try
If (intVersion >= 11) Then
iastrBinaryKey = 0
Else
iastrBinaryKey = 52
End If
For iastrBinaryKeyOuterLoop = 24 To 0 Step -1
iachrKeyChars = 0
For iastrBinaryKeyInnerLoop = 14 To 0 Step -1
iachrKeyChars = iachrKeyChars * 256 Xor astrBinaryKey(iastrBinaryKeyInnerLoop + iastrBinaryKey)
astrBinaryKey(iastrBinaryKeyInnerLoop + iastrBinaryKey) = Math.Truncate(iachrKeyChars / 24)
iachrKeyChars = iachrKeyChars Mod 24
Next iastrBinaryKeyInnerLoop
strSQLProductKey = achrKeyChars(iachrKeyChars) + strSQLProductKey
If (iastrBinaryKeyOuterLoop Mod 5) = 0 And iastrBinaryKeyOuterLoop <> 0 Then
strSQLProductKey = "-" + strSQLProductKey
End If
Next iastrBinaryKeyOuterLoop
Catch
strSQLProductKey = "Cannot decode product key."
End Try
GetSQLProductKey = strSQLProductKey
End Function
'/* #endregion */
'/*##=============================================*/
'/*## END SCRIPT BODY */
'/*##=============================================*/
SrsResources, Culture=neutral
Cm
http://YOUR_SSRS_SERVER_DNS_NAME/ReportServer
6fbd236a-d836-4950-8788-14b828deb616