From a565c62cea5bed225ad6136db079128fd5d573f2 Mon Sep 17 00:00:00 2001 From: JosephPilov-msft <23519517+PiJoCoder@users.noreply.github.com> Date: Thu, 18 Apr 2024 09:56:22 -0500 Subject: [PATCH 1/5] Add rowset for missing msi/msp files #336 --- RowsetImportEngine/TextRowsets.xml | 9 +++++++++ sqlnexus/TextRowsets.xml | 9 +++++++++ 2 files changed, 18 insertions(+) diff --git a/RowsetImportEngine/TextRowsets.xml b/RowsetImportEngine/TextRowsets.xml index e4d4e4b..7593ec1 100644 --- a/RowsetImportEngine/TextRowsets.xml +++ b/RowsetImportEngine/TextRowsets.xml @@ -4348,6 +4348,15 @@ + + + + + + + + + diff --git a/sqlnexus/TextRowsets.xml b/sqlnexus/TextRowsets.xml index e4d4e4b..7593ec1 100644 --- a/sqlnexus/TextRowsets.xml +++ b/sqlnexus/TextRowsets.xml @@ -4348,6 +4348,15 @@ + + + + + + + + + From 6b236b16bce964c0c58ed11333bfe8431851f91b Mon Sep 17 00:00:00 2001 From: JosephPilov-msft <23519517+PiJoCoder@users.noreply.github.com> Date: Thu, 18 Apr 2024 17:50:41 -0500 Subject: [PATCH 2/5] #336 fixed table name + added Best practices rule --- RowsetImportEngine/TextRowsets.xml | 2 +- sqlnexus/PerfStatsAnalysis.sql | 139 ++++++++++++++++++++--------- sqlnexus/TextRowsets.xml | 2 +- 3 files changed, 99 insertions(+), 44 deletions(-) diff --git a/RowsetImportEngine/TextRowsets.xml b/RowsetImportEngine/TextRowsets.xml index 7593ec1..e514c5a 100644 --- a/RowsetImportEngine/TextRowsets.xml +++ b/RowsetImportEngine/TextRowsets.xml @@ -4349,7 +4349,7 @@ - + diff --git a/sqlnexus/PerfStatsAnalysis.sql b/sqlnexus/PerfStatsAnalysis.sql index 500bddb..8260148 100644 --- a/sqlnexus/PerfStatsAnalysis.sql +++ b/sqlnexus/PerfStatsAnalysis.sql @@ -4559,6 +4559,28 @@ VALUES 'Common Criteria Compliance Enabled', 'Enabling this can cause performance issues', '', 'https://learn.microsoft.com/en-us/sql/database-engine/configure-windows/common-criteria-compliance-enabled-server-configuration-option?view=sql-server-ver16', ' ', 1, 100, 0, 'Server Configuration'); +INSERT INTO dbo.tbl_AnalysisSummary +( + SolutionSourceId, + Category, + Type, + TypeDesc, + Name, + FriendlyName, + Description, + InternalUrl, + ExternalUrl, + Author, + Priority, + SeqNum, + Status, + Report +) +VALUES +('E57F6CE6-EFCC-48B0-B82A-373ED6DF3434', 'Setup', 'W', 'Warning', 'usp_MissingMSI_MSP', + 'Missing installation MSI/MSPs on the system', 'These can cause various CU/SP upgrade error messages or unexpected behaviors', '', + 'https://learn.microsoft.com/en-us/troubleshoot/sql/database-engine/install/windows/restore-missing-windows-installer-cache-files', + ' ', 1, 100, 0, 'Missing MSI or MSPs'); @@ -5551,7 +5573,7 @@ BEGIN END; GO -CREATE PROCEDURE usp_DBMEndPointState +CREATE PROCEDURE dbo.usp_DBMEndPointState AS BEGIN DECLARE @hadr_endpoint VARCHAR(128), @@ -5583,7 +5605,7 @@ BEGIN END; GO -CREATE PROCEDURE usp_HugeGrant +CREATE PROCEDURE dbo.usp_HugeGrant AS BEGIN DECLARE @cnt INT, @@ -5620,7 +5642,7 @@ END; GO -CREATE PROCEDURE Optimizer_Memory_Leak +CREATE PROCEDURE dbo.Optimizer_Memory_Leak AS BEGIN DECLARE @SQLVersion VARCHAR(100); @@ -7117,7 +7139,38 @@ BEGIN BEGIN UPDATE dbo.tbl_AnalysisSummary SET [Status] = 1 - WHERE Name = 'usp_CCC_Enabled'; + WHERE [Name] = OBJECT_NAME(@@PROCID); + END; + END; +END; +GO + +CREATE PROCEDURE [dbo].[usp_MissingMSI_MSP] +AS +BEGIN + IF ( + OBJECT_ID('tbl_setup_missing_msi_msp_packages') IS NOT NULL + AND (OBJECT_ID('tbl_AnalysisSummary') IS NOT NULL) + ) + BEGIN + IF ( + ( + SELECT COUNT(*) + FROM [dbo].[tbl_setup_missing_msi_msp_packages] + ) > 0 + ) + BEGIN + + DECLARE @InstCacheFiles VARCHAR(8000) + SELECT @InstCacheFiles = COALESCE(@InstCacheFiles + CHAR(13) + CHAR(10) , '') + ISNULL([ExpectedInstallerCacheFile], '') + FROM dbo.tbl_setup_missing_msi_msp_packages + + + UPDATE dbo.tbl_AnalysisSummary + SET [Status] = 1, + [Description] = 'The following SQL Server MSI/MSPs are missing from the system. These can cause various CU or SP upgrade issues or unexpected behaviors: ' + + CHAR(13) + CHAR(10) + @InstCacheFiles + CHAR(13) + CHAR(10) + 'Be sure to use the linked article to resolve the missing MSI/MSP issues.' + WHERE [Name] = OBJECT_NAME(@@PROCID); END; END; END; @@ -7129,89 +7182,91 @@ GO firing rules ********************************************************/ -EXEC usp_AttendtionCausedBlocking; +EXEC dbo.usp_AttendtionCausedBlocking; GO -EXEC usp_PerfScriptsRunningLong; +EXEC dbo.usp_PerfScriptsRunningLong; GO -EXEC usp_LongAutoUpdateStats; +EXEC dbo.usp_LongAutoUpdateStats; GO -EXEC usp_HighStmtCount; +EXEC dbo.usp_HighStmtCount; GO -EXEC usp_RG_Idle; +EXEC dbo.usp_RG_Idle; GO -EXEC usp_HighCompile; +EXEC dbo.usp_HighCompile; GO -EXEC usp_HighCacheCount; +EXEC dbo.usp_HighCacheCount; GO -EXEC proc_PowerPlan; +EXEC dbo.proc_PowerPlan; GO -EXEC proc_CheckTraceFlags; +EXEC dbo.proc_CheckTraceFlags; GO -EXEC proc_AutoStats; +EXEC dbo.proc_AutoStats; GO -EXEC proc_ConfigAlert; +EXEC dbo.proc_ConfigAlert; GO -EXEC usp_ExcessiveLockXevent; +EXEC dbo.usp_ExcessiveLockXevent; GO -EXEC usp_McAFee_Intrusion; +EXEC dbo.usp_McAFee_Intrusion; GO -EXEC usp_BatchSort; +EXEC dbo.usp_BatchSort; GO EXEC dbo.usp_OptimizerTimeout; GO -EXEC usp_SmallSampledStats; +EXEC dbo.usp_SmallSampledStats; GO -EXEC usp_DisabledIndex; +EXEC dbo.usp_DisabledIndex; GO -EXEC usp_AccessCheck; +EXEC dbo.usp_AccessCheck; GO -EXEC usp_RedoThreadBlocked; +EXEC dbo.usp_RedoThreadBlocked; GO -EXEC usp_VirtualBytesLeak; +EXEC dbo.usp_VirtualBytesLeak; GO -EXEC usp_ChangeTableCauseHighCPU; +EXEC dbo.usp_ChangeTableCauseHighCPU; GO EXEC dbo.usp_DeadlockTraceFlag; GO -EXEC usp_Expensive_TraceEvts_Used; +EXEC dbo.usp_Expensive_TraceEvts_Used; GO EXEC usp_Expensive_XEvts_Used; GO -EXEC usp_ExcessiveTrace_Warning; +EXEC dbo.usp_ExcessiveTrace_Warning; GO -EXEC OracleLinkedServerIssue; +EXEC dbo.OracleLinkedServerIssue; GO -EXEC XEventcrash; +EXEC dbo.XEventcrash; GO -EXEC usp_Non_SQL_CPU_consumption; +EXEC dbo.usp_Non_SQL_CPU_consumption; GO -EXEC usp_KernelHighCPUconsumption; +EXEC dbo.usp_KernelHighCPUconsumption; GO -EXEC usp_SQLHighCPUconsumption; +EXEC dbo.usp_SQLHighCPUconsumption; GO -EXEC StaleStatswarning2008; +EXEC dbo.StaleStatswarning2008; GO EXEC dbo.usp_IOAnalysis; GO -EXEC usp_WarnmissingIndex; +EXEC dbo.usp_WarnmissingIndex; GO -EXEC Optimizer_Memory_Leak; +EXEC dbo.Optimizer_Memory_Leak; GO EXEC dbo.usp_HugeGrant; GO -EXEC usp_HighRecompiles; +EXEC dbo.usp_HighRecompiles; +GO +EXEC dbo.usp_oldce; GO -EXEC usp_oldce; +EXEC dbo.usp_CalvsCore; GO -EXEC usp_CalvsCore; +EXEC dbo.usp_Spinlock_HighCPU; GO -EXEC usp_Spinlock_HighCPU; +EXEC dbo.usp_NonMS_LoadedModules; GO -EXEC usp_NonMS_LoadedModules; +EXEC dbo.usp_DBMEndPointState; GO -EXEC usp_DBMEndPointState; +EXEC dbo.usp_AGHealthState; GO -EXEC usp_AGHealthState; +EXEC dbo.usp_CCC_Enabled; GO -EXEC usp_CCC_Enabled; +EXEC dbo.usp_MissingMSI_MSP /******END of script***/ \ No newline at end of file diff --git a/sqlnexus/TextRowsets.xml b/sqlnexus/TextRowsets.xml index 7593ec1..e514c5a 100644 --- a/sqlnexus/TextRowsets.xml +++ b/sqlnexus/TextRowsets.xml @@ -4349,7 +4349,7 @@ - + From 0e64ef78b86279da1ee9f84908362420f12384ad Mon Sep 17 00:00:00 2001 From: JosephPilov-msft <23519517+PiJoCoder@users.noreply.github.com> Date: Fri, 19 Apr 2024 14:53:34 -0500 Subject: [PATCH 3/5] #336 added a Missing MSI/MSPs report accessible from Main and Best practices --- NexusReports/AnalysisSummary_C.rdl | 2 + NexusReports/AnalysisSummary_C.rdl.data | Bin 0 -> 27648 bytes NexusReports/Missing_MSIs_or_MSPs_C.rdl | 483 +++++++++++++++++++ NexusReports/Missing_MSIs_or_MSPs_C.rdl.data | Bin 0 -> 7168 bytes NexusReports/NexusReports.rptproj | 1 + NexusReports/SQL Perf Main.rdl | 19 + sqlnexus/Reports/AnalysisSummary_C.rdlC | 2 + sqlnexus/Reports/Missing_MSIs_or_MSPs_C.rdlC | 483 +++++++++++++++++++ sqlnexus/Reports/SQL Perf Main.rdl | 19 + sqlnexus/sqlnexus.csproj | 13 + 10 files changed, 1022 insertions(+) create mode 100644 NexusReports/AnalysisSummary_C.rdl.data create mode 100644 NexusReports/Missing_MSIs_or_MSPs_C.rdl create mode 100644 NexusReports/Missing_MSIs_or_MSPs_C.rdl.data create mode 100644 sqlnexus/Reports/Missing_MSIs_or_MSPs_C.rdlC diff --git a/NexusReports/AnalysisSummary_C.rdl b/NexusReports/AnalysisSummary_C.rdl index 1ca7344..e9d1519 100644 --- a/NexusReports/AnalysisSummary_C.rdl +++ b/NexusReports/AnalysisSummary_C.rdl @@ -675,6 +675,7 @@ Fields!Report.Value = "Missing Indexes", "Missing Indexes_C", Fields!Report.Value = "Spinlock Stats", "Spinlock Stats_C", Fields!Report.Value = "Loaded Modules", "Loaded Modules_C", Fields!Report.Value = "AlwaysOn Report", "AlwaysOn_AGBasics_C", +Fields!Report.Value = "Missing MSI or MSPs", "Missing_MSIs_or_MSPs_C", Fields!Report.Value = "data imported with older SQLNexus version", Nothing, Fields!Report.Value = "", Nothing) @@ -699,6 +700,7 @@ Fields!Report.Value = "", Nothing) 2pt + true diff --git a/NexusReports/AnalysisSummary_C.rdl.data b/NexusReports/AnalysisSummary_C.rdl.data new file mode 100644 index 0000000000000000000000000000000000000000..93a0154829051dddcd531e49083635ece9905484 GIT binary patch literal 27648 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 literal 0 HcmV?d00001 diff --git a/NexusReports/Missing_MSIs_or_MSPs_C.rdl b/NexusReports/Missing_MSIs_or_MSPs_C.rdl new file mode 100644 index 0000000..167cfde --- /dev/null +++ b/NexusReports/Missing_MSIs_or_MSPs_C.rdl @@ -0,0 +1,483 @@ + + + Segoe UI + 0 + + + + SQL + Data Source=.;Initial Catalog=sqlnexus + true + + Integrated + 0f1ed670-5012-406a-a02d-e35acc6f31d6 + + + + + + DataSource_Private + SELECT + ProductName, + Version, + PackageName, + ExpectedInstallerCacheFile +FROM dbo.tbl_setup_missing_msi_msp_packages + true + + + + ProductName + System.String + + + Version + System.String + + + PackageName + System.String + + + ExpectedInstallerCacheFile + System.String + + + + + + + + + + true + true + + + + + Missing installation MSIs or MSPs from Installaer Cache + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + 3.13542in + + + 1.23958in + + + 2.79167in + + + 3.90625in + + + + + 0.37104in + + + + + true + true + + + + + Product Name + + + + + + + + + + + + MediumSlateBlue + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Version + + + + + + + + + + + + MediumSlateBlue + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Package Name + + + + + + + + + + + + MediumSlateBlue + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Expected Installer Cache File + + + + + + + + + + + + MediumSlateBlue + + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.36104in + + + + + true + true + + + + + =Fields!ProductName.Value + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!Version.Value + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!PackageName.Value + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!ExpectedInstallerCacheFile.Value + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + + + + + + + + + + + + + After + true + true + + + + Detail + + + + + Detail_Collection + Output + true + + + + DataSet1 + 0.73208in + 0.73208in + 11.07292in + 1 + + true diff --git a/sqlnexus/Reports/Missing_MSIs_or_MSPs_C.rdlC b/sqlnexus/Reports/Missing_MSIs_or_MSPs_C.rdlC new file mode 100644 index 0000000..167cfde --- /dev/null +++ b/sqlnexus/Reports/Missing_MSIs_or_MSPs_C.rdlC @@ -0,0 +1,483 @@ + + + Segoe UI + 0 + + + + SQL + Data Source=.;Initial Catalog=sqlnexus + true + + Integrated + 0f1ed670-5012-406a-a02d-e35acc6f31d6 + + + + + + DataSource_Private + SELECT + ProductName, + Version, + PackageName, + ExpectedInstallerCacheFile +FROM dbo.tbl_setup_missing_msi_msp_packages + true + + + + ProductName + System.String + + + Version + System.String + + + PackageName + System.String + + + ExpectedInstallerCacheFile + System.String + + + + + + + + + + true + true + + + + + Missing installation MSIs or MSPs from Installaer Cache + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + 3.13542in + + + 1.23958in + + + 2.79167in + + + 3.90625in + + + + + 0.37104in + + + + + true + true + + + + + Product Name + + + + + + + + + + + + MediumSlateBlue + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Version + + + + + + + + + + + + MediumSlateBlue + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Package Name + + + + + + + + + + + + MediumSlateBlue + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Expected Installer Cache File + + + + + + + + + + + + MediumSlateBlue + + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.36104in + + + + + true + true + + + + + =Fields!ProductName.Value + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!Version.Value + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!PackageName.Value + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!ExpectedInstallerCacheFile.Value + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + + + + + + + + + + + + + After + true + true + + + + Detail + + + + + Detail_Collection + Output + true + + + + DataSet1 + 0.73208in + 0.73208in + 11.07292in + 1 + @@ -175,7 +183,6 @@ FROM dbo.tbl_setup_missing_msi_msp_packages MediumSlateBlue - 2pt 2pt 2pt @@ -186,14 +193,14 @@ FROM dbo.tbl_setup_missing_msi_msp_packages - + true true - Package Name + File Is Present In Cache But Likely Corrupt + + + + + + + + MediumSlateBlue + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + ProductVersion + + + + @@ -228,14 +276,14 @@ FROM dbo.tbl_setup_missing_msi_msp_packages - + true true - Expected Installer Cache File + Package Name @@ -295,7 +343,7 @@ FROM dbo.tbl_setup_missing_msi_msp_packages ProductName @@ -307,18 +355,19 @@ FROM dbo.tbl_setup_missing_msi_msp_packages 2pt + true - + true true - =Fields!Version.Value + =Fields!ExpectedInstallerCacheFile.Value - 2pt 2pt 2pt 2pt + true - + true true - =Fields!PackageName.Value + =Fields!FileIsPresentInCacheButLikelyCorrupt.Value + + + + + 2pt + 2pt + 2pt + 2pt + + + true + + + + + + true + true + + + + + =Fields!ProductVersion.Value + + + + @@ -379,18 +464,19 @@ FROM dbo.tbl_setup_missing_msi_msp_packages 2pt + true - + true true - =Fields!ExpectedInstallerCacheFile.Value + =Fields!PackageName.Value @@ -415,6 +501,7 @@ FROM dbo.tbl_setup_missing_msi_msp_packages 2pt + true @@ -427,6 +514,7 @@ FROM dbo.tbl_setup_missing_msi_msp_packages + @@ -452,15 +540,19 @@ FROM dbo.tbl_setup_missing_msi_msp_packages DataSet1 0.73208in 0.73208in - 11.07292in + 13.77084in 1 + + - 11.71875in + 14.17709in 1in 1in diff --git a/RowsetImportEngine/TextRowsets.xml b/RowsetImportEngine/TextRowsets.xml index e514c5a..d3db094 100644 --- a/RowsetImportEngine/TextRowsets.xml +++ b/RowsetImportEngine/TextRowsets.xml @@ -4349,12 +4349,13 @@ - + - + + + - diff --git a/sqlnexus/PerfStatsAnalysis.sql b/sqlnexus/PerfStatsAnalysis.sql index 8260148..a137d62 100644 --- a/sqlnexus/PerfStatsAnalysis.sql +++ b/sqlnexus/PerfStatsAnalysis.sql @@ -7161,15 +7161,19 @@ BEGIN ) BEGIN - DECLARE @InstCacheFiles VARCHAR(8000) - SELECT @InstCacheFiles = COALESCE(@InstCacheFiles + CHAR(13) + CHAR(10) , '') + ISNULL([ExpectedInstallerCacheFile], '') + DECLARE @InstCacheFiles VARCHAR(8000), @InstCacheCorruptFiles VARCHAR(8000) + SELECT @InstCacheFiles = COALESCE(@InstCacheFiles + CHAR(13) + CHAR(10) , '') + ISNULL([ExpectedInstallerCacheFile], ''), + @InstCacheCorruptFiles = COALESCE(@InstCacheCorruptFiles + CHAR(13) + CHAR(10) , '') + ISNULL([FileIsPresentInCacheButLikelyCorrupt], '') FROM dbo.tbl_setup_missing_msi_msp_packages UPDATE dbo.tbl_AnalysisSummary SET [Status] = 1, [Description] = 'The following SQL Server MSI/MSPs are missing from the system. These can cause various CU or SP upgrade issues or unexpected behaviors: ' - + CHAR(13) + CHAR(10) + @InstCacheFiles + CHAR(13) + CHAR(10) + 'Be sure to use the linked article to resolve the missing MSI/MSP issues.' + + CHAR(13) + CHAR(10) + @InstCacheFiles + CHAR(13) + CHAR(10) + + 'And the following SQL Server MSI/MSPs are possibly corrupt: ' + + @InstCacheCorruptFiles + + CHAR(13) + CHAR(10) + 'Be sure to use the linked article to resolve the missing MSI/MSP issues.' WHERE [Name] = OBJECT_NAME(@@PROCID); END; END; diff --git a/sqlnexus/Reports/Missing_MSIs_or_MSPs_C.rdlC b/sqlnexus/Reports/Missing_MSIs_or_MSPs_C.rdlC index 167cfde..63bb4bf 100644 --- a/sqlnexus/Reports/Missing_MSIs_or_MSPs_C.rdlC +++ b/sqlnexus/Reports/Missing_MSIs_or_MSPs_C.rdlC @@ -19,9 +19,10 @@ DataSource_Private SELECT ProductName, - Version, - PackageName, - ExpectedInstallerCacheFile + ExpectedInstallerCacheFile, + FileIsPresentInCacheButLikelyCorrupt, + ProductVersion, + PackageName FROM dbo.tbl_setup_missing_msi_msp_packages true @@ -30,8 +31,8 @@ FROM dbo.tbl_setup_missing_msi_msp_packages ProductName System.String - - Version + + FileIsPresentInCacheButLikelyCorrupt System.String @@ -42,6 +43,10 @@ FROM dbo.tbl_setup_missing_msi_msp_packages ExpectedInstallerCacheFile System.String + + ProductVersion + System.String + @@ -87,13 +92,16 @@ FROM dbo.tbl_setup_missing_msi_msp_packages 3.13542in - 1.23958in + 3.33333in - 2.79167in + 3.27083in + + + 1.23958in - 3.90625in + 2.79167in @@ -144,14 +152,14 @@ FROM dbo.tbl_setup_missing_msi_msp_packages - + true true - Version + Expected Installer Cache File @@ -175,7 +183,6 @@ FROM dbo.tbl_setup_missing_msi_msp_packages MediumSlateBlue - 2pt 2pt 2pt @@ -186,14 +193,14 @@ FROM dbo.tbl_setup_missing_msi_msp_packages - + true true - Package Name + File Is Present In Cache But Likely Corrupt + + + + + + + + MediumSlateBlue + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + ProductVersion + + + + @@ -228,14 +276,14 @@ FROM dbo.tbl_setup_missing_msi_msp_packages - + true true - Expected Installer Cache File + Package Name @@ -295,7 +343,7 @@ FROM dbo.tbl_setup_missing_msi_msp_packages ProductName @@ -307,18 +355,19 @@ FROM dbo.tbl_setup_missing_msi_msp_packages 2pt + true - + true true - =Fields!Version.Value + =Fields!ExpectedInstallerCacheFile.Value - 2pt 2pt 2pt 2pt + true - + true true - =Fields!PackageName.Value + =Fields!FileIsPresentInCacheButLikelyCorrupt.Value + + + + + 2pt + 2pt + 2pt + 2pt + + + true + + + + + + true + true + + + + + =Fields!ProductVersion.Value + + + + @@ -379,18 +464,19 @@ FROM dbo.tbl_setup_missing_msi_msp_packages 2pt + true - + true true - =Fields!ExpectedInstallerCacheFile.Value + =Fields!PackageName.Value @@ -415,6 +501,7 @@ FROM dbo.tbl_setup_missing_msi_msp_packages 2pt + true @@ -427,6 +514,7 @@ FROM dbo.tbl_setup_missing_msi_msp_packages + @@ -452,15 +540,19 @@ FROM dbo.tbl_setup_missing_msi_msp_packages DataSet1 0.73208in 0.73208in - 11.07292in + 13.77084in 1 + + - 11.71875in + 14.17709in 1in 1in diff --git a/sqlnexus/TextRowsets.xml b/sqlnexus/TextRowsets.xml index e514c5a..d3db094 100644 --- a/sqlnexus/TextRowsets.xml +++ b/sqlnexus/TextRowsets.xml @@ -4349,12 +4349,13 @@ - + - + + + - From 04f9bd7a21216b74e83e7ce0aa5f2cbae1066360 Mon Sep 17 00:00:00 2001 From: JosephPilov-msft <23519517+PiJoCoder@users.noreply.github.com> Date: Wed, 24 Apr 2024 11:21:19 -0500 Subject: [PATCH 5/5] #336 modified column name to possibly corrupt --- NexusReports/Missing_MSIs_or_MSPs_C.rdl | 23 ++++++++---------- RowsetImportEngine/TextRowsets.xml | 2 +- sqlnexus/PerfStatsAnalysis.sql | 2 +- sqlnexus/Reports/Missing_MSIs_or_MSPs_C.rdlC | 25 +++++++++----------- sqlnexus/TextRowsets.xml | 2 +- 5 files changed, 24 insertions(+), 30 deletions(-) diff --git a/NexusReports/Missing_MSIs_or_MSPs_C.rdl b/NexusReports/Missing_MSIs_or_MSPs_C.rdl index 63bb4bf..8824884 100644 --- a/NexusReports/Missing_MSIs_or_MSPs_C.rdl +++ b/NexusReports/Missing_MSIs_or_MSPs_C.rdl @@ -20,7 +20,7 @@ SELECT ProductName, ExpectedInstallerCacheFile, - FileIsPresentInCacheButLikelyCorrupt, + FileIsPresentInCacheButPossiblyCorrupt, ProductVersion, PackageName FROM dbo.tbl_setup_missing_msi_msp_packages @@ -31,8 +31,8 @@ FROM dbo.tbl_setup_missing_msi_msp_packages ProductName System.String - - FileIsPresentInCacheButLikelyCorrupt + + FileIsPresentInCacheButPossiblyCorrupt System.String @@ -200,7 +200,7 @@ FROM dbo.tbl_setup_missing_msi_msp_packages - File Is Present In Cache But Likely Corrupt + File is in Cache But Possibly Corrupt - true @@ -391,19 +390,18 @@ FROM dbo.tbl_setup_missing_msi_msp_packages 2pt - true - + true true - =Fields!FileIsPresentInCacheButLikelyCorrupt.Value + =Fields!FileIsPresentInCacheButPossiblyCorrupt.Value @@ -427,7 +425,6 @@ FROM dbo.tbl_setup_missing_msi_msp_packages 2pt - true @@ -464,7 +461,6 @@ FROM dbo.tbl_setup_missing_msi_msp_packages 2pt - true @@ -501,7 +497,6 @@ FROM dbo.tbl_setup_missing_msi_msp_packages 2pt - true @@ -537,10 +532,12 @@ FROM dbo.tbl_setup_missing_msi_msp_packages + true + true DataSet1 0.73208in 0.73208in - 13.77084in + 13.77083in 1 - true @@ -391,19 +390,18 @@ FROM dbo.tbl_setup_missing_msi_msp_packages 2pt - true - + true true - =Fields!FileIsPresentInCacheButLikelyCorrupt.Value + =Fields!FileIsPresentInCacheButPossiblyCorrupt.Value @@ -427,7 +425,6 @@ FROM dbo.tbl_setup_missing_msi_msp_packages 2pt - true @@ -464,7 +461,6 @@ FROM dbo.tbl_setup_missing_msi_msp_packages 2pt - true @@ -501,7 +497,6 @@ FROM dbo.tbl_setup_missing_msi_msp_packages 2pt - true @@ -537,10 +532,12 @@ FROM dbo.tbl_setup_missing_msi_msp_packages + true + true DataSet1 0.73208in 0.73208in - 13.77084in + 13.77083in 1