Skip to content

SQL LogScout version 5.0

Choose a tag to compare

@PiJoCoder PiJoCoder released this 22 Nov 16:53
· 22 commits to main since this release
eb7b2dd

Verify downloaded file:

You can verify the download by computing the hash of the SQL_LogScout_v5.0_Signed.zip file, using this command:

certutil -hashfile SQL_LogScout_v5.0_Signed.zip SHA512

Compare to this:

45261a7ad9bdaf1eec8496771842afd1740699ef5c71913b011943b19cd411fb440de5bdb50b9b454f6116e0fa003a512b64ee43329b17bd3fff47571af8840b

Enhancements

  1. Make SQLLogScout data collection configurable with GUI
  2. Add a new Procmon scenario to collect Process Monitor (procmon) trace
  3. Enhance TempDB Space usage script to match the updates on PSSDiag (Use of DMVs, optimized code, and streamlined resultset to only show non-empty tempdb pages)
  4. Enhance TempDB_and_Tran_Analysis.sql script with latest (from PSSDIAG) for better formatting of resultset
  5. Enhance Replication scenario to include distribution database metadata about publication, subscriptions, etc
  6. Add support for Instant file initialization check in the MiscPssdiagInfo.sql
  7. Add support for resumable indexes is for SQL Server versions 2019 and later
  8. Add ability to execute SQL LogScout on Secondary replicas in Availability Group with Read-Intent Only
  9. Add ability to make SQLLogScout schedulable as a Windows task
  10. Add support for scheduling multiple SQLLogScout sessions at different times with different task names by including a -CmdTaskName parameter when calling ScheduleSQLLogScoutAsTask.ps1
  11. Enhance linked_server_config.sql to eliminate errors when executed by non-sysadmin user and also enhance readability of the output log
  12. Create a clean-up script which will close/shut down any left-over processes in case the CMD window from which SQLLogScout was launched is closed before LogScout completes
  13. Add a warning message during quiet mode execution that indicates to the end user that the quite mode suppresses all prompts and accepts all Y for user input
  14. Support collection of Service Broker Xevents by default in General and Detailed Scenarios
  15. Add functionality to capture only the head and tail parts (500 lines on each end) for large ERRORLOG files (> 1GB)
  16. Add collection of server properties for display in SQLNexus in all collectors even if Basic collector is not explicitly selected for execution
  17. Add support for collecting FSUtil info in the Basic scenario to get disk sector information
  18. Add ability to export the list of filtered drivers into SQL Nexus so the filtered driver list can be viewed directly from SQL Nexus
  19. Enable support for usage of "server,port" as a ServerName in command options
  20. Enable Setup scenario to run on shutdown
  21. Enhance Spinlock collection to include only non-zero spins
  22. Make the TaskList outputs importable into SQL Nexus by using an identifier and column names
  23. Move all AG-related queries to AlwaysOnDiagScript.sql and (out of MiscPssdiagInfo.sql)
  24. Simplify the output of ServerProperties resultset by removing dependency on xp_instance_regread in MiscPssdiagInfo.sql
  25. Split SQLLogScoutPs.ps1 into multiple PSM modules
  26. Update PerfStats snapshot script to reflect some of the changes that exist in Diagmanager
  27. Create hashtables to store Scenario Name and Bit value to simplify lookups

