Pārlūkot izejas kodu

v2.2.3.2

Enhanced power scheme check
pmasl 7 gadi atpakaļ
vecāks
revīzija
425869edc3
1 mainītis faili ar 11 papildinājumiem un 6 dzēšanām
  1. 11 6
      BPCheck/Check_BP_Servers.sql

+ 11 - 6
BPCheck/Check_BP_Servers.sql

@@ -407,6 +407,7 @@ v2.2.2.1 - 1/11/2018 - Fixed issues with unicode characters (thanks Brent Ozar);
 						Added check for Database Health Detection in Server_checks section (thanks Anders Uhl Pedersen).
 v2.2.3 - 10/27/2018 - Fixed performance checks duplicate results issue on SQL 2016+. 
 v2.2.3.1 - 10/28/2018 - Fixed variable issue.
+v2.2.3.2 - 10/28/2018 - Enhanced power scheme check (thanks sivey42).
 
 PURPOSE: Checks SQL Server in scope for some of most common skewed Best Practices. Valid from SQL Server 2005 onwards.
 
@@ -3058,16 +3059,20 @@ RAISERROR (N'|-Starting Server Checks', 10, 1) WITH NOWAIT
 -- Power plan subsection
 --------------------------------------------------------------------------------------------------------------------------------
 RAISERROR (N'  |-Starting Power plan', 10, 1) WITH NOWAIT
-DECLARE @planguid NVARCHAR(64), @powerkey NVARCHAR(255) 
---SELECT @powerkey = 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel\NameSpace\{025A5937-A6BE-4686-A844-36FE4BEC8B6D}'
---SELECT @powerkey = 'SYSTEM\CurrentControlSet\Control\Power\User\Default\PowerSchemes'
-SELECT @powerkey = 'SYSTEM\CurrentControlSet\Control\Power\User\PowerSchemes'
+DECLARE @planguid NVARCHAR(64), @powerkey1 NVARCHAR(255), @powerkey2 NVARCHAR(255)
+SELECT @powerkey1 = 'SOFTWARE\Policies\Microsoft\Power\PowerSettings' , 
+	@powerkey2 = 'SYSTEM\CurrentControlSet\Control\Power\User\PowerSchemes' 
 
 IF CONVERT(DECIMAL(3,1), @osver) >= 6.0
 BEGIN
 	BEGIN TRY
-		--EXEC master.sys.xp_regread N'HKEY_LOCAL_MACHINE', @powerkey, 'PreferredPlan', @planguid OUTPUT, NO_OUTPUT
-		EXEC master.sys.xp_regread N'HKEY_LOCAL_MACHINE', @powerkey, 'ActivePowerScheme', @planguid OUTPUT, NO_OUTPUT
+		-- Check if was set by GPO, if not, look in user settings 
+		EXEC master.sys.xp_regread N'HKEY_LOCAL_MACHINE', @powerkey1, 'ActivePowerScheme', @planguid OUTPUT, NO_OUTPUT
+
+		IF @planguid IS NULL 
+		BEGIN 
+			EXEC master.sys.xp_regread N'HKEY_LOCAL_MACHINE', @powerkey2, 'ActivePowerScheme', @planguid OUTPUT, NO_OUTPUT 
+		END 
 	END TRY
 	BEGIN CATCH
 		SELECT ERROR_NUMBER() AS ErrorNumber, ERROR_MESSAGE() AS ErrorMessage;