Fixes

  1. Added backslash support in the $OutputPath and $LogScoutPath parameter values
  2. BackupRestore_Test.ps1 is no longer unresponsive due to displaying a prompt for SQL VSS Writer service restart agreement when executed from command prompt with Quiet mode
  3. Clean up or improve some text messages (UX)
  4. Confirm-SQLPermissions now has a check for empty string in addition to the check for NULL for user or password variables
  5. Fixed exception "file is being used by another process" when SQLLogScoutPs.ps1 is invoked directly inside Powershell is fixed
  6. Fix for Error "class keyword not supported" on Powershell version 4.0
  7. Fix for error 469 indicating collation conflict when running '--XEvent Session Details--' query in MiscPssdiagInfo.sql when user database has a different collation from master database
  8. Fix for Error in SQLLogScoutPs.ps1 Collector: "Function 'Select-Scenario' failed with error: Cannot index into a null array."
  9. Fix for errors observed when a choice is made to not proceed with DetailedPerf
  10. Fix for failure in Execution of AlwaysOn+DumpMemory+GeneralPerf with error: "The team .\sqldumphelper.ps1 is not recognized as a name of a cmdlet, function, script file or operable program"
  11. Fix for Failure in Function 'Invoke-DiagnosticCleanUpAndExit' with error: You cannot call a method on a null-valued expression when closing the GUI with Cancel button
  12. Fix for failure to locate/open the .SQL files for hash validation if sqllogscoutps.ps1 is executed directly
  13. Fix for intermittent failure in GeneralPerf and DetailedPerf collections with error : "Cannot alter the event session 'xevent_SQLLogScout', because it does not exist or you do not have permission."
  14. Fix for unresponsive GUI for a few seconds and exit back to CMD mode when SQLLogScout is opened in PowerShell
  15. Get-FileAttributes now excludes psm, htm, and txt files. Previously it was only excluding ps1 files and not the other files.
  16. GetAlwaysOnHealthXel function now successfully gets AlwaysOn_health*.xel files using Get-InstanceNameOnly to retrieve instance name even when SQL Server Parameters registry key is NULL
  17. High_IO_Perfstats.sql , StartNetworkTrace.bat, and StopNetworkTrace.bat are now hashed in Confirm-FileAttributes
  18. IO scenario now recognizes when an instance name is provided and collects DMV info, previously it would fail due to it being included in the list of instance independent scenarios
  19. Kill-ActiveLogScoutSessions no longer runs when Procmon scenario is used without an instance
  20. Perfmon counters are now collected for a default SQL instance on a cluster
  21. Re-run of SQLLogScoutPs.ps1 in the same PowerShell session is now possible due to a fix that ensures that all handles to open log files are closed
  22. SQL Instance name in the form of ippadd,portno is now resolved in function GetSQLErrorLogsDumpsSysHealth() that obtains logs from SQL Log folder
  23. T-SQL scripts that execute on shutdown are now executed synchronously so that they are not terminated early during shutdown due to asynchronous call
  24. Update Replication Collector to Print Header Only if Table Exists
  25. Warning messages indicating skipping execution of collector(s) are shown to the user when the user does not have access granted on SQL instance
  26. WPR collection now limits the user entry for duration of WPR trace to a valid range of 3-45 seconds
  27. WPR collection now uses the server name if made available as a parameter instead of always using the no_instance_found as default from the file name
  28. Update SQL_Server_Mem_Stats.sql to allow it to import in SQL Nexus data

Automated Tests - Fixes and Enhancements

  1. Add scenario name in Files Name generated in Test Infrastructure run
  2. Add the SQLNexus replication testing in ConsistentQualityTests , since the replication tables are made importable in Nexus
  3. Add Validation to ensure processing of SQLLogScout output by SQLNexus for the following scenarios: GeneralPerf, DetailedPerf, and LightPerf
  4. Automated testing for Replication Collector does not handle No Replication Configuration
  5. Fix for Failure in Function 'Write-Log' fails with error: Cannot validate argument on parameter 'Message'
  6. Fix for failure to run test against the AlwaysOn scenario due to a misspelled scenario name - Always_On instead of AlwaysOn
  7. Fix for failures with Network trace scenario test due to incorrect number of files
  8. Fix for Test name sometimes shows up as blank ''
  9. SQLAssessmentAPI.out output file is removed as a required output file to prevent tests failing due to missing SQLAssessmentAPI.out file
  10. Visually deliniate each individual test scenario on console output for ease of readability
  11. Add summary file for all tests run and dump the result in single file