Notices: This section not yet converted to new layout. Download stats are rolling back out.

This is not the latest version of dbatools (PowerShell Module) available.

dbatools (PowerShell Module)

0.9.725

Package test results are passing.

This package was approved as a trusted package on 12/20/2018.

dbatools logo dbatools is sort of like a command-line SQL Server Management Studio. The project initially started out as Start-SqlMigration.ps1, but has now grown into a collection of over 300 commands that help automate SQL Server tasks and encourage best practices.

NOTE: This module requires a minimum of PowerShell v3.

NOTE: This is an automatically updated package. If you find it is out of date by more than a week, please contact the maintainer(s) and let them know the package is no longer updating correctly.

To install dbatools (PowerShell Module), run the following command from the command line or from PowerShell:

C:\> choco install dbatools --version 0.9.725

To upgrade dbatools (PowerShell Module), run the following command from the command line or from PowerShell:

C:\> choco upgrade dbatools --version 0.9.725

Files

Hide
  • tools\.skipAutoUninstaller
  • tools\dbatools\bin\csv\LumenWorks.Framework.IO.dll Show
    md5: C76D91D1714B0A395844F80FCC28514E | sha1: 7E6241585218C1578FBCD31233B57B55DEF3877A | sha256: 8B86914D50465C35119F85AAAF9364316E9F98B2C2BE80CA2CA6E4D862E68782 | sha512: C7C77C66CF09EDF58D13952F007599E3F73DD3B223340427277FDDE8277EA088F449A31B18DD2A2B4239E87A99277EEC2ADC2E7794BA4236AD127CA346FE9C2B
  • tools\dbatools\bin\build-project.ps1 Show
    [CmdletBinding()]
    param (
        [string]$ProjectPath = (Resolve-Path -Path (Join-Path -Path $PSModuleRoot -ChildPath 'bin\projects\dbatools\dbatools.sln')),
        [ValidateSet('ps3', 'ps4', 'Release', 'Debug')]
        [string]$MsbuildConfiguration = "Release",
        [string]$MsbuildOptions = "",
        [Parameter(HelpMessage = 'Target to run instead of build')]
        [string]$MsbuildTarget = 'Build'
    )
    
    if (-not $PSBoundParameters.ContainsKey('MsbuildConfiguration')) {
        $_MsbuildConfiguration = switch ($PSVersionTable.PSVersion.Major) {
            3 {
                "ps3"
            }
            4 {
                "ps4"
            }
            default {
                "Release"
            }
        }
    } else {
        $_MsbuildConfiguration = $MsbuildConfiguration
    }
    
    function Get-MsBuildPath {
        [CmdletBinding()]
        [OutputType([string])]
        param ()
        process {
            $rawPath = "$(Split-Path ([string].Assembly.Location))\msbuild.exe"
            (Resolve-Path $rawPath).Path
        }
    }
    
    $start = Get-Date
    $msbuild = Get-MsBuildPath
    
    if (-not (Test-Path $msbuild)) {
        throw "msbuild not found, cannot compile library! Check your .NET installation health, then try again. Path checked: $msbuild"
    }
    
    if ($env:APPVEYOR -eq 'True') {
        $MsbuildOptions = $MsbuildOptions + '/logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll" '
        $_MsbuildConfiguration = 'Debug'
        
        if (-not (Test-Path "C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll")) {
            throw "msbuild logger not found, cannot compile library! Check your .NET installation health, then try again. Path checked: $msbuild"
        }
    }
    
    #$MsbuildOptions = $MsbuildOptions + '/logger:BinaryLogger,"{0}";"{1}" ' -f (Join-Path $PSScriptRoot 'StructuredLogger.dll'), (Resolve-Path '..\msbuild.bin.log').Path
    
    if (-not (Test-Path $ProjectPath)) {
        throw new-object 'System.IO.FileNotFoundException' 'Could not file project or solution', $ProjectPath
    }
    
    Write-Verbose -Message "Building the library with command $msbuild $ProjectPath /p:Configuration=$_MsbuildConfiguration $MsbuildOptions /t:$MsBuildTarget"
    & $msbuild $ProjectPath "/p:Configuration=$_MsbuildConfiguration" $MsbuildOptions "/t:$MsBuildTarget"
    
    if ($MsbuildTarget -eq 'Build') {
        try {
            Write-Verbose -Message "Found library, trying to copy & import"
            if ($script:alwaysBuildLibrary) {
                Move-Item -Path (Resolve-Path -Path "$PSModuleRoot\bin\dbatools.dll") -Destination $script:DllRoot -Force -ErrorAction Stop
            } else {
                Copy-Item -Path (Resolve-Path -Path "$PSModuleRoot\bin\dbatools.dll") -Destination $script:DllRoot -Force -ErrorAction Stop
            }
            Add-Type -Path (Resolve-Path -Path "$PSModuleRoot\dbatools.dll") -ErrorAction Stop
        } catch {
            Write-Verbose -Message "Failed to copy & import, attempting to import straight from the module directory"
            Add-Type -Path (Resolve-Path -Path "$PSModuleRoot\bin\dbatools.dll") -ErrorAction Stop
        }
        Write-Verbose -Message "Total duration: $((Get-Date) - $start)"
    }
  • tools\dbatools\bin\bcp\Resources\1033\bcp.rll
  • tools\dbatools\bin\bcp\bcp.exe Show
    md5: 0056F153E8574FD9C429946E4983E962 | sha1: 41E89575060091A52A52EAA1656B93D7DF67EA01 | sha256: D59D296E846CBD83F5E55CB5852CC2AAA9E1DECC8E0A324B7D0964C4CDF7B425 | sha512: 61F6608BA778FB3B5D1FC02F3F8EB2A006E5378ED629A70F095A62F116A4E4FA0C34B3033D618BF371E7EAB0EAC9FAD27E2AD586C7EF527BAAF72558F12BCD43
  • tools\dbatools\allcommands.zip Show
    md5: 055934C0188270FA4F4E7C3D4EFD523D | sha1: 13AD2397B012A2CA65BBBCA3672BC0573495F33E | sha256: 64A48B8B492A204F44FAAE8F842F41889F36E3581509D29023AFF576ED1CF58F | sha512: 4A66DA54EAFCEB4342726E331FBAD0C6A42E5F8A77CBD06910629334BA738776BE8FAFA1E09A453316E08D0902A54A273BD0ED9A1150C04FABFA8D4DA6FB547B
  • tools\chocolateyUninstall.ps1 Show
    $ErrorActionPreference = 'Stop'
    
    $moduleName = 'dbatools'
    $sourcePath = Join-Path -Path $env:ProgramFiles -ChildPath "WindowsPowerShell\Modules\$moduleName"
    
    Write-Verbose "Removing all version of '$moduleName' from '$sourcePath'."
    Remove-Item -Path $sourcePath -Recurse -Force -ErrorAction SilentlyContinue
    
    if ($PSVersionTable.PSVersion.Major -lt 4) {
        $modulePaths = [Environment]::GetEnvironmentVariable('PSModulePath', 'Machine') -split ';'
    
        Write-Verbose "Removing '$sourcePath' from PSModulePath."
        $newModulePath = $modulePaths | Where-Object { $_ -ne $sourcePath }
    
        [Environment]::SetEnvironmentVariable('PSModulePath', $newModulePath, 'Machine')
        $env:PSModulePath = $newModulePath
    }
  • tools\chocolateyInstall.ps1 Show
    $ErrorActionPreference = 'Stop'
    
    $toolsDir   = "$(Split-Path -parent $MyInvocation.MyCommand.Definition)"
    $moduleName = 'dbatools'  # this may be different from the package name and different case
    
    if ($PSVersionTable.PSVersion.Major -lt 3) {
        throw "$moduleName) module requires a minimum of PowerShell v3."
    }
    
    # module may already be installed outside of Chocolatey
    Remove-Module -Name $moduleName -Force -ErrorAction SilentlyContinue
    
    $sourcePath = Join-Path -Path $toolsDir -ChildPath "$modulename\*"
    $destPath   = Join-Path -Path $env:ProgramFiles -ChildPath "WindowsPowerShell\Modules\$moduleName"
    
    if ($PSVersionTable.PSVersion.Major -ge 5)
    {
        $manifestFile = Join-Path -Path $toolsDir -ChildPath "$moduleName\$moduleName.psd1"
        $manifest     = Test-ModuleManifest -Path $manifestFile -WarningAction Ignore -ErrorAction Stop
        $destPath     = Join-Path -Path $destPath -ChildPath $manifest.Version.ToString()
    }
    
    Write-Verbose "Creating destination directory '$destPath' for module."
    New-Item -Path $destPath -ItemType Directory -Force -ErrorAction SilentlyContinue | Out-Null
    
    Write-Verbose "Moving '$moduleName' files from '$sourcePath' to '$destPath'."
    Move-Item -Path $sourcePath -Destination $destPath -Force
    
    if ($PSVersionTable.PSVersion.Major -lt 4)
    {
        $modulePaths = [Environment]::GetEnvironmentVariable('PSModulePath', 'Machine') -split ';'
        if ($modulePaths -notcontains $destPath)
        {
            Write-Verbose "Adding '$destPath' to PSModulePath."
            $newModulePath = @($destPath, $modulePaths) -join ';'
    
            [Environment]::SetEnvironmentVariable('PSModulePath', $newModulePath, 'Machine')
            $env:PSModulePath = $newModulePath
        }
    }
  • tools\chocolateyBeforeModify.ps1 Show
    $ErrorActionPreference = 'Stop'
    
    $moduleName = 'dbatools'      # this could be different from package name
    
    $module = Get-Module -Name $moduleName
    if ($module) {
        Write-Verbose "Module '$moduleName' is imported into the session. Removing it."
        Remove-Module -Name $moduleName -Force -ErrorAction SilentlyContinue
    
        if ($lib = [appdomain]::CurrentDomain.GetAssemblies() | Where-Object FullName -like "dbatools, *") {
            Write-Verbose "Found locked DLL files for module '$moduleName'."
            $moduleDir = Split-Path $module.Path -Parent
            if ($lib.Location -like "$moduleDir\*") {
                Write-Warning @"
    We have detected dbatools to be already imported from '$moduleDir' and the dll files have been locked and cannot be updated.
    Please close all consoles that have dbatools imported (Remove-Module dbatools is NOT enough).
    "@
                throw 
            }
        }
    }
  • tools\dbatools\bin\diagnosticquery\SQLServerDiagnosticQueries_2016SP2_201811.sql Show
    -- SQL Server 2016 SP2 Diagnostic Information Queries
    -- Glenn Berry 
    -- Last Modified: December 7, 2018
    -- https://www.sqlskills.com/blogs/glenn/
    -- http://sqlserverperformance.wordpress.com/
    -- Twitter: GlennAlanBerry
    
    -- Please listen to my Pluralsight courses
    -- https://www.pluralsight.com/author/glenn-berry
    
    -- If you want to find all of our SQLskills SQL101 blog posts, check out https://bit.ly/2qLwfXW
    
    
    -- Please make sure you are using the correct version of these diagnostic queries for your version of SQL Server
    
    
    -- If you like PowerShell, there is a very useful community solution for running these queries in an automated fashion
    -- https://dbatools.io/
    
    -- Invoke-DbaDiagnosticQuery
    -- https://dbatools.io/functions/invoke-dbadiagnosticquery/
    
    
    --******************************************************************************
    --*   Copyright (C) 2018 Glenn Berry, SQLskills.com
    --*   All rights reserved. 
    --*
    --*   For more scripts and sample code, check out 
    --*      https://www.sqlskills.com/blogs/glenn
    --*
    --*   You may alter this code for your own *non-commercial* purposes. You may
    --*   republish altered code as long as you include this copyright and give due credit. 
    --*
    --*
    --*   THIS CODE AND INFORMATION ARE PROVIDED "AS IS" WITHOUT WARRANTY OF 
    --*   ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED 
    --*   TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
    --*   PARTICULAR PURPOSE. 
    --*
    --******************************************************************************
    
    -- Check the major product version to see if it is SQL Server 2016 SP2 or greater
    IF EXISTS (SELECT * WHERE CONVERT(varchar(128), SERVERPROPERTY('ProductVersion')) LIKE '13%')
    	BEGIN
    		IF CONVERT(int, SERVERPROPERTY('ProductBuild')) >= 5026
    			PRINT N'You have the correct Service Pack of SQL Server 2016 for this diagnostic information script';
    		IF CONVERT(int, SERVERPROPERTY('ProductBuild')) < 5026
    			PRINT N'You do NOT have the correct Service Pack of SQL Server 2016 for this diagnostic information script';		
    	END
    ELSE
    	BEGIN
    		DECLARE @ProductVersion varchar(128) = CONVERT(varchar(128), SERVERPROPERTY('ProductVersion'));
    		RAISERROR ('Script does not match the ProductVersion [%s] of this instance. Many of these queries may not work on this version.' , 18 , 16 , @ProductVersion);
    	END
    	
    	
    
    -- Instance level queries *******************************
    
    -- SQL and OS Version information for current instance  (Query 1) (Version Info)
    SELECT @@SERVERNAME AS [Server Name], @@VERSION AS [SQL Server and OS Version Info];
    ------
    
    -- SQL Server 2016 Builds																		
    -- Build			Description			Release Date	URL to KB Article								
    -- 13.0.5026.0		SP2 RTM				4/24/2018		https://bit.ly/2FEvN2q 
    -- 13.0.5149.0		SP2 CU1				5/30/2018		https://support.microsoft.com/en-us/help/4135048/cumulative-update-1-for-sql-server-2016-sp2
    -- 13.0.5153.0		SP2 CU2				7/16/2018		https://support.microsoft.com/en-us/help/4340355
    -- 13.0.5216.0		SP2 CU3				9/20/2018		https://support.microsoft.com/en-us/help/4458871
    -- 13.0.5233.0		SP2 CU4			   11/13/2018		https://support.microsoft.com/en-us/help/4464106/cumulative-update-4-for-sql-server-2016-sp2	
    
    		
    															
    
    -- How to determine the version, edition and update level of SQL Server and its components 
    -- https://bit.ly/2oAjKgW														
    
    -- How to obtain the latest Service Pack for SQL Server 2016
    -- https://bit.ly/2egtfzK
    
    -- SQL Server 2016 build versions 
    -- https://bit.ly/2epkTDT
    
    -- Where to find information about the latest SQL Server builds
    -- https://bit.ly/2IGHbfY
    
    -- Performance and Stability Related Fixes in Post-SQL Server 2016 SP2 Builds
    -- https://bit.ly/2K3LoPf		
    
    -- Announcing updates to the SQL Server Incremental Servicing Model (ISM)
    -- https://bit.ly/1RzYITz
    
    -- Update Center for Microsoft SQL Server
    -- https://bit.ly/2pZptuQ
    
    -- Download SQL Server Management Studio (SSMS)
    -- https://bit.ly/1OcupT9
    
    -- Download and install Azure Data Studio
    -- https://bit.ly/2vgke1A
    
    
    
    -- Get socket, physical core and logical core count from the SQL Server Error log. (Query 2) (Core Counts)
    -- This query might take a few seconds depending on the size of your error log
    EXEC sys.xp_readerrorlog 0, 1, N'detected', N'socket';
    ------
    
    -- This can help you determine the exact core counts used by SQL Server and whether HT is enabled or not
    -- It can also help you confirm your SQL Server licensing model
    -- Be on the lookout for this message "using 40 logical processors based on SQL Server licensing" 
    -- (when you have more than 40 logical cores) which means grandfathered Server/CAL licensing
    -- This query will return no results if your error log has been recycled since the instance was last started
    
    
    
    -- Get selected server properties (Query 3) (Server Properties)
    SELECT SERVERPROPERTY('MachineName') AS [MachineName], 
    SERVERPROPERTY('ServerName') AS [ServerName],  
    SERVERPROPERTY('InstanceName') AS [Instance], 
    SERVERPROPERTY('IsClustered') AS [IsClustered], 
    SERVERPROPERTY('ComputerNamePhysicalNetBIOS') AS [ComputerNamePhysicalNetBIOS], 
    SERVERPROPERTY('Edition') AS [Edition], 
    SERVERPROPERTY('ProductLevel') AS [ProductLevel],				-- What servicing branch (RTM/SP/CU)
    SERVERPROPERTY('ProductUpdateLevel') AS [ProductUpdateLevel],	-- Within a servicing branch, what CU# is applied
    SERVERPROPERTY('ProductVersion') AS [ProductVersion],
    SERVERPROPERTY('ProductMajorVersion') AS [ProductMajorVersion], 
    SERVERPROPERTY('ProductMinorVersion') AS [ProductMinorVersion], 
    SERVERPROPERTY('ProductBuild') AS [ProductBuild], 
    SERVERPROPERTY('ProductBuildType') AS [ProductBuildType],			  -- Is this a GDR or OD hotfix (NULL if on a CU build)
    SERVERPROPERTY('ProductUpdateReference') AS [ProductUpdateReference], -- KB article number that is applicable for this build
    SERVERPROPERTY('ProcessID') AS [ProcessID],
    SERVERPROPERTY('Collation') AS [Collation], 
    SERVERPROPERTY('IsFullTextInstalled') AS [IsFullTextInstalled], 
    SERVERPROPERTY('IsIntegratedSecurityOnly') AS [IsIntegratedSecurityOnly],
    SERVERPROPERTY('FilestreamConfiguredLevel') AS [FilestreamConfiguredLevel],
    SERVERPROPERTY('IsHadrEnabled') AS [IsHadrEnabled], 
    SERVERPROPERTY('HadrManagerStatus') AS [HadrManagerStatus],
    SERVERPROPERTY('InstanceDefaultDataPath') AS [InstanceDefaultDataPath],
    SERVERPROPERTY('InstanceDefaultLogPath') AS [InstanceDefaultLogPath],
    SERVERPROPERTY('BuildClrVersion') AS [Build CLR Version],
    SERVERPROPERTY('IsXTPSupported') AS [IsXTPSupported],
    SERVERPROPERTY('IsPolybaseInstalled') AS [IsPolybaseInstalled],				-- New for SQL Server 2016
    SERVERPROPERTY('IsAdvancedAnalyticsInstalled') AS [IsRServicesInstalled];	-- New for SQL Server 2016
    ------
    
    -- This gives you a lot of useful information about your instance of SQL Server,
    -- such as the ProcessID for SQL Server and your collation
    -- Note: Some columns will be NULL on older SQL Server builds
    
    -- SERVERPROPERTY (Transact-SQL)
    -- https://bit.ly/2eeaXeI
    
    
    
    -- Get instance-level configuration values for instance  (Query 4) (Configuration Values)
    SELECT name, value, value_in_use, minimum, maximum, [description], is_dynamic, is_advanced
    FROM sys.configurations WITH (NOLOCK)
    ORDER BY name OPTION (RECOMPILE);
    ------
    
    -- Focus on these settings:
    -- automatic soft-NUMA disabled (should be 0 in most cases)
    -- backup checksum default (should be 1)
    -- backup compression default (should be 1 in most cases)
    -- clr enabled (only enable if it is needed)
    -- cost threshold for parallelism (depends on your workload)
    -- lightweight pooling (should be zero)
    -- max degree of parallelism (depends on your workload and hardware)
    -- max server memory (MB) (set to an appropriate value, not the default)
    -- optimize for ad hoc workloads (should be 1)
    -- priority boost (should be zero)
    -- remote admin connections (should be 1)
    
    
    -- sys.configurations (Transact-SQL)
    -- https://bit.ly/2HsyDZI
    
    
    -- Returns a list of all global trace flags that are enabled (Query 5) (Global Trace Flags)
    DBCC TRACESTATUS (-1);
    ------
    
    -- If no global trace flags are enabled, no results will be returned.
    -- It is very useful to know what global trace flags are currently enabled as part of the diagnostic process.
    
    -- Common trace flags that should be enabled in most cases
    -- TF 3226 - Supresses logging of successful database backup messages to the SQL Server Error Log
    --           https://bit.ly/2p6MTjS  
    
    -- TF 6534 - Enables use of native code to improve performance with spatial data
    --           https://bit.ly/2HrQUpU         
    
    -- The behavior of TF 1117, 1118 are enabled for tempdb in SQL Server 2016 by default
    -- SQL 2016 � It Just Runs Faster: -T1117 and -T1118 changes for TEMPDB and user databases
    -- https://bit.ly/2lbNWxK           
    
    -- The behavior of TF 2371 is enabled by default in SQL Server 2016 and newer (in compat level 130 and higher)
    
    -- DBCC TRACEON - Trace Flags (Transact-SQL)
    -- https://bit.ly/2FuSvPg
    
    
    
    
    
    -- Returns status of instant file initialization (Query 6) (IFI Status)
    EXEC sys.xp_readerrorlog 0, 1, N'Database Instant File Initialization';
    ------
    
    -- Lets you determine whether Instant File Initialization (IFI) is enabled for the instance
    -- This should be enabled in the vast majority of cases
    -- SQL Server 2016 and newer lets you enable this during the SQL server installation process
    
    -- Database Instant File Initialization
    -- https://bit.ly/2nTX74y
    
    -- Misconceptions around instant file initialization
    -- https://bit.ly/2oBSKgZ
    
    
    
    -- SQL Server Process Address space info  (Query 7) (Process Memory)
    -- (shows whether locked pages is enabled, among other things)
    SELECT physical_memory_in_use_kb/1024 AS [SQL Server Memory Usage (MB)],
    	   locked_page_allocations_kb/1024 AS [SQL Server Locked Pages Allocation (MB)],
           large_page_allocations_kb/1024 AS [SQL Server Large Pages Allocation (MB)], 
    	   page_fault_count, memory_utilization_percentage, available_commit_limit_kb, 
    	   process_physical_memory_low, process_virtual_memory_low
    FROM sys.dm_os_process_memory WITH (NOLOCK) OPTION (RECOMPILE);
    ------
    
    -- You want to see 0 for process_physical_memory_low
    -- You want to see 0 for process_virtual_memory_low
    -- This indicates that you are not under internal memory pressure
    -- If locked_page_allocations_kb > 0, then LPIM is enabled
    
    -- How to enable the "locked pages" feature in SQL Server 2012
    -- https://bit.ly/2F5UjOA
    
    -- Memory Management Architecture Guide
    -- https://bit.ly/2JKkadC 
    
    
    
    -- SQL Server Services information (Query 8) (SQL Server Services Info)
    SELECT servicename, process_id, startup_type_desc, status_desc, 
    last_startup_time, service_account, is_clustered, cluster_nodename, [filename], 
    instant_file_initialization_enabled 
    FROM sys.dm_server_services WITH (NOLOCK) OPTION (RECOMPILE);
    ------
    
    -- Tells you the account being used for the SQL Server Service and the SQL Agent Service
    -- Shows the process_id, when they were last started, and their current status
    -- Also shows whether you are running on a failover cluster instance, and what node you are running on
    -- Also shows whether IFI is enabled
    
    -- sys.dm_server_services (Transact-SQL)
    -- https://bit.ly/2oKa1Un
    
    
    -- Last backup information by database  (Query 9) (Last Backup By Database)
    SELECT ISNULL(d.[name], bs.[database_name]) AS [Database], d.recovery_model_desc AS [Recovery Model], 
           d.log_reuse_wait_desc AS [Log Reuse Wait Desc],
        MAX(CASE WHEN [type] = 'D' THEN bs.backup_finish_date ELSE NULL END) AS [Last Full Backup],
        MAX(CASE WHEN [type] = 'I' THEN bs.backup_finish_date ELSE NULL END) AS [Last Differential Backup],
        MAX(CASE WHEN [type] = 'L' THEN bs.backup_finish_date ELSE NULL END) AS [Last Log Backup]
    FROM sys.databases AS d WITH (NOLOCK)
    LEFT OUTER JOIN msdb.dbo.backupset AS bs WITH (NOLOCK)
    ON bs.[database_name] = d.[name] 
    AND bs.backup_finish_date > GETDATE()- 30
    WHERE d.name <> N'tempdb'
    GROUP BY ISNULL(d.[name], bs.[database_name]), d.recovery_model_desc, d.log_reuse_wait_desc, d.[name] 
    ORDER BY d.recovery_model_desc, d.[name] OPTION (RECOMPILE);
    ------
    
    -- This helps you spot runaway transaction logs and other issues with your backup schedule
    
    
    -- Get SQL Server Agent jobs and Category information (Query 10) (SQL Server Agent Jobs)
    SELECT sj.name AS [Job Name], sj.[description] AS [Job Description], SUSER_SNAME(sj.owner_sid) AS [Job Owner],
    sj.date_created AS [Date Created], sj.[enabled] AS [Job Enabled], 
    sj.notify_email_operator_id, sj.notify_level_email, sc.name AS [CategoryName],
    s.[enabled] AS [Sched Enabled], js.next_run_date, js.next_run_time
    FROM msdb.dbo.sysjobs AS sj WITH (NOLOCK)
    INNER JOIN msdb.dbo.syscategories AS sc WITH (NOLOCK)
    ON sj.category_id = sc.category_id
    LEFT OUTER JOIN msdb.dbo.sysjobschedules AS js WITH (NOLOCK)
    ON sj.job_id = js.job_id
    LEFT OUTER JOIN msdb.dbo.sysschedules AS s WITH (NOLOCK)
    ON js.schedule_id = s.schedule_id
    ORDER BY sj.name OPTION (RECOMPILE);
    ------
    
    -- Gives you some basic information about your SQL Server Agent jobs, who owns them and how they are configured
    -- Look for Agent jobs that are not owned by sa
    -- Look for jobs that have a notify_email_operator_id set to 0 (meaning no operator)
    -- Look for jobs that have a notify_level_email set to 0 (meaning no e-mail is ever sent)
    --
    -- MSDN sysjobs documentation
    -- https://bit.ly/2paDEOP 
    
    -- SQL Server Maintenance Solution
    -- https://bit.ly/1pgchQu  
    
    
    -- Get SQL Server Agent Alert Information (Query 11) (SQL Server Agent Alerts)
    SELECT name, event_source, message_id, severity, [enabled], has_notification, 
           delay_between_responses, occurrence_count, last_occurrence_date, last_occurrence_time
    FROM msdb.dbo.sysalerts WITH (NOLOCK)
    ORDER BY name OPTION (RECOMPILE);
    ------
    
    -- Gives you some basic information about your SQL Server Agent Alerts 
    -- (which are different from SQL Server Agent jobs)
    -- Read more about Agent Alerts here: https://bit.ly/2Giz0Xf 
    
    
    
    -- Windows information (Query 12) (Windows Info)
    SELECT windows_release, windows_service_pack_level, 
           windows_sku, os_language_version
    FROM sys.dm_os_windows_info WITH (NOLOCK) OPTION (RECOMPILE);
    ------
    
    -- Gives you major OS version, Service Pack, Edition, and language info for the operating system
    -- 10.0 is either Windows 10 or Windows Server 2016
    -- 6.3 is either Windows 8.1 or Windows Server 2012 R2 
    -- 6.2 is either Windows 8 or Windows Server 2012
    
    
    -- Windows SKU codes
    -- 4 is Enterprise Edition
    -- 7 is Standard Server Edition
    -- 8 is Datacenter Server Edition
    -- 10 is Enterprise Server Edition
    -- 48 is Professional Edition
    -- 161 is Pro for Workstations
    
    -- 1033 for os_language_version is US-English
    
    -- SQL Server 2016 requires Windows Server 2012 or newer
    
    -- Quick-Start Installation of SQL Server 2016
    -- https://bit.ly/2qtxQ3G
    
    -- Hardware and Software Requirements for Installing SQL Server 2016
    -- https://bit.ly/2JJIUTl
    
    -- Using SQL Server in Windows 8 and later versions of Windows operating system 
    -- https://bit.ly/2F7Ax0P
    
    
    -- SQL Server NUMA Node information  (Query 13) (SQL Server NUMA Info)
    SELECT node_id, node_state_desc, memory_node_id, processor_group, cpu_count, online_scheduler_count, 
           idle_scheduler_count, active_worker_count, avg_load_balance, resource_monitor_state
    FROM sys.dm_os_nodes WITH (NOLOCK) 
    WHERE node_state_desc <> N'ONLINE DAC' OPTION (RECOMPILE);
    ------
    
    -- Gives you some useful information about the composition and relative load on your NUMA nodes
    -- You want to see an equal number of schedulers on each NUMA node
    -- Watch out if SQL Server 2017 Standard Edition has been installed 
    -- on a physical or virtual machine with more than four sockets or more than 24 physical cores
    
    -- sys.dm_os_nodes (Transact-SQL)
    -- https://bit.ly/2pn5Mw8
    
    -- Balancing Your Available SQL Server Core Licenses Evenly Across NUMA Nodes
    -- https://bit.ly/2vfC4Rq
    
    
    
    -- Good basic information about OS memory amounts and state  (Query 14) (System Memory)
    SELECT total_physical_memory_kb/1024 AS [Physical Memory (MB)], 
           available_physical_memory_kb/1024 AS [Available Memory (MB)], 
           total_page_file_kb/1024 AS [Total Page File (MB)], 
    	   available_page_file_kb/1024 AS [Available Page File (MB)], 
    	   system_cache_kb/1024 AS [System Cache (MB)],
           system_memory_state_desc AS [System Memory State]
    FROM sys.dm_os_sys_memory WITH (NOLOCK) OPTION (RECOMPILE);
    ------
    
    -- You want to see "Available physical memory is high" for System Memory State
    -- This indicates that you are not under external memory pressure
    
    -- Possible System Memory State values:
    -- Available physical memory is high
    -- Physical memory usage is steady
    -- Available physical memory is low
    -- Available physical memory is running low
    -- Physical memory state is transitioning
    
    -- sys.dm_os_sys_memory (Transact-SQL)
    -- https://bit.ly/2pcV0xq
    
    
    
    -- You can skip the next two queries if you know you don't have a clustered instance
    
    
    -- Get information about your cluster nodes and their status  (Query 15) (Cluster Node Properties)
    -- (if your database server is in a failover cluster)
    SELECT NodeName, status_description, is_current_owner
    FROM sys.dm_os_cluster_nodes WITH (NOLOCK) OPTION (RECOMPILE);
    ------
    
    -- Knowing which node owns the cluster resources is critical
    -- Especially when you are installing Windows or SQL Server updates
    -- You will see no results if your instance is not clustered
    
    -- Recommended hotfixes and updates for Windows Server 2012 R2-based failover clusters
    -- https://bit.ly/1z5BfCw
    
    
    -- Get information about any AlwaysOn AG cluster this instance is a part of (Query 16) (AlwaysOn AG Cluster)
    SELECT cluster_name, quorum_type_desc, quorum_state_desc
    FROM sys.dm_hadr_cluster WITH (NOLOCK) OPTION (RECOMPILE);
    ------
    
    -- You will see no results if your instance is not using AlwaysOn AGs
    
    
    -- Good overview of AG health and status (Query 17) (AlwaysOn AG Status)
    SELECT ag.name AS [AG Name], ar.replica_server_name, ar.availability_mode_desc, adc.[database_name], 
           drs.is_local, drs.is_primary_replica, drs.synchronization_state_desc, drs.is_commit_participant, 
    	   drs.synchronization_health_desc, drs.recovery_lsn, drs.truncation_lsn, drs.last_sent_lsn, 
    	   drs.last_sent_time, drs.last_received_lsn, drs.last_received_time, drs.last_hardened_lsn, 
    	   drs.last_hardened_time, drs.last_redone_lsn, drs.last_redone_time, drs.log_send_queue_size, 
    	   drs.log_send_rate, drs.redo_queue_size, drs.redo_rate, drs.filestream_send_rate, 
    	   drs.end_of_log_lsn, drs.last_commit_lsn, drs.last_commit_time, drs.database_state_desc 
    FROM sys.dm_hadr_database_replica_states AS drs WITH (NOLOCK)
    INNER JOIN sys.availability_databases_cluster AS adc WITH (NOLOCK)
    ON drs.group_id = adc.group_id 
    AND drs.group_database_id = adc.group_database_id
    INNER JOIN sys.availability_groups AS ag WITH (NOLOCK)
    ON ag.group_id = drs.group_id
    INNER JOIN sys.availability_replicas AS ar WITH (NOLOCK)
    ON drs.group_id = ar.group_id 
    AND drs.replica_id = ar.replica_id
    ORDER BY ag.name, ar.replica_server_name, adc.[database_name] OPTION (RECOMPILE);
    
    -- You will see no results if your instance is not using AlwaysOn AGs
    
    -- SQL Server 2016 � It Just Runs Faster: Always On Availability Groups Turbocharged
    -- https://bit.ly/2dn1H6r
    
    
    -- Hardware information from SQL Server 2016 SP2  (Query 18) (Hardware Info)
    SELECT cpu_count AS [Logical CPU Count], scheduler_count, 
           (socket_count * cores_per_socket) AS [Physical Core Count], 
           socket_count AS [Socket Count], cores_per_socket, numa_node_count,
           physical_memory_kb/1024 AS [Physical Memory (MB)], 
           max_workers_count AS [Max Workers Count], 
    	   affinity_type_desc AS [Affinity Type], 
           sqlserver_start_time AS [SQL Server Start Time],
    	   DATEDIFF(hour, sqlserver_start_time, GETDATE()) AS [SQL Server Up Time (hrs)],
    	   virtual_machine_type_desc AS [Virtual Machine Type], 
           softnuma_configuration_desc AS [Soft NUMA Configuration], 
    	   sql_memory_model_desc
    FROM sys.dm_os_sys_info WITH (NOLOCK) OPTION (RECOMPILE);
    ------
    
    -- Gives you some good basic hardware information about your database server
    -- Note: virtual_machine_type_desc of HYPERVISOR does not automatically mean you are running SQL Server inside of a VM
    -- It merely indicates that you have a hypervisor running on your host
    
    -- sys.dm_os_sys_info (Transact-SQL)
    -- https://bit.ly/2pczOYs
    
    -- Soft NUMA configuration was a new column for SQL Server 2016
    -- OFF = Soft-NUMA feature is OFF
    -- ON = SQL Server automatically determines the NUMA node sizes for Soft-NUMA
    -- MANUAL = Manually configured soft-NUMA
    
    -- Configure SQL Server to Use Soft-NUMA (SQL Server)
    -- https://bit.ly/2HTpKJt
    
    -- sql_memory_model_desc values (Added in SQL Server 2016 SP1)
    -- CONVENTIONAL
    -- LOCK_PAGES
    -- LARGE_PAGES
       
    
    -- Get System Manufacturer and model number from SQL Server Error log (Query 19) (System Manufacturer)
    EXEC sys.xp_readerrorlog 0, 1, N'Manufacturer';
    ------ 
    
    -- This can help you determine the capabilities and capacities of your database server
    -- Can also be used to confirm if you are running in a VM
    -- This query might take a few seconds if you have not recycled your error log recently
    -- This query will return no results if your error log has been recycled since the instance was started
    
    
    -- Get pvscsi info from Windows Registry  (Query 20) (PVSCSI Driver Parameters)
    EXEC sys.xp_instance_regread N'HKEY_LOCAL_MACHINE', N'SYSTEM\CurrentControlSet\services\pvscsi\Parameters\Device', N'DriverParameter';
    ------
    
    -- This is valid for VMware VMs
    -- Recommended value for intensive I/O patterns from VMware is: RequestRingPages=32,MaxQueueDepth=254
    -- https://kb.vmware.com/s/article/2053145
    
    
    
    -- Get BIOS date from Windows Registry (Query 21) (BIOS Date)
    EXEC sys.xp_instance_regread N'HKEY_LOCAL_MACHINE', N'HARDWARE\DESCRIPTION\System\BIOS', N'BiosReleaseDate';
    ------
    
    -- Helps you understand whether the main system BIOS is up to date, and the possible age of the hardware
    -- Not as useful for virtualization
    
    
    -- Get processor description from Windows Registry  (Query 22) (Processor Description)
    EXEC sys.xp_instance_regread N'HKEY_LOCAL_MACHINE', N'HARDWARE\DESCRIPTION\System\CentralProcessor\0', N'ProcessorNameString';
    ------
    
    -- Gives you the model number and rated clock speed of your processor(s)
    -- Your processors may be running at less than the rated clock speed due
    -- to the Windows Power Plan or hardware power management
    
    -- You can use CPU-Z to get your actual CPU core speed and a lot of other useful information
    -- https://bit.ly/QhR6xF
    
    -- You can learn more about processor selection for SQL Server by following this link
    -- https://bit.ly/2F3aVlP
    
    
    
    -- See if buffer pool extension (BPE) is enabled (Query 23) (BPE Configuration)
    SELECT [path], state_description, current_size_in_kb, 
    CAST(current_size_in_kb/1048576.0 AS DECIMAL(10,2)) AS [Size (GB)]
    FROM sys.dm_os_buffer_pool_extension_configuration WITH (NOLOCK) OPTION (RECOMPILE);
    ------
    
    -- BPE is available in both Standard Edition and Enterprise Edition
    -- It is a more interesting feature for Standard Edition
    
    -- Buffer Pool Extension to SSDs in SQL Server 2014
    -- https://bit.ly/1bm08m8
    
    -- Buffer Pool Extension
    -- https://bit.ly/2oBuieO
    
    
    
    -- Look at buffer descriptors to see BPE usage by database (Query 24) (BPE Usage) 
    SELECT DB_NAME(database_id) AS [Database Name], COUNT(page_id) AS [Page Count],
    CAST(COUNT(*)/128.0 AS DECIMAL(10, 2)) AS [Buffer size(MB)], 
    AVG(read_microsec) AS [Avg Read Time (microseconds)]
    FROM sys.dm_os_buffer_descriptors WITH (NOLOCK)
    WHERE database_id <> 32767
    AND is_in_bpool_extension = 1
    GROUP BY DB_NAME(database_id) 
    ORDER BY [Buffer size(MB)] DESC OPTION (RECOMPILE);
    ------
    
    -- You will see no results if BPE is not enabled or if there is no BPE usage
    
    
    -- Get information on location, time and size of any memory dumps from SQL Server  (Query 25) (Memory Dump Info)
    SELECT [filename], creation_time, size_in_bytes/1048576.0 AS [Size (MB)]
    FROM sys.dm_server_memory_dumps WITH (NOLOCK) 
    ORDER BY creation_time DESC OPTION (RECOMPILE);
    ------
    
    -- This will not return any rows if you have 
    -- not had any memory dumps (which is a good thing)
    
    -- sys.dm_server_memory_dumps (Transact-SQL)
    -- https://bit.ly/2elwWll
    
    
    
    -- Look at Suspect Pages table (Query 26) (Suspect Pages)
    SELECT DB_NAME(database_id) AS [Database Name], [file_id], page_id, 
           event_type, error_count, last_update_date 
    FROM msdb.dbo.suspect_pages WITH (NOLOCK)
    ORDER BY database_id OPTION (RECOMPILE);
    ------
    
    -- event_type value descriptions
    -- 1 = 823 error caused by an operating system CRC error
    --     or 824 error other than a bad checksum or a torn page (for example, a bad page ID)
    -- 2 = Bad checksum
    -- 3 = Torn page
    -- 4 = Restored (The page was restored after it was marked bad)
    -- 5 = Repaired (DBCC repaired the page)
    -- 7 = Deallocated by DBCC
    
    -- Ideally, this query returns no results. The table is limited to 1000 rows.
    -- If you do get results here, you should do further investigation to determine the root cause
    
    -- Manage the suspect_pages Table
    -- https://bit.ly/2Fvr1c9
    
    
    -- Get number of data files in tempdb database (Query 27) (TempDB Data Files)
    EXEC sys.xp_readerrorlog 0, 1, N'The tempdb database has';
    ------
    
    -- Get the number of data files in the tempdb database
    -- 4-8 data files that are all the same size is a good starting point
    -- This query will return no results if your error log has been recycled since the instance was last started
    
    
    -- File names and paths for all user and system databases on instance  (Query 28) (Database Filenames and Paths)
    SELECT DB_NAME([database_id]) AS [Database Name], 
           [file_id], [name], physical_name, [type_desc], state_desc,
    	   is_percent_growth, growth,
    	   CONVERT(bigint, growth/128.0) AS [Growth in MB], 
           CONVERT(bigint, size/128.0) AS [Total Size in MB]
    FROM sys.master_files WITH (NOLOCK)
    ORDER BY DB_NAME([database_id]), [file_id] OPTION (RECOMPILE);
    ------
    
    -- Things to look at:
    -- Are data files and log files on different drives?
    -- Is everything on the C: drive?
    -- Is tempdb on dedicated drives?
    -- Is there only one tempdb data file?
    -- Are all of the tempdb data files the same size?
    -- Are there multiple data files for user databases?
    -- Is percent growth enabled for any files (which is bad)?
    
    
    
    -- Volume info for all LUNS that have database files on the current instance (Query 29) (Volume Info)
    SELECT DISTINCT vs.volume_mount_point, vs.file_system_type, vs.logical_volume_name, 
    CONVERT(DECIMAL(18,2), vs.total_bytes/1073741824.0) AS [Total Size (GB)],
    CONVERT(DECIMAL(18,2), vs.available_bytes/1073741824.0) AS [Available Size (GB)],  
    CONVERT(DECIMAL(18,2), vs.available_bytes * 1. / vs.total_bytes * 100.) AS [Space Free %],
    vs.supports_compression, vs.is_compressed, 
    vs.supports_sparse_files, vs.supports_alternate_streams
    FROM sys.master_files AS f WITH (NOLOCK)
    CROSS APPLY sys.dm_os_volume_stats(f.database_id, f.[file_id]) AS vs 
    ORDER BY vs.volume_mount_point OPTION (RECOMPILE);
    ------
    
    -- Shows you the total and free space on the LUNs where you have database files
    -- Being low on free space can negatively affect performance
    
    -- sys.dm_os_volume_stats (Transact-SQL)
    -- https://bit.ly/2oBPNNr
    
    
    
    -- Drive level latency information (Query 30) (Drive Level Latency)
    -- Based on code from Jimmy May
    SELECT tab.[Drive], tab.volume_mount_point AS [Volume Mount Point], 
    	CASE 
    		WHEN num_of_reads = 0 THEN 0 
    		ELSE (io_stall_read_ms/num_of_reads) 
    	END AS [Read Latency],
    	CASE 
    		WHEN num_of_writes = 0 THEN 0 
    		ELSE (io_stall_write_ms/num_of_writes) 
    	END AS [Write Latency],
    	CASE 
    		WHEN (num_of_reads = 0 AND num_of_writes = 0) THEN 0 
    		ELSE (io_stall/(num_of_reads + num_of_writes)) 
    	END AS [Overall Latency],
    	CASE 
    		WHEN num_of_reads = 0 THEN 0 
    		ELSE (num_of_bytes_read/num_of_reads) 
    	END AS [Avg Bytes/Read],
    	CASE 
    		WHEN num_of_writes = 0 THEN 0 
    		ELSE (num_of_bytes_written/num_of_writes) 
    	END AS [Avg Bytes/Write],
    	CASE 
    		WHEN (num_of_reads = 0 AND num_of_writes = 0) THEN 0 
    		ELSE ((num_of_bytes_read + num_of_bytes_written)/(num_of_reads + num_of_writes)) 
    	END AS [Avg Bytes/Transfer]
    FROM (SELECT LEFT(UPPER(mf.physical_name), 2) AS Drive, SUM(num_of_reads) AS num_of_reads,
    	         SUM(io_stall_read_ms) AS io_stall_read_ms, SUM(num_of_writes) AS num_of_writes,
    	         SUM(io_stall_write_ms) AS io_stall_write_ms, SUM(num_of_bytes_read) AS num_of_bytes_read,
    	         SUM(num_of_bytes_written) AS num_of_bytes_written, SUM(io_stall) AS io_stall, vs.volume_mount_point 
          FROM sys.dm_io_virtual_file_stats(NULL, NULL) AS vfs
          INNER JOIN sys.master_files AS mf WITH (NOLOCK)
          ON vfs.database_id = mf.database_id AND vfs.file_id = mf.file_id
    	  CROSS APPLY sys.dm_os_volume_stats(mf.database_id, mf.[file_id]) AS vs 
          GROUP BY LEFT(UPPER(mf.physical_name), 2), vs.volume_mount_point) AS tab
    ORDER BY [Overall Latency] OPTION (RECOMPILE);
    ------
    
    -- Shows you the drive-level latency for reads and writes, in milliseconds
    -- Latency above 30-40ms is usually a problem
    -- These latency numbers include all file activity against all SQL Server 
    -- database files on each drive since SQL Server was last started
    
    
    -- Calculates average stalls per read, per write, and per total input/output for each database file  (Query 31) (IO Latency by File)
    SELECT DB_NAME(fs.database_id) AS [Database Name], CAST(fs.io_stall_read_ms/(1.0 + fs.num_of_reads) AS NUMERIC(10,1)) AS [avg_read_latency_ms],
    CAST(fs.io_stall_write_ms/(1.0 + fs.num_of_writes) AS NUMERIC(10,1)) AS [avg_write_latency_ms],
    CAST((fs.io_stall_read_ms + fs.io_stall_write_ms)/(1.0 + fs.num_of_reads + fs.num_of_writes) AS NUMERIC(10,1)) AS [avg_io_latency_ms],
    CONVERT(DECIMAL(18,2), mf.size/128.0) AS [File Size (MB)], mf.physical_name, mf.type_desc, fs.io_stall_read_ms, fs.num_of_reads, 
    fs.io_stall_write_ms, fs.num_of_writes, fs.io_stall_read_ms + fs.io_stall_write_ms AS [io_stalls], fs.num_of_reads + fs.num_of_writes AS [total_io],
    io_stall_queued_read_ms AS [Resource Governor Total Read IO Latency (ms)], io_stall_queued_write_ms AS [Resource Governor Total Write IO Latency (ms)] 
    FROM sys.dm_io_virtual_file_stats(null,null) AS fs
    INNER JOIN sys.master_files AS mf WITH (NOLOCK)
    ON fs.database_id = mf.database_id
    AND fs.[file_id] = mf.[file_id]
    ORDER BY avg_io_latency_ms DESC OPTION (RECOMPILE);
    ------
    
    -- Helps determine which database files on the entire instance have the most I/O bottlenecks
    -- This can help you decide whether certain LUNs are overloaded and whether you might
    -- want to move some files to a different location or perhaps improve your I/O performance
    -- These latency numbers include all file activity against each SQL Server 
    -- database file since SQL Server was last started
    
    
    -- Look for I/O requests taking longer than 15 seconds in the six most recent SQL Server Error Logs (Query 32) (IO Warnings)
    CREATE TABLE #IOWarningResults(LogDate datetime, ProcessInfo sysname, LogText nvarchar(1000));
    
    	INSERT INTO #IOWarningResults 
    	EXEC xp_readerrorlog 0, 1, N'taking longer than 15 seconds';
    
    	INSERT INTO #IOWarningResults 
    	EXEC xp_readerrorlog 1, 1, N'taking longer than 15 seconds';
    
    	INSERT INTO #IOWarningResults 
    	EXEC xp_readerrorlog 2, 1, N'taking longer than 15 seconds';
    
    	INSERT INTO #IOWarningResults 
    	EXEC xp_readerrorlog 3, 1, N'taking longer than 15 seconds';
    
    	INSERT INTO #IOWarningResults 
    	EXEC xp_readerrorlog 4, 1, N'taking longer than 15 seconds';
    
    	INSERT INTO #IOWarningResults 
    	EXEC xp_readerrorlog 5, 1, N'taking longer than 15 seconds';
    
    SELECT LogDate, ProcessInfo, LogText
    FROM #IOWarningResults
    ORDER BY LogDate DESC;
    
    DROP TABLE #IOWarningResults;
    ------  
    
    -- Finding 15 second I/O warnings in the SQL Server Error Log is useful evidence of
    -- poor I/O performance (which might have many different causes)
    -- Look to see if you see any patterns in the results (same files, same drives, same time of day, etc.)
    
    -- Diagnostics in SQL Server help detect stalled and stuck I/O operations
    -- https://bit.ly/2qtaw73
    
    
    
    -- Resource Governor Resource Pool information (Query 33) (RG Resource Pools)
    SELECT pool_id, [Name], statistics_start_time,
           min_memory_percent, max_memory_percent,  
           max_memory_kb/1024 AS [max_memory_mb],  
           used_memory_kb/1024 AS [used_memory_mb],   
           target_memory_kb/1024 AS [target_memory_mb],
    	   min_iops_per_volume, max_iops_per_volume
    FROM sys.dm_resource_governor_resource_pools WITH (NOLOCK)
    OPTION (RECOMPILE);
    ------
    
    -- sys.dm_resource_governor_resource_pools (Transact-SQL)
    -- https://bit.ly/2MVU0Vy
       
    
    
    -- Recovery model, log reuse wait description, log file size, log usage size  (Query 34) (Database Properties)
    -- and compatibility level for all databases on instance
    SELECT db.[name] AS [Database Name], SUSER_SNAME(db.owner_sid) AS [Database Owner], db.recovery_model_desc AS [Recovery Model], 
    db.state_desc, db.containment_desc, db.log_reuse_wait_desc AS [Log Reuse Wait Description], 
    CONVERT(DECIMAL(18,2), ls.cntr_value/1024.0) AS [Log Size (MB)], CONVERT(DECIMAL(18,2), lu.cntr_value/1024.0) AS [Log Used (MB)],
    CAST(CAST(lu.cntr_value AS FLOAT) / CAST(ls.cntr_value AS FLOAT)AS DECIMAL(18,2)) * 100 AS [Log Used %], 
    db.[compatibility_level] AS [DB Compatibility Level], 
    db.is_mixed_page_allocation_on, db.page_verify_option_desc AS [Page Verify Option], 
    db.is_auto_create_stats_on, db.is_auto_update_stats_on, db.is_auto_update_stats_async_on, db.is_parameterization_forced, 
    db.snapshot_isolation_state_desc, db.is_read_committed_snapshot_on, db.is_auto_close_on, db.is_auto_shrink_on, 
    db.target_recovery_time_in_seconds, db.is_cdc_enabled, db.is_published, db.is_distributor,
    db.group_database_id, db.replica_id,db.is_memory_optimized_elevate_to_snapshot_on, 
    db.delayed_durability_desc, db.is_auto_create_stats_incremental_on,
    db.is_query_store_on, db.is_sync_with_backup, 
    db.is_supplemental_logging_enabled, db.is_remote_data_archive_enabled,
    db.is_encrypted, de.encryption_state, de.percent_complete, de.key_algorithm, de.key_length      
    FROM sys.databases AS db WITH (NOLOCK)
    INNER JOIN sys.dm_os_performance_counters AS lu WITH (NOLOCK)
    ON db.name = lu.instance_name
    INNER JOIN sys.dm_os_performance_counters AS ls WITH (NOLOCK)
    ON db.name = ls.instance_name
    LEFT OUTER JOIN sys.dm_database_encryption_keys AS de WITH (NOLOCK)
    ON db.database_id = de.database_id
    WHERE lu.counter_name LIKE N'Log File(s) Used Size (KB)%' 
    AND ls.counter_name LIKE N'Log File(s) Size (KB)%'
    AND ls.cntr_value > 0 
    ORDER BY db.[name] OPTION (RECOMPILE);
    ------
    
    -- Things to look at:
    -- How many databases are on the instance?
    -- What recovery models are they using?
    -- What is the log reuse wait description?
    -- How full are the transaction logs?
    -- What compatibility level are the databases on? 
    -- What is the Page Verify Option? (should be CHECKSUM)
    -- Is Auto Update Statistics Asynchronously enabled?
    -- Is Delayed Durability enabled
    -- Make sure auto_shrink and auto_close are not enabled!
    
    -- is_mixed_page_allocation_on is a new property for SQL Server 2016. Equivalent to TF 1118 for a user database
    -- SQL Server 2016: Changes in default behavior for autogrow and allocations for tempdb and user databases
    -- https://bit.ly/2evRZSR
    
    -- A non-zero value for target_recovery_time_in_seconds means that indirect checkpoint is enabled 
    -- If the setting has a zero value it indicates that automatic checkpoint is enabled
    
    -- Changes in SQL Server 2016 Checkpoint Behavior
    -- https://bit.ly/2pdggk3
    
    
    -- Missing Indexes for all databases by Index Advantage  (Query 35) (Missing Indexes All Databases)
    SELECT CONVERT(decimal(18,2), user_seeks * avg_total_user_cost * (avg_user_impact * 0.01)) AS [index_advantage],
    FORMAT(migs.last_user_seek, 'yyyy-MM-dd HH:mm:ss') AS [last_user_seek], 
    mid.[statement] AS [Database.Schema.Table],
    COUNT(1) OVER(PARTITION BY mid.[statement]) AS [missing_indexes_for_table],
    COUNT(1) OVER(PARTITION BY mid.[statement], equality_columns) AS [similar_missing_indexes_for_table],
    mid.equality_columns, mid.inequality_columns, mid.included_columns,
    migs.unique_compiles, migs.user_seeks, 
    CONVERT(decimal(18,2), migs.avg_total_user_cost) AS [avg_total_user_cost], migs.avg_user_impact 
    FROM sys.dm_db_missing_index_group_stats AS migs WITH (NOLOCK)
    INNER JOIN sys.dm_db_missing_index_groups AS mig WITH (NOLOCK)
    ON migs.group_handle = mig.index_group_handle
    INNER JOIN sys.dm_db_missing_index_details AS mid WITH (NOLOCK)
    ON mig.index_handle = mid.index_handle
    ORDER BY index_advantage DESC OPTION (RECOMPILE);
    ------
    
    -- Getting missing index information for all of the databases on the instance is very useful
    -- Look at last user seek time, number of user seeks to help determine source and importance
    -- Also look at avg_user_impact and avg_total_user_cost to help determine importance
    -- SQL Server is overly eager to add included columns, so beware
    -- Do not just blindly add indexes that show up from this query!!!
    
    -- SQL Server Index Design Guide
    -- https://bit.ly/2qtZr4N
    
    
    
    -- Get VLF Counts for all databases on the instance (Query 36) (VLF Counts)
    SELECT [name] AS [Database Name], [VLF Count]
    FROM sys.databases AS db WITH (NOLOCK)
    CROSS APPLY (SELECT file_id, COUNT(*) AS [VLF Count]
    		     FROM sys.dm_db_log_info(db.database_id)
    			 GROUP BY file_id) AS li
    ORDER BY [VLF Count] DESC OPTION (RECOMPILE);
    ------
    
    -- High VLF counts can affect write performance to the log file
    -- and they can make full database restores and crash recovery take much longer
    -- Try to keep your VLF counts under 200 in most cases (depending on log file size)
    
    -- Important change to VLF creation algorithm in SQL Server 2014
    -- https://bit.ly/2Hsjbg4
    
    -- SQL Server Transaction Log Architecture and Management Guide
    -- https://bit.ly/2JjmQRZ
    
    
    
    -- Get CPU utilization by database (Query 37) (CPU Usage by Database)
    WITH DB_CPU_Stats
    AS
    (SELECT pa.DatabaseID, DB_Name(pa.DatabaseID) AS [Database Name], SUM(qs.total_worker_time/1000) AS [CPU_Time_Ms]
     FROM sys.dm_exec_query_stats AS qs WITH (NOLOCK)
     CROSS APPLY (SELECT CONVERT(int, value) AS [DatabaseID] 
                  FROM sys.dm_exec_plan_attributes(qs.plan_handle)
                  WHERE attribute = N'dbid') AS pa
     GROUP BY DatabaseID)
    SELECT ROW_NUMBER() OVER(ORDER BY [CPU_Time_Ms] DESC) AS [CPU Rank],
           [Database Name], [CPU_Time_Ms] AS [CPU Time (ms)], 
           CAST([CPU_Time_Ms] * 1.0 / SUM([CPU_Time_Ms]) OVER() * 100.0 AS DECIMAL(5, 2)) AS [CPU Percent]
    FROM DB_CPU_Stats
    WHERE DatabaseID <> 32767 -- ResourceDB
    ORDER BY [CPU Rank] OPTION (RECOMPILE);
    ------
    
    -- Helps determine which database is using the most CPU resources on the instance
    
    
    -- Get I/O utilization by database (Query 38) (IO Usage By Database)
    WITH Aggregate_IO_Statistics
    AS (SELECT DB_NAME(database_id) AS [Database Name],
        CAST(SUM(num_of_bytes_read + num_of_bytes_written) / 1048576 AS DECIMAL(12, 2)) AS [ioTotalMB],
        CAST(SUM(num_of_bytes_read ) / 1048576 AS DECIMAL(12, 2)) AS [ioReadMB],
        CAST(SUM(num_of_bytes_written) / 1048576 AS DECIMAL(12, 2)) AS [ioWriteMB]
        FROM sys.dm_io_virtual_file_stats(NULL, NULL) AS [DM_IO_STATS]
        GROUP BY database_id)
    SELECT ROW_NUMBER() OVER (ORDER BY ioTotalMB DESC) AS [I/O Rank],
            [Database Name], ioTotalMB AS [Total I/O (MB)],
            CAST(ioTotalMB / SUM(ioTotalMB) OVER () * 100.0 AS DECIMAL(5, 2)) AS [Total I/O %],
            ioReadMB AS [Read I/O (MB)], 
    		CAST(ioReadMB / SUM(ioReadMB) OVER () * 100.0 AS DECIMAL(5, 2)) AS [Read I/O %],
            ioWriteMB AS [Write I/O (MB)], 
    		CAST(ioWriteMB / SUM(ioWriteMB) OVER () * 100.0 AS DECIMAL(5, 2)) AS [Write I/O %]
    FROM Aggregate_IO_Statistics
    ORDER BY [I/O Rank] OPTION (RECOMPILE);
    ------
    
    -- Helps determine which database is using the most I/O resources on the instance
    -- These numbers are cumulative since the last service restart
    -- They include all I/O activity, not just the nominal I/O workload
    
    
    -- Get total buffer usage by database for current instance  (Query 39) (Total Buffer Usage by Database)
    -- This make take some time to run on a busy instance
    WITH AggregateBufferPoolUsage
    AS
    (SELECT DB_NAME(database_id) AS [Database Name],
    CAST(COUNT(*) * 8/1024.0 AS DECIMAL (10,2))  AS [CachedSize]
    FROM sys.dm_os_buffer_descriptors WITH (NOLOCK)
    WHERE database_id <> 32767 -- ResourceDB
    GROUP BY DB_NAME(database_id))
    SELECT ROW_NUMBER() OVER(ORDER BY CachedSize DESC) AS [Buffer Pool Rank], [Database Name], CachedSize AS [Cached Size (MB)],
           CAST(CachedSize / SUM(CachedSize) OVER() * 100.0 AS DECIMAL(5,2)) AS [Buffer Pool Percent]
    FROM AggregateBufferPoolUsage
    ORDER BY [Buffer Pool Rank] OPTION (RECOMPILE);
    ------
    
    -- Tells you how much memory (in the buffer pool) 
    -- is being used by each database on the instance
    
    
    -- Get tempdb version store space usage by database (Query 40) (Version Store Space Usage)
    SELECT DB_NAME(database_id) AS [Database Name],
           reserved_page_count AS [Version Store Reserved Page Count], 
    	   reserved_space_kb/1024 AS [Version Store Reserved Space (MB)] 
    FROM sys.dm_tran_version_store_space_usage WITH (NOLOCK) 
    ORDER BY reserved_space_kb/1024 DESC OPTION (RECOMPILE);
    ------  
    
    -- sys.dm_tran_version_store_space_usage (Transact-SQL)
    -- https://bit.ly/2vh3Bmk
    
    
    
    
    -- Clear Wait Stats with this command
    -- DBCC SQLPERF('sys.dm_os_wait_stats', CLEAR);
    
    -- Isolate top waits for server instance since last restart or wait statistics clear  (Query 41) (Top Waits)
    WITH [Waits] 
    AS (SELECT wait_type, wait_time_ms/ 1000.0 AS [WaitS],
              (wait_time_ms - signal_wait_time_ms) / 1000.0 AS [ResourceS],
               signal_wait_time_ms / 1000.0 AS [SignalS],
               waiting_tasks_count AS [WaitCount],
               100.0 *  wait_time_ms / SUM (wait_time_ms) OVER() AS [Percentage],
               ROW_NUMBER() OVER(ORDER BY wait_time_ms DESC) AS [RowNum]
        FROM sys.dm_os_wait_stats WITH (NOLOCK)
        WHERE [wait_type] NOT IN (
            N'BROKER_EVENTHANDLER', N'BROKER_RECEIVE_WAITFOR', N'BROKER_TASK_STOP',
    		N'BROKER_TO_FLUSH', N'BROKER_TRANSMITTER', N'CHECKPOINT_QUEUE',
            N'CHKPT', N'CLR_AUTO_EVENT', N'CLR_MANUAL_EVENT', N'CLR_SEMAPHORE', N'CXCONSUMER',
            N'DBMIRROR_DBM_EVENT', N'DBMIRROR_EVENTS_QUEUE', N'DBMIRROR_WORKER_QUEUE',
    		N'DBMIRRORING_CMD', N'DIRTY_PAGE_POLL', N'DISPATCHER_QUEUE_SEMAPHORE',
            N'EXECSYNC', N'FSAGENT', N'FT_IFTS_SCHEDULER_IDLE_WAIT', N'FT_IFTSHC_MUTEX',
            N'HADR_CLUSAPI_CALL', N'HADR_FILESTREAM_IOMGR_IOCOMPLETION', N'HADR_LOGCAPTURE_WAIT', 
    		N'HADR_NOTIFICATION_DEQUEUE', N'HADR_TIMER_TASK', N'HADR_WORK_QUEUE',
            N'KSOURCE_WAKEUP', N'LAZYWRITER_SLEEP', N'LOGMGR_QUEUE', 
    		N'MEMORY_ALLOCATION_EXT', N'ONDEMAND_TASK_QUEUE',
    		N'PARALLEL_REDO_DRAIN_WORKER', N'PARALLEL_REDO_LOG_CACHE', N'PARALLEL_REDO_TRAN_LIST',
    		N'PARALLEL_REDO_WORKER_SYNC', N'PARALLEL_REDO_WORKER_WAIT_WORK',
    		N'PREEMPTIVE_HADR_LEASE_MECHANISM', N'PREEMPTIVE_SP_SERVER_DIAGNOSTICS',
    		N'PREEMPTIVE_OS_LIBRARYOPS', N'PREEMPTIVE_OS_COMOPS', N'PREEMPTIVE_OS_CRYPTOPS',
    		N'PREEMPTIVE_OS_PIPEOPS', N'PREEMPTIVE_OS_AUTHENTICATIONOPS',
    		N'PREEMPTIVE_OS_GENERICOPS', N'PREEMPTIVE_OS_VERIFYTRUST',
    		N'PREEMPTIVE_OS_FILEOPS', N'PREEMPTIVE_OS_DEVICEOPS', N'PREEMPTIVE_OS_QUERYREGISTRY',
    		N'PREEMPTIVE_OS_WRITEFILE',
    		N'PREEMPTIVE_XE_CALLBACKEXECUTE', N'PREEMPTIVE_XE_DISPATCHER',
    		N'PREEMPTIVE_XE_GETTARGETSTATE', N'PREEMPTIVE_XE_SESSIONCOMMIT',
    		N'PREEMPTIVE_XE_TARGETINIT', N'PREEMPTIVE_XE_TARGETFINALIZE',
            N'PWAIT_ALL_COMPONENTS_INITIALIZED', N'PWAIT_DIRECTLOGCONSUMER_GETNEXT',
    		N'QDS_PERSIST_TASK_MAIN_LOOP_SLEEP',
    		N'QDS_ASYNC_QUEUE',
            N'QDS_CLEANUP_STALE_QUERIES_TASK_MAIN_LOOP_SLEEP', N'REQUEST_FOR_DEADLOCK_SEARCH',
    		N'RESOURCE_QUEUE', N'SERVER_IDLE_CHECK', N'SLEEP_BPOOL_FLUSH', N'SLEEP_DBSTARTUP',
    		N'SLEEP_DCOMSTARTUP', N'SLEEP_MASTERDBREADY', N'SLEEP_MASTERMDREADY',
            N'SLEEP_MASTERUPGRADED', N'SLEEP_MSDBSTARTUP', N'SLEEP_SYSTEMTASK', N'SLEEP_TASK',
            N'SLEEP_TEMPDBSTARTUP', N'SNI_HTTP_ACCEPT', N'SP_SERVER_DIAGNOSTICS_SLEEP',
    		N'SQLTRACE_BUFFER_FLUSH', N'SQLTRACE_INCREMENTAL_FLUSH_SLEEP', N'SQLTRACE_WAIT_ENTRIES',
    		N'WAIT_FOR_RESULTS', N'WAITFOR', N'WAITFOR_TASKSHUTDOWN', N'WAIT_XTP_HOST_WAIT',
    		N'WAIT_XTP_OFFLINE_CKPT_NEW_LOG', N'WAIT_XTP_CKPT_CLOSE', N'WAIT_XTP_RECOVERY',
    		N'XE_BUFFERMGR_ALLPROCESSED_EVENT', N'XE_DISPATCHER_JOIN',
            N'XE_DISPATCHER_WAIT', N'XE_LIVE_TARGET_TVF', N'XE_TIMER_EVENT')
        AND waiting_tasks_count > 0)
    SELECT
        MAX (W1.wait_type) AS [WaitType],
    	CAST (MAX (W1.Percentage) AS DECIMAL (5,2)) AS [Wait Percentage],
    	CAST ((MAX (W1.WaitS) / MAX (W1.WaitCount)) AS DECIMAL (16,4)) AS [AvgWait_Sec],
        CAST ((MAX (W1.ResourceS) / MAX (W1.WaitCount)) AS DECIMAL (16,4)) AS [AvgRes_Sec],
        CAST ((MAX (W1.SignalS) / MAX (W1.WaitCount)) AS DECIMAL (16,4)) AS [AvgSig_Sec], 
        CAST (MAX (W1.WaitS) AS DECIMAL (16,2)) AS [Wait_Sec],
        CAST (MAX (W1.ResourceS) AS DECIMAL (16,2)) AS [Resource_Sec],
        CAST (MAX (W1.SignalS) AS DECIMAL (16,2)) AS [Signal_Sec],
        MAX (W1.WaitCount) AS [Wait Count],
    	CAST (N'https://www.sqlskills.com/help/waits/' + W1.wait_type AS XML) AS [Help/Info URL]
    FROM Waits AS W1
    INNER JOIN Waits AS W2
    ON W2.RowNum <= W1.RowNum
    GROUP BY W1.RowNum, W1.wait_type
    HAVING SUM (W2.Percentage) - MAX (W1.Percentage) < 99 -- percentage threshold
    OPTION (RECOMPILE);
    ------
    
    -- Cumulative wait stats are not as useful on an idle instance that is not under load or performance pressure
    
    -- SQL Server Wait Types Library (Paul Randal)
    -- https://bit.ly/2ePzYO2
    
    -- The SQL Server Wait Type Repository
    -- https://bit.ly/1afzfjC
    
    -- Wait statistics, or please tell me where it hurts
    -- https://bit.ly/2wsQHQE
    
    -- SQL Server 2005 Performance Tuning using the Waits and Queues
    -- https://bit.ly/1o2NFoF
    
    -- sys.dm_os_wait_stats (Transact-SQL)
    -- https://bit.ly/2Hjq9Yl
    
    
    
    -- Get a count of SQL connections by IP address (Query 42) (Connection Counts by IP Address)
    SELECT ec.client_net_address, es.[program_name], es.[host_name], es.login_name, 
    COUNT(ec.session_id) AS [connection count] 
    FROM sys.dm_exec_sessions AS es WITH (NOLOCK) 
    INNER JOIN sys.dm_exec_connections AS ec WITH (NOLOCK) 
    ON es.session_id = ec.session_id 
    GROUP BY ec.client_net_address, es.[program_name], es.[host_name], es.login_name  
    ORDER BY ec.client_net_address, es.[program_name] OPTION (RECOMPILE);
    ------
    
    -- This helps you figure where your database load is coming from
    -- and verifies connectivity from other machines
    
    -- Solving Connectivity errors to SQL Server
    -- https://bit.ly/2EgzoD0
    
    
    
    -- Get Average Task Counts (run multiple times)  (Query 43) (Avg Task Counts)
    SELECT AVG(current_tasks_count) AS [Avg Task Count], 
    AVG(work_queue_count) AS [Avg Work Queue Count],
    AVG(runnable_tasks_count) AS [Avg Runnable Task Count],
    AVG(pending_disk_io_count) AS [Avg Pending DiskIO Count]
    FROM sys.dm_os_schedulers WITH (NOLOCK)
    WHERE scheduler_id < 255 OPTION (RECOMPILE);
    ------
    
    -- Sustained values above 10 suggest further investigation in that area
    -- High Avg Task Counts are often caused by blocking/deadlocking or other resource contention
    
    -- Sustained values above 1 suggest further investigation in that area
    -- High Avg Runnable Task Counts are a good sign of CPU pressure
    -- High Avg Pending DiskIO Counts are a sign of disk pressure
    
    -- How to Do Some Very Basic SQL Server Monitoring
    -- https://bit.ly/2q3Btgt
    
    
    
    -- Detect blocking (run multiple times)  (Query 44) (Detect Blocking)
    SELECT t1.resource_type AS [lock type], DB_NAME(resource_database_id) AS [database],
    t1.resource_associated_entity_id AS [blk object],t1.request_mode AS [lock req],  -- lock requested
    t1.request_session_id AS [waiter sid], t2.wait_duration_ms AS [wait time],       -- spid of waiter  
    (SELECT [text] FROM sys.dm_exec_requests AS r WITH (NOLOCK)                      -- get sql for waiter
    CROSS APPLY sys.dm_exec_sql_text(r.[sql_handle]) 
    WHERE r.session_id = t1.request_session_id) AS [waiter_batch],
    (SELECT SUBSTRING(qt.[text],r.statement_start_offset/2, 
        (CASE WHEN r.statement_end_offset = -1 
        THEN LEN(CONVERT(nvarchar(max), qt.[text])) * 2 
        ELSE r.statement_end_offset END - r.statement_start_offset)/2) 
    FROM sys.dm_exec_requests AS r WITH (NOLOCK)
    CROSS APPLY sys.dm_exec_sql_text(r.[sql_handle]) AS qt
    WHERE r.session_id = t1.request_session_id) AS [waiter_stmt],					-- statement blocked
    t2.blocking_session_id AS [blocker sid],										-- spid of blocker
    (SELECT [text] FROM sys.sysprocesses AS p										-- get sql for blocker
    CROSS APPLY sys.dm_exec_sql_text(p.[sql_handle]) 
    WHERE p.spid = t2.blocking_session_id) AS [blocker_batch]
    FROM sys.dm_tran_locks AS t1 WITH (NOLOCK)
    INNER JOIN sys.dm_os_waiting_tasks AS t2 WITH (NOLOCK)
    ON t1.lock_owner_address = t2.resource_address OPTION (RECOMPILE);
    ------
    
    -- Helps troubleshoot blocking and deadlocking issues
    -- The results will change from second to second on a busy system
    -- You should run this query multiple times when you see signs of blocking
    
    
    
    -- Get CPU Utilization History for last 256 minutes (in one minute intervals)  (Query 45) (CPU Utilization History)
    DECLARE @ts_now bigint = (SELECT cpu_ticks/(cpu_ticks/ms_ticks) FROM sys.dm_os_sys_info WITH (NOLOCK)); 
    
    SELECT TOP(256) SQLProcessUtilization AS [SQL Server Process CPU Utilization], 
                   SystemIdle AS [System Idle Process], 
                   100 - SystemIdle - SQLProcessUtilization AS [Other Process CPU Utilization], 
                   DATEADD(ms, -1 * (@ts_now - [timestamp]), GETDATE()) AS [Event Time] 
    FROM (SELECT record.value('(./Record/@id)[1]', 'int') AS record_id, 
    			record.value('(./Record/SchedulerMonitorEvent/SystemHealth/SystemIdle)[1]', 'int') 
    			AS [SystemIdle], 
    			record.value('(./Record/SchedulerMonitorEvent/SystemHealth/ProcessUtilization)[1]', 'int') 
    			AS [SQLProcessUtilization], [timestamp] 
    	  FROM (SELECT [timestamp], CONVERT(xml, record) AS [record] 
    			FROM sys.dm_os_ring_buffers WITH (NOLOCK)
    			WHERE ring_buffer_type = N'RING_BUFFER_SCHEDULER_MONITOR' 
    			AND record LIKE N'%<SystemHealth>%') AS x) AS y 
    ORDER BY record_id DESC OPTION (RECOMPILE);
    ------
    
    -- Look at the trend over the entire period 
    -- Also look at high sustained 'Other Process' CPU Utilization values
    -- Note: This query sometimes gives inaccurate results (negative values)
    -- on high core count (> 64 cores) systems
    
    
    -- Get top total worker time queries for entire instance (Query 46) (Top Worker Time Queries)
    SELECT TOP(50) DB_NAME(t.[dbid]) AS [Database Name], 
    REPLACE(REPLACE(LEFT(t.[text], 255), CHAR(10),''), CHAR(13),'') AS [Short Query Text],  
    qs.total_worker_time AS [Total Worker Time], qs.min_worker_time AS [Min Worker Time],
    qs.total_worker_time/qs.execution_count AS [Avg Worker Time], 
    qs.max_worker_time AS [Max Worker Time], 
    qs.min_elapsed_time AS [Min Elapsed Time], 
    qs.total_elapsed_time/qs.execution_count AS [Avg Elapsed Time], 
    qs.max_elapsed_time AS [Max Elapsed Time],
    qs.min_logical_reads AS [Min Logical Reads],
    qs.total_logical_reads/qs.execution_count AS [Avg Logical Reads],
    qs.max_logical_reads AS [Max Logical Reads], 
    qs.execution_count AS [Execution Count],
    CASE WHEN CONVERT(nvarchar(max), qp.query_plan) LIKE N'%<MissingIndexes>%' THEN 1 ELSE 0 END AS [Has Missing Index], 
    qs.creation_time AS [Creation Time]
    --,t.[text] AS [Query Text], qp.query_plan AS [Query Plan] -- uncomment out these columns if not copying results to Excel
    FROM sys.dm_exec_query_stats AS qs WITH (NOLOCK)
    CROSS APPLY sys.dm_exec_sql_text(plan_handle) AS t 
    CROSS APPLY sys.dm_exec_query_plan(plan_handle) AS qp 
    ORDER BY qs.total_worker_time DESC OPTION (RECOMPILE);
    ------
    
    
    -- Helps you find the most expensive queries from a CPU perspective across the entire instance
    -- Can also help track down parameter sniffing issues
    
    
    
    -- Page Life Expectancy (PLE) value for each NUMA node in current instance  (Query 47) (PLE by NUMA Node)
    SELECT @@SERVERNAME AS [Server Name], RTRIM([object_name]) AS [Object Name], instance_name, cntr_value AS [Page Life Expectancy]
    FROM sys.dm_os_performance_counters WITH (NOLOCK)
    WHERE [object_name] LIKE N'%Buffer Node%' -- Handles named instances
    AND counter_name = N'Page life expectancy' OPTION (RECOMPILE);
    ------
    
    -- PLE is a good measurement of internal memory pressure
    -- Higher PLE is better. Watch the trend over time, not the absolute value
    -- This will only return one row for non-NUMA systems
    
    -- Page Life Expectancy isn�t what you think�
    -- https://bit.ly/2EgynLa
    
    
    -- Memory Grants Pending value for current instance  (Query 48) (Memory Grants Pending)
    SELECT @@SERVERNAME AS [Server Name], RTRIM([object_name]) AS [Object Name], cntr_value AS [Memory Grants Pending]                                                                                                       
    FROM sys.dm_os_performance_counters WITH (NOLOCK)
    WHERE [object_name] LIKE N'%Memory Manager%' -- Handles named instances
    AND counter_name = N'Memory Grants Pending' OPTION (RECOMPILE);
    ------
    
    -- Run multiple times, and run periodically if you suspect you are under memory pressure
    -- Memory Grants Pending above zero for a sustained period is a very strong indicator of internal memory pressure
    
    
    -- Memory Clerk Usage for instance  (Query 49) (Memory Clerk Usage)
    -- Look for high value for CACHESTORE_SQLCP (Ad-hoc query plans)
    SELECT TOP(10) mc.[type] AS [Memory Clerk Type], 
           CAST((SUM(mc.pages_kb)/1024.0) AS DECIMAL (15,2)) AS [Memory Usage (MB)] 
    FROM sys.dm_os_memory_clerks AS mc WITH (NOLOCK)
    GROUP BY mc.[type]  
    ORDER BY SUM(mc.pages_kb) DESC OPTION (RECOMPILE);
    ------
    
    -- MEMORYCLERK_SQLBUFFERPOOL was new for SQL Server 2012. It should be your highest consumer of memory
    
    -- CACHESTORE_SQLCP  SQL Plans         
    -- These are cached SQL statements or batches that aren't in stored procedures, functions and triggers
    -- Watch out for high values for CACHESTORE_SQLCP
    -- Enabling 'optimize for ad hoc workloads' at the instance level can help reduce this
    -- Running DBCC FREESYSTEMCACHE ('SQL Plans') periodically may be required to better control this
    
    -- CACHESTORE_OBJCP  Object Plans      
    -- These are compiled plans for stored procedures, functions and triggers
    
    -- sys.dm_os_memory_clerks (Transact-SQL)
    -- https://bit.ly/2H31xDR
    
    
    
    -- Find single-use, ad-hoc and prepared queries that are bloating the plan cache  (Query 50) (Ad hoc Queries)
    SELECT TOP(50) DB_NAME(t.[dbid]) AS [Database Name], t.[text] AS [Query Text], 
    cp.objtype AS [Object Type], cp.cacheobjtype AS [Cache Object Type],  
    cp.size_in_bytes/1024 AS [Plan Size in KB]
    FROM sys.dm_exec_cached_plans AS cp WITH (NOLOCK)
    CROSS APPLY sys.dm_exec_sql_text(plan_handle) AS t
    WHERE cp.cacheobjtype = N'Compiled Plan' 
    AND cp.objtype IN (N'Adhoc', N'Prepared') 
    AND cp.usecounts = 1
    ORDER BY cp.size_in_bytes DESC, DB_NAME(t.[dbid]) OPTION (RECOMPILE);
    ------
    
    -- Gives you the text, type and size of single-use ad-hoc and prepared queries that waste space in the plan cache
    -- Enabling 'optimize for ad hoc workloads' for the instance can help (SQL Server 2008 and above only)
    -- Running DBCC FREESYSTEMCACHE ('SQL Plans') periodically may be required to better control this
    -- Enabling forced parameterization for the database can help, but test first!
    
    -- Plan cache, adhoc workloads and clearing the single-use plan cache bloat
    -- https://bit.ly/2EfYOkl
    
    
    -- Get top total logical reads queries for entire instance (Query 51) (Top Logical Reads Queries)
    SELECT TOP(50) DB_NAME(t.[dbid]) AS [Database Name],
    REPLACE(REPLACE(LEFT(t.[text], 255), CHAR(10),''), CHAR(13),'') AS [Short Query Text], 
    qs.total_logical_reads AS [Total Logical Reads],
    qs.min_logical_reads AS [Min Logical Reads],
    qs.total_logical_reads/qs.execution_count AS [Avg Logical Reads],
    qs.max_logical_reads AS [Max Logical Reads],   
    qs.min_worker_time AS [Min Worker Time],
    qs.total_worker_time/qs.execution_count AS [Avg Worker Time], 
    qs.max_worker_time AS [Max Worker Time], 
    qs.min_elapsed_time AS [Min Elapsed Time], 
    qs.total_elapsed_time/qs.execution_count AS [Avg Elapsed Time], 
    qs.max_elapsed_time AS [Max Elapsed Time],
    qs.execution_count AS [Execution Count], 
    CASE WHEN CONVERT(nvarchar(max), qp.query_plan) LIKE N'%<MissingIndexes>%' THEN 1 ELSE 0 END AS [Has Missing Index],
    qs.creation_time AS [Creation Time]
    --,t.[text] AS [Complete Query Text], qp.query_plan AS [Query Plan] -- uncomment out these columns if not copying results to Excel
    FROM sys.dm_exec_query_stats AS qs WITH (NOLOCK)
    CROSS APPLY sys.dm_exec_sql_text(plan_handle) AS t 
    CROSS APPLY sys.dm_exec_query_plan(plan_handle) AS qp 
    ORDER BY qs.total_logical_reads DESC OPTION (RECOMPILE);
    ------
    
    
    -- Helps you find the most expensive queries from a memory perspective across the entire instance
    -- Can also help track down parameter sniffing issues
    
    
    -- Get top average elapsed time queries for entire instance (Query 52) (Top Avg Elapsed Time Queries)
    SELECT TOP(50) DB_NAME(t.[dbid]) AS [Database Name], 
    REPLACE(REPLACE(LEFT(t.[text], 255), CHAR(10),''), CHAR(13),'') AS [Short Query Text],  
    qs.total_elapsed_time/qs.execution_count AS [Avg Elapsed Time],
    qs.min_elapsed_time, qs.max_elapsed_time, qs.last_elapsed_time,
    qs.execution_count AS [Execution Count],  
    qs.total_logical_reads/qs.execution_count AS [Avg Logical Reads], 
    qs.total_physical_reads/qs.execution_count AS [Avg Physical Reads], 
    qs.total_worker_time/qs.execution_count AS [Avg Worker Time],
    CASE WHEN CONVERT(nvarchar(max), qp.query_plan) LIKE N'%<MissingIndexes>%' THEN 1 ELSE 0 END AS [Has Missing Index],
    qs.creation_time AS [Creation Time]
    --,t.[text] AS [Complete Query Text], qp.query_plan AS [Query Plan] -- uncomment out these columns if not copying results to Excel
    FROM sys.dm_exec_query_stats AS qs WITH (NOLOCK)
    CROSS APPLY sys.dm_exec_sql_text(plan_handle) AS t 
    CROSS APPLY sys.dm_exec_query_plan(plan_handle) AS qp 
    ORDER BY qs.total_elapsed_time/qs.execution_count DESC OPTION (RECOMPILE);
    ------
    
    -- Helps you find the highest average elapsed time queries across the entire instance
    -- Can also help track down parameter sniffing issues
    
    
    -- Look at UDF execution statistics (Query 53) (UDF Stats by DB)
    SELECT TOP (25) DB_NAME(database_id) AS [Database Name], 
    		   OBJECT_NAME(object_id, database_id) AS [Function Name],
    		   total_worker_time, execution_count, total_elapsed_time,  
               total_elapsed_time/execution_count AS [avg_elapsed_time],  
               last_elapsed_time, last_execution_time, cached_time, [type_desc] 
    FROM sys.dm_exec_function_stats WITH (NOLOCK) 
    ORDER BY total_worker_time DESC OPTION (RECOMPILE);
    ------
    
    -- sys.dm_exec_function_stats (Transact-SQL)
    -- https://bit.ly/2q1Q6BM
    
    
    
    -- Database specific queries *****************************************************************
    
    -- **** Please switch to a user database that you are interested in! *****
    --USE YourDatabaseName; -- make sure to change to an actual database on your instance, not the master system database
    --GO
    
    -- Individual File Sizes and space available for current database  (Query 54) (File Sizes and Space)
    SELECT f.name AS [File Name] , f.physical_name AS [Physical Name], 
    CAST((f.size/128.0) AS DECIMAL(15,2)) AS [Total Size in MB],
    CAST(f.size/128.0 - CAST(FILEPROPERTY(f.name, 'SpaceUsed') AS int)/128.0 AS DECIMAL(15,2)) 
    AS [Available Space In MB], f.[file_id], fg.name AS [Filegroup Name],
    f.is_percent_growth, f.growth, fg.is_default, fg.is_read_only, 
    fg.is_autogrow_all_files
    FROM sys.database_files AS f WITH (NOLOCK) 
    LEFT OUTER JOIN sys.filegroups AS fg WITH (NOLOCK)
    ON f.data_space_id = fg.data_space_id
    ORDER BY f.[file_id] OPTION (RECOMPILE);
    ------
    
    -- Look at how large and how full the files are and where they are located
    -- Make sure the transaction log is not full!!
    
    -- is_autogrow_all_files was new for SQL Server 2016. Equivalent to TF 1117 for user databases
    
    -- SQL Server 2016: Changes in default behavior for autogrow and allocations for tempdb and user databases
    -- https://bit.ly/2evRZSR
    
    
    -- Log space usage for current database  (Query 55) (Log Space Usage)
    SELECT DB_NAME(lsu.database_id) AS [Database Name], db.recovery_model_desc AS [Recovery Model],
    		CAST(lsu.total_log_size_in_bytes/1048576.0 AS DECIMAL(10, 2)) AS [Total Log Space (MB)],
    		CAST(lsu.used_log_space_in_bytes/1048576.0 AS DECIMAL(10, 2)) AS [Used Log Space (MB)], 
    		CAST(lsu.used_log_space_in_percent AS DECIMAL(10, 2)) AS [Used Log Space %],
    		CAST(lsu.log_space_in_bytes_since_last_backup/1048576.0 AS DECIMAL(10, 2)) AS [Used Log Space Since Last Backup (MB)],
    		db.log_reuse_wait_desc		 
    FROM sys.dm_db_log_space_usage AS lsu WITH (NOLOCK)
    INNER JOIN sys.databases AS db WITH (NOLOCK)
    ON lsu.database_id = db.database_id
    OPTION (RECOMPILE);
    ------
    
    -- Look at log file size and usage, along with the log reuse wait description for the current database
    
    -- sys.dm_db_log_space_usage (Transact-SQL)
    -- https://bit.ly/2H4MQw9
    
    
    -- Status of last VLF for current database  (Query 56) (Last VLF Status)
    SELECT TOP(1) DB_NAME(li.database_id) AS [Database Name], li.[file_id],
                  li.vlf_size_mb, li.vlf_sequence_number, li.vlf_active, li.vlf_status
    FROM sys.dm_db_log_info(DB_ID()) AS li 
    ORDER BY vlf_sequence_number DESC OPTION (RECOMPILE);
    ------
    
    -- Determine whether you will be able to shrink the transaction log file
    
    -- vlf_status Values
    -- 0 is inactive 
    -- 1 is initialized but unused 
    -- 2 is active
    
    -- sys.dm_db_log_info (Transact-SQL)
    -- https://bit.ly/2EQUU1v
    
    
    
    -- Get database scoped configuration values for current database (Query 57) (Database-scoped Configurations)
    SELECT configuration_id, name, [value] AS [value_for_primary], value_for_secondary
    FROM sys.database_scoped_configurations WITH (NOLOCK) OPTION (RECOMPILE);
    ------
    
    -- This lets you see the value of these new properties for the current database
    
    -- Clear plan cache for current database
    -- ALTER DATABASE SCOPED CONFIGURATION CLEAR PROCEDURE_CACHE;
    
    -- ALTER DATABASE SCOPED CONFIGURATION (Transact-SQL)
    -- https://bit.ly/2sOH7nb
    
    
    -- I/O Statistics by file for the current database  (Query 58) (IO Stats By File)
    SELECT DB_NAME(DB_ID()) AS [Database Name], df.name AS [Logical Name], vfs.[file_id], df.type_desc,
    df.physical_name AS [Physical Name], CAST(vfs.size_on_disk_bytes/1048576.0 AS DECIMAL(10, 2)) AS [Size on Disk (MB)],
    vfs.num_of_reads, vfs.num_of_writes, vfs.io_stall_read_ms, vfs.io_stall_write_ms,
    CAST(100. * vfs.io_stall_read_ms/(vfs.io_stall_read_ms + vfs.io_stall_write_ms) AS DECIMAL(10,1)) AS [IO Stall Reads Pct],
    CAST(100. * vfs.io_stall_write_ms/(vfs.io_stall_write_ms + vfs.io_stall_read_ms) AS DECIMAL(10,1)) AS [IO Stall Writes Pct],
    (vfs.num_of_reads + vfs.num_of_writes) AS [Writes + Reads], 
    CAST(vfs.num_of_bytes_read/1048576.0 AS DECIMAL(10, 2)) AS [MB Read], 
    CAST(vfs.num_of_bytes_written/1048576.0 AS DECIMAL(10, 2)) AS [MB Written],
    CAST(100. * vfs.num_of_reads/(vfs.num_of_reads + vfs.num_of_writes) AS DECIMAL(10,1)) AS [# Reads Pct],
    CAST(100. * vfs.num_of_writes/(vfs.num_of_reads + vfs.num_of_writes) AS DECIMAL(10,1)) AS [# Write Pct],
    CAST(100. * vfs.num_of_bytes_read/(vfs.num_of_bytes_read + vfs.num_of_bytes_written) AS DECIMAL(10,1)) AS [Read Bytes Pct],
    CAST(100. * vfs.num_of_bytes_written/(vfs.num_of_bytes_read + vfs.num_of_bytes_written) AS DECIMAL(10,1)) AS [Written Bytes Pct]
    FROM sys.dm_io_virtual_file_stats(DB_ID(), NULL) AS vfs
    INNER JOIN sys.database_files AS df WITH (NOLOCK)
    ON vfs.[file_id]= df.[file_id] OPTION (RECOMPILE);
    ------
    
    -- This helps you characterize your workload better from an I/O perspective for this database
    -- It helps you determine whether you has an OLTP or DW/DSS type of workload
    
    
    
    -- Get most frequently executed queries for this database (Query 59) (Query Execution Counts)
    SELECT TOP(50) LEFT(t.[text], 50) AS [Short Query Text], qs.execution_count AS [Execution Count],
    qs.total_logical_reads AS [Total Logical Reads],
    qs.total_logical_reads/qs.execution_count AS [Avg Logical Reads],
    qs.total_worker_time AS [Total Worker Time],
    qs.total_worker_time/qs.execution_count AS [Avg Worker Time], 
    qs.total_elapsed_time AS [Total Elapsed Time],
    qs.total_elapsed_time/qs.execution_count AS [Avg Elapsed Time],
    CASE WHEN CONVERT(nvarchar(max), qp.query_plan) LIKE N'%<MissingIndexes>%' THEN 1 ELSE 0 END AS [Has Missing Index], 
    qs.creation_time AS [Creation Time]
    --,t.[text] AS [Complete Query Text], qp.query_plan AS [Query Plan] -- uncomment out these columns if not copying results to Excel
    FROM sys.dm_exec_query_stats AS qs WITH (NOLOCK)
    CROSS APPLY sys.dm_exec_sql_text(plan_handle) AS t 
    CROSS APPLY sys.dm_exec_query_plan(plan_handle) AS qp 
    WHERE t.dbid = DB_ID()
    ORDER BY qs.execution_count DESC OPTION (RECOMPILE);
    ------
    
    
    -- Queries 60 through 65 are the "Bad Man List" for stored procedures
    
    -- Top Cached SPs By Execution Count (Query 60) (SP Execution Counts)
    SELECT TOP(100) p.name AS [SP Name], qs.execution_count AS [Execution Count],
    ISNULL(qs.execution_count/DATEDIFF(Minute, qs.cached_time, GETDATE()), 0) AS [Calls/Minute],
    qs.total_elapsed_time/qs.execution_count AS [Avg Elapsed Time],
    qs.total_worker_time/qs.execution_count AS [Avg Worker Time],    
    qs.total_logical_reads/qs.execution_count AS [Avg Logical Reads],
    CASE WHEN CONVERT(nvarchar(max), qp.query_plan) LIKE N'%<MissingIndexes>%' THEN 1 ELSE 0 END AS [Has Missing Index],
    FORMAT(qs.last_execution_time, 'yyyy-MM-dd HH:mm:ss', 'en-US') AS [Last Execution Time], 
    FORMAT(qs.cached_time, 'yyyy-MM-dd HH:mm:ss', 'en-US') AS [Plan Cached Time]
    -- ,qp.query_plan AS [Query Plan] -- Uncomment if you want the Query Plan
    FROM sys.procedures AS p WITH (NOLOCK)
    INNER JOIN sys.dm_exec_procedure_stats AS qs WITH (NOLOCK)
    ON p.[object_id] = qs.[object_id]
    CROSS APPLY sys.dm_exec_query_plan(qs.plan_handle) AS qp
    WHERE qs.database_id = DB_ID()
    AND DATEDIFF(Minute, qs.cached_time, GETDATE()) > 0
    ORDER BY qs.execution_count DESC OPTION (RECOMPILE);
    ------
    
    -- Tells you which cached stored procedures are called the most often
    -- This helps you characterize and baseline your workload
    
    
    -- Top Cached SPs By Avg Elapsed Time (Query 61) (SP Avg Elapsed Time)
    SELECT TOP(25) p.name AS [SP Name], qs.min_elapsed_time, qs.total_elapsed_time/qs.execution_count AS [avg_elapsed_time], 
    qs.max_elapsed_time, qs.last_elapsed_time, qs.total_elapsed_time, qs.execution_count, 
    ISNULL(qs.execution_count/DATEDIFF(Minute, qs.cached_time, GETDATE()), 0) AS [Calls/Minute], 
    qs.total_worker_time/qs.execution_count AS [AvgWorkerTime], 
    qs.total_worker_time AS [TotalWorkerTime],
    CASE WHEN CONVERT(nvarchar(max), qp.query_plan) LIKE N'%<MissingIndexes>%' THEN 1 ELSE 0 END AS [Has Missing Index],
    FORMAT(qs.last_execution_time, 'yyyy-MM-dd HH:mm:ss', 'en-US') AS [Last Execution Time], 
    FORMAT(qs.cached_time, 'yyyy-MM-dd HH:mm:ss', 'en-US') AS [Plan Cached Time]
    -- ,qp.query_plan AS [Query Plan] -- Uncomment if you want the Query Plan
    FROM sys.procedures AS p WITH (NOLOCK)
    INNER JOIN sys.dm_exec_procedure_stats AS qs WITH (NOLOCK)
    ON p.[object_id] = qs.[object_id]
    CROSS APPLY sys.dm_exec_query_plan(qs.plan_handle) AS qp
    WHERE qs.database_id = DB_ID()
    AND DATEDIFF(Minute, qs.cached_time, GETDATE()) > 0
    ORDER BY avg_elapsed_time DESC OPTION (RECOMPILE);
    ------
    
    -- This helps you find high average elapsed time cached stored procedures that
    -- may be easy to optimize with standard query tuning techniques
    
    
    
    -- Top Cached SPs By Total Worker time. Worker time relates to CPU cost  (Query 62) (SP Worker Time)
    SELECT TOP(25) p.name AS [SP Name], qs.total_worker_time AS [TotalWorkerTime], 
    qs.total_worker_time/qs.execution_count AS [AvgWorkerTime], qs.execution_count, 
    ISNULL(qs.execution_count/DATEDIFF(Minute, qs.cached_time, GETDATE()), 0) AS [Calls/Minute],
    qs.total_elapsed_time, qs.total_elapsed_time/qs.execution_count AS [avg_elapsed_time],
    CASE WHEN CONVERT(nvarchar(max), qp.query_plan) LIKE N'%<MissingIndexes>%' THEN 1 ELSE 0 END AS [Has Missing Index],
    FORMAT(qs.last_execution_time, 'yyyy-MM-dd HH:mm:ss', 'en-US') AS [Last Execution Time], 
    FORMAT(qs.cached_time, 'yyyy-MM-dd HH:mm:ss', 'en-US') AS [Plan Cached Time]
    -- ,qp.query_plan AS [Query Plan] -- Uncomment if you want the Query Plan
    FROM sys.procedures AS p WITH (NOLOCK)
    INNER JOIN sys.dm_exec_procedure_stats AS qs WITH (NOLOCK)
    ON p.[object_id] = qs.[object_id]
    CROSS APPLY sys.dm_exec_query_plan(qs.plan_handle) AS qp
    WHERE qs.database_id = DB_ID()
    AND DATEDIFF(Minute, qs.cached_time, GETDATE()) > 0
    ORDER BY qs.total_worker_time DESC OPTION (RECOMPILE);
    ------
    
    -- This helps you find the most expensive cached stored procedures from a CPU perspective
    -- You should look at this if you see signs of CPU pressure
    
    
    -- Top Cached SPs By Total Logical Reads. Logical reads relate to memory pressure  (Query 63) (SP Logical Reads)
    SELECT TOP(25) p.name AS [SP Name], qs.total_logical_reads AS [TotalLogicalReads], 
    qs.total_logical_reads/qs.execution_count AS [AvgLogicalReads],qs.execution_count, 
    ISNULL(qs.execution_count/DATEDIFF(Minute, qs.cached_time, GETDATE()), 0) AS [Calls/Minute], 
    qs.total_elapsed_time, qs.total_elapsed_time/qs.execution_count AS [avg_elapsed_time],
    CASE WHEN CONVERT(nvarchar(max), qp.query_plan) LIKE N'%<MissingIndexes>%' THEN 1 ELSE 0 END AS [Has Missing Index], 
    FORMAT(qs.last_execution_time, 'yyyy-MM-dd HH:mm:ss', 'en-US') AS [Last Execution Time], 
    FORMAT(qs.cached_time, 'yyyy-MM-dd HH:mm:ss', 'en-US') AS [Plan Cached Time]
    -- ,qp.query_plan AS [Query Plan] -- Uncomment if you want the Query Plan
    FROM sys.procedures AS p WITH (NOLOCK)
    INNER JOIN sys.dm_exec_procedure_stats AS qs WITH (NOLOCK)
    ON p.[object_id] = qs.[object_id]
    CROSS APPLY sys.dm_exec_query_plan(qs.plan_handle) AS qp
    WHERE qs.database_id = DB_ID()
    AND DATEDIFF(Minute, qs.cached_time, GETDATE()) > 0
    ORDER BY qs.total_logical_reads DESC OPTION (RECOMPILE);
    ------
    
    -- This helps you find the most expensive cached stored procedures from a memory perspective
    -- You should look at this if you see signs of memory pressure
    
    
    -- Top Cached SPs By Total Physical Reads. Physical reads relate to disk read I/O pressure  (Query 64) (SP Physical Reads)
    SELECT TOP(25) p.name AS [SP Name],qs.total_physical_reads AS [TotalPhysicalReads], 
    qs.total_physical_reads/qs.execution_count AS [AvgPhysicalReads], qs.execution_count, 
    qs.total_logical_reads,qs.total_elapsed_time, qs.total_elapsed_time/qs.execution_count AS [avg_elapsed_time],
    CASE WHEN CONVERT(nvarchar(max), qp.query_plan) LIKE N'%<MissingIndexes>%' THEN 1 ELSE 0 END AS [Has Missing Index],
    FORMAT(qs.last_execution_time, 'yyyy-MM-dd HH:mm:ss', 'en-US') AS [Last Execution Time], 
    FORMAT(qs.cached_time, 'yyyy-MM-dd HH:mm:ss', 'en-US') AS [Plan Cached Time]
    -- ,qp.query_plan AS [Query Plan] -- Uncomment if you want the Query Plan 
    FROM sys.procedures AS p WITH (NOLOCK)
    INNER JOIN sys.dm_exec_procedure_stats AS qs WITH (NOLOCK)
    ON p.[object_id] = qs.[object_id]
    CROSS APPLY sys.dm_exec_query_plan(qs.plan_handle) AS qp
    WHERE qs.database_id = DB_ID()
    AND qs.total_physical_reads > 0
    ORDER BY qs.total_physical_reads DESC, qs.total_logical_reads DESC OPTION (RECOMPILE);
    ------
    
    -- This helps you find the most expensive cached stored procedures from a read I/O perspective
    -- You should look at this if you see signs of I/O pressure or of memory pressure
           
    
    
    -- Top Cached SPs By Total Logical Writes (Query 65) (SP Logical Writes)
    -- Logical writes relate to both memory and disk I/O pressure 
    SELECT TOP(25) p.name AS [SP Name], qs.total_logical_writes AS [TotalLogicalWrites], 
    qs.total_logical_writes/qs.execution_count AS [AvgLogicalWrites], qs.execution_count,
    ISNULL(qs.execution_count/DATEDIFF(Minute, qs.cached_time, GETDATE()), 0) AS [Calls/Minute],
    qs.total_elapsed_time, qs.total_elapsed_time/qs.execution_count AS [avg_elapsed_time],
    CASE WHEN CONVERT(nvarchar(max), qp.query_plan) LIKE N'%<MissingIndexes>%' THEN 1 ELSE 0 END AS [Has Missing Index], 
    FORMAT(qs.last_execution_time, 'yyyy-MM-dd HH:mm:ss', 'en-US') AS [Last Execution Time], 
    FORMAT(qs.cached_time, 'yyyy-MM-dd HH:mm:ss', 'en-US') AS [Plan Cached Time]
    -- ,qp.query_plan AS [Query Plan] -- Uncomment if you want the Query Plan 
    FROM sys.procedures AS p WITH (NOLOCK)
    INNER JOIN sys.dm_exec_procedure_stats AS qs WITH (NOLOCK)
    ON p.[object_id] = qs.[object_id]
    CROSS APPLY sys.dm_exec_query_plan(qs.plan_handle) AS qp
    WHERE qs.database_id = DB_ID()
    AND qs.total_logical_writes > 0
    AND DATEDIFF(Minute, qs.cached_time, GETDATE()) > 0
    ORDER BY qs.total_logical_writes DESC OPTION (RECOMPILE);
    ------
    
    -- This helps you find the most expensive cached stored procedures from a write I/O perspective
    -- You should look at this if you see signs of I/O pressure or of memory pressure
    
    
    -- Lists the top statements by average input/output usage for the current database  (Query 66) (Top IO Statements)
    SELECT TOP(50) OBJECT_NAME(qt.objectid, dbid) AS [SP Name],
    (qs.total_logical_reads + qs.total_logical_writes) /qs.execution_count AS [Avg IO], qs.execution_count AS [Execution Count],
    SUBSTRING(qt.[text],qs.statement_start_offset/2, 
    	(CASE 
    		WHEN qs.statement_end_offset = -1 
    	 THEN LEN(CONVERT(nvarchar(max), qt.[text])) * 2 
    		ELSE qs.statement_end_offset 
    	 END - qs.statement_start_offset)/2) AS [Query Text]	
    FROM sys.dm_exec_query_stats AS qs WITH (NOLOCK)
    CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) AS qt
    WHERE qt.[dbid] = DB_ID()
    ORDER BY [Avg IO] DESC OPTION (RECOMPILE);
    ------
    
    -- Helps you find the most expensive statements for I/O by SP
    
    
    
    -- Possible Bad NC Indexes (writes > reads)  (Query 67) (Bad NC Indexes)
    SELECT OBJECT_NAME(s.[object_id]) AS [Table Name], i.name AS [Index Name], i.index_id, 
    i.is_disabled, i.is_hypothetical, i.has_filter, i.fill_factor,
    s.user_updates AS [Total Writes], s.user_seeks + s.user_scans + s.user_lookups AS [Total Reads],
    s.user_updates - (s.user_seeks + s.user_scans + s.user_lookups) AS [Difference]
    FROM sys.dm_db_index_usage_stats AS s WITH (NOLOCK)
    INNER JOIN sys.indexes AS i WITH (NOLOCK)
    ON s.[object_id] = i.[object_id]
    AND i.index_id = s.index_id
    WHERE OBJECTPROPERTY(s.[object_id],'IsUserTable') = 1
    AND s.database_id = DB_ID()
    AND s.user_updates > (s.user_seeks + s.user_scans + s.user_lookups)
    AND i.index_id > 1 AND i.[type_desc] = N'NONCLUSTERED'
    AND i.is_primary_key = 0 AND i.is_unique_constraint = 0 AND i.is_unique = 0
    ORDER BY [Difference] DESC, [Total Writes] DESC, [Total Reads] ASC OPTION (RECOMPILE);
    ------
    
    -- Look for indexes with high numbers of writes and zero or very low numbers of reads
    -- Consider your complete workload, and how long your instance has been running
    -- Investigate further before dropping an index!
    
    
    -- Missing Indexes for current database by Index Advantage  (Query 68) (Missing Indexes)
    SELECT CONVERT(decimal(18,2), user_seeks * avg_total_user_cost * (avg_user_impact * 0.01)) AS [index_advantage], 
    migs.last_user_seek, mid.[statement] AS [Database.Schema.Table],
    COUNT(1) OVER(PARTITION BY mid.[statement]) AS [missing_indexes_for_table],
    COUNT(1) OVER(PARTITION BY mid.[statement], equality_columns) AS [similar_missing_indexes_for_table],
    mid.equality_columns, mid.inequality_columns, mid.included_columns,
    migs.unique_compiles, migs.user_seeks, 
    CONVERT(decimal(18,2), migs.avg_total_user_cost) AS [avg_total_user_cost], migs.avg_user_impact,
    OBJECT_NAME(mid.[object_id]) AS [Table Name], p.rows AS [Table Rows]
    FROM sys.dm_db_missing_index_group_stats AS migs WITH (NOLOCK)
    INNER JOIN sys.dm_db_missing_index_groups AS mig WITH (NOLOCK)
    ON migs.group_handle = mig.index_group_handle
    INNER JOIN sys.dm_db_missing_index_details AS mid WITH (NOLOCK)
    ON mig.index_handle = mid.index_handle
    INNER JOIN sys.partitions AS p WITH (NOLOCK)
    ON p.[object_id] = mid.[object_id]
    WHERE mid.database_id = DB_ID()
    AND p.index_id < 2 
    ORDER BY index_advantage DESC OPTION (RECOMPILE);
    ------
    
    -- Look at index advantage, last user seek time, number of user seeks to help determine source and importance
    -- SQL Server is overly eager to add included columns, so beware
    -- Do not just blindly add indexes that show up from this query!!!
    
    
    -- Find missing index warnings for cached plans in the current database  (Query 69) (Missing Index Warnings)
    -- Note: This query could take some time on a busy instance
    SELECT TOP(25) OBJECT_NAME(objectid) AS [ObjectName], 
                   cp.objtype, cp.usecounts, cp.size_in_bytes, query_plan
    FROM sys.dm_exec_cached_plans AS cp WITH (NOLOCK)
    CROSS APPLY sys.dm_exec_query_plan(cp.plan_handle) AS qp
    WHERE CAST(query_plan AS NVARCHAR(MAX)) LIKE N'%MissingIndex%'
    AND dbid = DB_ID()
    ORDER BY cp.usecounts DESC OPTION (RECOMPILE);
    ------
    
    -- Helps you connect missing indexes to specific stored procedures or queries
    -- This can help you decide whether to add them or not
    
    
    -- Breaks down buffers used by current database by object (table, index) in the buffer cache  (Query 70) (Buffer Usage)
    -- Note: This query could take some time on a busy instance
    SELECT OBJECT_NAME(p.[object_id]) AS [Object Name], p.index_id, 
    CAST(COUNT(*)/128.0 AS DECIMAL(10, 2)) AS [Buffer size(MB)],  
    COUNT(*) AS [BufferCount], p.[Rows] AS [Row Count],
    p.data_compression_desc AS [Compression Type]
    FROM sys.allocation_units AS a WITH (NOLOCK)
    INNER JOIN sys.dm_os_buffer_descriptors AS b WITH (NOLOCK)
    ON a.allocation_unit_id = b.allocation_unit_id
    INNER JOIN sys.partitions AS p WITH (NOLOCK)
    ON a.container_id = p.hobt_id
    WHERE b.database_id = CONVERT(int, DB_ID())
    AND p.[object_id] > 100
    AND OBJECT_NAME(p.[object_id]) NOT LIKE N'plan_%'
    AND OBJECT_NAME(p.[object_id]) NOT LIKE N'sys%'
    AND OBJECT_NAME(p.[object_id]) NOT LIKE N'xml_index_nodes%'
    GROUP BY p.[object_id], p.index_id, p.data_compression_desc, p.[Rows]
    ORDER BY [BufferCount] DESC OPTION (RECOMPILE);
    ------
    
    -- Tells you what tables and indexes are using the most memory in the buffer cache
    -- It can help identify possible candidates for data compression
    
    
    -- Get Table names, row counts, and compression status for clustered index or heap  (Query 71) (Table Sizes)
    SELECT OBJECT_NAME(object_id) AS [ObjectName], 
    SUM(Rows) AS [RowCount], data_compression_desc AS [CompressionType]
    FROM sys.partitions WITH (NOLOCK)
    WHERE index_id < 2 --ignore the partitions from the non-clustered index if any
    AND OBJECT_NAME(object_id) NOT LIKE N'sys%'
    AND OBJECT_NAME(object_id) NOT LIKE N'queue_%' 
    AND OBJECT_NAME(object_id) NOT LIKE N'filestream_tombstone%' 
    AND OBJECT_NAME(object_id) NOT LIKE N'fulltext%'
    AND OBJECT_NAME(object_id) NOT LIKE N'ifts_comp_fragment%'
    AND OBJECT_NAME(object_id) NOT LIKE N'filetable_updates%'
    AND OBJECT_NAME(object_id) NOT LIKE N'xml_index_nodes%'
    AND OBJECT_NAME(object_id) NOT LIKE N'sqlagent_job%'  
    AND OBJECT_NAME(object_id) NOT LIKE N'plan_persist%'  
    GROUP BY object_id, data_compression_desc
    ORDER BY SUM(Rows) DESC OPTION (RECOMPILE);
    ------
    
    -- Gives you an idea of table sizes, and possible data compression opportunities
    
    
    
    -- Get some key table properties (Query 72) (Table Properties)
    SELECT OBJECT_NAME(t.[object_id]) AS [ObjectName], p.[rows] AS [Table Rows], p.index_id, 
           p.data_compression_desc AS [Index Data Compression],
           t.create_date, t.lock_on_bulk_load, t.is_replicated, t.has_replication_filter, 
           t.is_tracked_by_cdc, t.lock_escalation_desc, t.is_filetable, 
    	   t.is_memory_optimized, t.durability_desc, 
    	   t.temporal_type_desc, t.is_remote_data_archive_enabled, t.is_external -- new for SQL Server 2016
    FROM sys.tables AS t WITH (NOLOCK)
    INNER JOIN sys.partitions AS p WITH (NOLOCK)
    ON t.[object_id] = p.[object_id]
    WHERE OBJECT_NAME(t.[object_id]) NOT LIKE N'sys%'
    ORDER BY OBJECT_NAME(t.[object_id]), p.index_id OPTION (RECOMPILE);
    ------
    
    -- Gives you some good information about your tables
    -- is_memory_optimized and durability_desc were new in SQL Server 2014
    -- temporal_type_desc, is_remote_data_archive_enabled, is_external were new in SQL Server 2016
    
    -- sys.tables (Transact-SQL)
    -- https://bit.ly/2Gk7998
    
    
    
    -- When were Statistics last updated on all indexes?  (Query 73) (Statistics Update)
    SELECT SCHEMA_NAME(o.Schema_ID) + N'.' + o.[NAME] AS [Object Name], o.[type_desc] AS [Object Type],
          i.[name] AS [Index Name], STATS_DATE(i.[object_id], i.index_id) AS [Statistics Date], 
          s.auto_created, s.no_recompute, s.user_created, s.is_incremental, s.is_temporary,
    	  st.row_count, st.used_page_count
    FROM sys.objects AS o WITH (NOLOCK)
    INNER JOIN sys.indexes AS i WITH (NOLOCK)
    ON o.[object_id] = i.[object_id]
    INNER JOIN sys.stats AS s WITH (NOLOCK)
    ON i.[object_id] = s.[object_id] 
    AND i.index_id = s.stats_id
    INNER JOIN sys.dm_db_partition_stats AS st WITH (NOLOCK)
    ON o.[object_id] = st.[object_id]
    AND i.[index_id] = st.[index_id]
    WHERE o.[type] IN ('U', 'V')
    AND st.row_count > 0
    ORDER BY STATS_DATE(i.[object_id], i.index_id) DESC OPTION (RECOMPILE);
    ------  
    
    -- Helps discover possible problems with out-of-date statistics
    -- Also gives you an idea which indexes are the most active
    
    -- sys.stats (Transact-SQL)
    -- https://bit.ly/2GyAxrn
    
    -- UPDATEs to Statistics (Erin Stellato)
    -- https://bit.ly/2vhrYQy
    
    
    
    
    -- Look at most frequently modified indexes and statistics (Query 74) (Volatile Indexes)
    SELECT o.[name] AS [Object Name], o.[object_id], o.[type_desc], s.[name] AS [Statistics Name], 
           s.stats_id, s.no_recompute, s.auto_created, s.is_incremental, s.is_temporary,
    	   sp.modification_counter, sp.[rows], sp.rows_sampled, sp.last_updated
    FROM sys.objects AS o WITH (NOLOCK)
    INNER JOIN sys.stats AS s WITH (NOLOCK)
    ON s.object_id = o.object_id
    CROSS APPLY sys.dm_db_stats_properties(s.object_id, s.stats_id) AS sp
    WHERE o.[type_desc] NOT IN (N'SYSTEM_TABLE', N'INTERNAL_TABLE')
    AND sp.modification_counter > 0
    ORDER BY sp.modification_counter DESC, o.name OPTION (RECOMPILE);
    ------
    
    -- This helps you understand your workload and make better decisions about 
    -- things like data compression and adding new indexes to a table
    
    
    
    -- Get fragmentation info for all indexes above a certain size in the current database  (Query 75) (Index Fragmentation)
    -- Note: This query could take some time on a very large database
    SELECT DB_NAME(ps.database_id) AS [Database Name], SCHEMA_NAME(o.[schema_id]) AS [Schema Name],
    OBJECT_NAME(ps.OBJECT_ID) AS [Object Name], i.[name] AS [Index Name], ps.index_id, 
    ps.index_type_desc, ps.avg_fragmentation_in_percent, 
    ps.fragment_count, ps.page_count, i.fill_factor, i.has_filter, 
    i.filter_definition, i.[allow_page_locks]
    FROM sys.dm_db_index_physical_stats(DB_ID(),NULL, NULL, NULL , N'LIMITED') AS ps
    INNER JOIN sys.indexes AS i WITH (NOLOCK)
    ON ps.[object_id] = i.[object_id] 
    AND ps.index_id = i.index_id
    INNER JOIN sys.objects AS o WITH (NOLOCK)
    ON i.[object_id] = o.[object_id]
    WHERE ps.database_id = DB_ID()
    AND ps.page_count > 2500
    ORDER BY ps.avg_fragmentation_in_percent DESC OPTION (RECOMPILE);
    ------
    
    -- Helps determine whether you have framentation in your relational indexes
    -- and how effective your index maintenance strategy is
    
    
    --- Index Read/Write stats (all tables in current DB) ordered by Reads  (Query 76) (Overall Index Usage - Reads)
    SELECT OBJECT_NAME(i.[object_id]) AS [ObjectName], i.[name] AS [IndexName], i.index_id, 
           s.user_seeks, s.user_scans, s.user_lookups,
    	   s.user_seeks + s.user_scans + s.user_lookups AS [Total Reads], 
    	   s.user_updates AS [Writes],  
    	   i.[type_desc] AS [Index Type], i.fill_factor AS [Fill Factor], i.has_filter, i.filter_definition, 
    	   s.last_user_scan, s.last_user_lookup, s.last_user_seek
    FROM sys.indexes AS i WITH (NOLOCK)
    LEFT OUTER JOIN sys.dm_db_index_usage_stats AS s WITH (NOLOCK)
    ON i.[object_id] = s.[object_id]
    AND i.index_id = s.index_id
    AND s.database_id = DB_ID()
    WHERE OBJECTPROPERTY(i.[object_id],'IsUserTable') = 1
    ORDER BY s.user_seeks + s.user_scans + s.user_lookups DESC OPTION (RECOMPILE); -- Order by reads
    ------
    
    -- Show which indexes in the current database are most active for Reads
    
    
    --- Index Read/Write stats (all tables in current DB) ordered by Writes  (Query 77) (Overall Index Usage - Writes)
    SELECT OBJECT_NAME(i.[object_id]) AS [ObjectName], i.[name] AS [IndexName], i.index_id,
    	   s.user_updates AS [Writes], s.user_seeks + s.user_scans + s.user_lookups AS [Total Reads], 
    	   i.[type_desc] AS [Index Type], i.fill_factor AS [Fill Factor], i.has_filter, i.filter_definition,
    	   s.last_system_update, s.last_user_update
    FROM sys.indexes AS i WITH (NOLOCK)
    LEFT OUTER JOIN sys.dm_db_index_usage_stats AS s WITH (NOLOCK)
    ON i.[object_id] = s.[object_id]
    AND i.index_id = s.index_id
    AND s.database_id = DB_ID()
    WHERE OBJECTPROPERTY(i.[object_id],'IsUserTable') = 1
    ORDER BY s.user_updates DESC OPTION (RECOMPILE);						 -- Order by writes
    ------
    
    -- Show which indexes in the current database are most active for Writes
    
    
    -- Get in-memory OLTP index usage (Query 78) (XTP Index Usage)
    SELECT OBJECT_NAME(i.[object_id]) AS [Object Name], i.index_id, i.[name] AS [Index Name],
           i.[type_desc], xis.scans_started, xis.scans_retries, 
    	   xis.rows_touched, xis.rows_returned
    FROM sys.dm_db_xtp_index_stats AS xis WITH (NOLOCK)
    INNER JOIN sys.indexes AS i WITH (NOLOCK)
    ON i.[object_id] = xis.[object_id] 
    AND i.index_id = xis.index_id 
    ORDER BY OBJECT_NAME(i.[object_id]) OPTION (RECOMPILE);
    ------
    
    -- This gives you some index usage statistics for in-memory OLTP
    -- Returns no data if you are not using in-memory OLTP
    
    -- Guidelines for Using Indexes on Memory-Optimized Tables
    -- https://bit.ly/2GCP8lF
    
    
    
    -- Look at Columnstore index physical statistics (Query 79) (Columnstore Index Physical Stat)
    SELECT OBJECT_NAME(ps.object_id) AS [TableName],  
    	i.[name] AS [IndexName], ps.index_id, ps.partition_number,
    	ps.delta_store_hobt_id, ps.state_desc, ps.total_rows, ps.size_in_bytes,
    	ps.trim_reason_desc, ps.generation, ps.transition_to_compressed_state_desc,
    	ps.has_vertipaq_optimization, ps.deleted_rows,
    	100 * (ISNULL(ps.deleted_rows, 0))/ps.total_rows AS [Fragmentation]
    FROM sys.dm_db_column_store_row_group_physical_stats AS ps WITH (NOLOCK)
    INNER JOIN sys.indexes AS i WITH (NOLOCK)
    ON ps.object_id = i.object_id 
    AND ps.index_id = i.index_id
    ORDER BY ps.object_id, ps.partition_number, ps.row_group_id OPTION (RECOMPILE);
    ------
    
    -- sys.dm_db_column_store_row_group_physical_stats (Transact-SQL)
    -- https://bit.ly/2q276XQ
    
    
    
    -- Get lock waits for current database (Query 80) (Lock Waits)
    SELECT o.name AS [table_name], i.name AS [index_name], ios.index_id, ios.partition_number,
    		SUM(ios.row_lock_wait_count) AS [total_row_lock_waits], 
    		SUM(ios.row_lock_wait_in_ms) AS [total_row_lock_wait_in_ms],
    		SUM(ios.page_lock_wait_count) AS [total_page_lock_waits],
    		SUM(ios.page_lock_wait_in_ms) AS [total_page_lock_wait_in_ms],
    		SUM(ios.page_lock_wait_in_ms)+ SUM(row_lock_wait_in_ms) AS [total_lock_wait_in_ms]
    FROM sys.dm_db_index_operational_stats(DB_ID(), NULL, NULL, NULL) AS ios
    INNER JOIN sys.objects AS o WITH (NOLOCK)
    ON ios.[object_id] = o.[object_id]
    INNER JOIN sys.indexes AS i WITH (NOLOCK)
    ON ios.[object_id] = i.[object_id] 
    AND ios.index_id = i.index_id
    WHERE o.[object_id] > 100
    GROUP BY o.name, i.name, ios.index_id, ios.partition_number
    HAVING SUM(ios.page_lock_wait_in_ms)+ SUM(row_lock_wait_in_ms) > 0
    ORDER BY total_lock_wait_in_ms DESC OPTION (RECOMPILE);
    ------
    
    -- This query is helpful for troubleshooting blocking and deadlocking issues
    
    
    
    -- Look at UDF execution statistics (Query 81) (UDF Statistics)
    SELECT OBJECT_NAME(object_id) AS [Function Name], execution_count,
    	   total_worker_time, total_logical_reads, total_physical_reads, total_elapsed_time, 
    	   total_elapsed_time/execution_count AS [avg_elapsed_time],
    	   FORMAT(cached_time, 'yyyy-MM-dd HH:mm:ss', 'en-US') AS [Plan Cached Time]
    FROM sys.dm_exec_function_stats WITH (NOLOCK) 
    WHERE database_id = DB_ID()
    ORDER BY total_worker_time DESC OPTION (RECOMPILE); 
    ------
    
    -- New for SQL Server 2016
    -- Helps you investigate scalar UDF performance issues
    -- Does not return information for table valued functions
    
    -- sys.dm_exec_function_stats (Transact-SQL)
    -- https://bit.ly/2q1Q6BM
    
    
    -- Get QueryStore Options for this database (Query 82) (QueryStore Options)
    SELECT actual_state_desc, desired_state_desc, [interval_length_minutes],
           current_storage_size_mb, [max_storage_size_mb], 
    	   query_capture_mode_desc, size_based_cleanup_mode_desc
    FROM sys.database_query_store_options WITH (NOLOCK) OPTION (RECOMPILE);
    ------
    
    -- New for SQL Server 2016
    -- Requires that Query Store is enabled for this database
    
    -- Tuning Workload Performance with Query Store
    -- https://bit.ly/1kHSl7w
    
    
    -- Get highest aggregate duration queries over last hour (Query 83) (High Aggregate Duration Queries)
    WITH AggregatedDurationLastHour
    AS
    (SELECT q.query_id, SUM(count_executions * avg_duration) AS total_duration,
       COUNT (distinct p.plan_id) AS number_of_plans
       FROM sys.query_store_query_text AS qt WITH (NOLOCK)
       INNER JOIN sys.query_store_query AS q WITH (NOLOCK)
       ON qt.query_text_id = q.query_text_id
       INNER JOIN sys.query_store_plan AS p WITH (NOLOCK)
       ON q.query_id = p.query_id
       INNER JOIN sys.query_store_runtime_stats AS rs WITH (NOLOCK)
       ON rs.plan_id = p.plan_id
       INNER JOIN sys.query_store_runtime_stats_interval AS rsi WITH (NOLOCK)
       ON rsi.runtime_stats_interval_id = rs.runtime_stats_interval_id
       WHERE rsi.start_time >= DATEADD(hour, -1, GETUTCDATE()) 
       AND rs.execution_type_desc = N'Regular'
       GROUP BY q.query_id),
    OrderedDuration AS
    (SELECT query_id, total_duration, number_of_plans, 
     ROW_NUMBER () OVER (ORDER BY total_duration DESC, query_id) AS RN
     FROM AggregatedDurationLastHour)
    SELECT OBJECT_NAME(q.object_id) AS [Containing Object], qt.query_sql_text, 
    od.total_duration AS [Total Duration (microsecs)], 
    od.number_of_plans AS [Plan Count],
    p.is_forced_plan, p.is_parallel_plan, p.is_trivial_plan,
    q.query_parameterization_type_desc, p.[compatibility_level],
    p.last_compile_start_time, q.last_execution_time,
    CONVERT(xml, p.query_plan) AS query_plan_xml 
    FROM OrderedDuration AS od 
    INNER JOIN sys.query_store_query AS q WITH (NOLOCK)
    ON q.query_id  = od.query_id
    INNER JOIN sys.query_store_query_text AS qt WITH (NOLOCK)
    ON q.query_text_id = qt.query_text_id
    INNER JOIN sys.query_store_plan AS p WITH (NOLOCK)
    ON q.query_id = p.query_id
    WHERE od.RN <= 50 
    ORDER BY total_duration DESC OPTION (RECOMPILE);
    ------
    
    -- New for SQL Server 2016
    -- Requires that QueryStore is enabled for this database
    
    
    
    -- Get highest aggregate CPU time queries over last hour (Query 84) (High Aggregate CPU Queries)
    WITH AggregatedCPULastHour
    AS
    (SELECT q.query_id, SUM(rs.count_executions * rs.avg_cpu_time) AS total_cpu_time,
       COUNT (DISTINCT p.plan_id) AS number_of_plans
       FROM sys.query_store_query_text AS qt WITH (NOLOCK)
       INNER JOIN sys.query_store_query AS q WITH (NOLOCK)
       ON qt.query_text_id = q.query_text_id
       INNER JOIN sys.query_store_plan AS p WITH (NOLOCK)
       ON q.query_id = p.query_id
       INNER JOIN sys.query_store_runtime_stats AS rs WITH (NOLOCK)
       ON rs.plan_id = p.plan_id
       INNER JOIN sys.query_store_runtime_stats_interval AS rsi WITH (NOLOCK)
       ON rsi.runtime_stats_interval_id = rs.runtime_stats_interval_id
       WHERE rsi.start_time >= DATEADD(hour, -1, GETUTCDATE()) 
       AND rs.execution_type_desc = N'Regular'
       GROUP BY q.query_id), OrderedDuration 
    AS
    (SELECT query_id, total_cpu_time, number_of_plans, 
     ROW_NUMBER () OVER (ORDER BY total_cpu_time DESC, query_id) AS RN
     FROM AggregatedCPULastHour)
    SELECT OBJECT_NAME(q.object_id) AS [Containing Object], qt.query_sql_text, 
    od.total_cpu_time AS [Total CPU Time (microsecs)], 
    od.number_of_plans AS [Plan Count],
    p.is_forced_plan, p.is_parallel_plan, p.is_trivial_plan,
    q.query_parameterization_type_desc, p.[compatibility_level],
    p.last_compile_start_time, 
    q.last_execution_time,
    CONVERT(xml, p.query_plan) AS query_plan_xml 
    FROM OrderedDuration AS od 
    INNER JOIN sys.query_store_query AS q WITH (NOLOCK)
    ON q.query_id  = od.query_id
    INNER JOIN sys.query_store_query_text AS qt WITH (NOLOCK)
    ON q.query_text_id = qt.query_text_id
    INNER JOIN sys.query_store_plan AS p WITH (NOLOCK)
    ON q.query_id = p.query_id
    WHERE od.RN <= 50 
    ORDER BY od.total_cpu_time DESC OPTION (RECOMPILE);
    ------
    
    -- New for SQL Server 2016
    -- Requires that QueryStore is enabled for this database
    
    
    
    
    -- Get input buffer information for the current database (Query 85) (Input Buffer)
    SELECT es.session_id, DB_NAME(es.database_id) AS [Database Name],
           es.login_time, es.cpu_time, es.logical_reads, es.memory_usage,
           es.[status], ib.event_info AS [Input Buffer]
    FROM sys.dm_exec_sessions AS es WITH (NOLOCK)
    CROSS APPLY sys.dm_exec_input_buffer(es.session_id, NULL) AS ib
    WHERE es.database_id = DB_ID()
    AND es.session_id > 50
    AND es.session_id <> @@SPID OPTION (RECOMPILE);
    ------
    
    -- Gives you input buffer information from all non-system sessions for the current database
    -- Replaces DBCC INPUTBUFFER
    
    -- New DMF for retrieving input buffer in SQL Server
    -- https://bit.ly/2uHKMbz
    
    -- sys.dm_exec_input_buffer (Transact-SQL)
    -- https://bit.ly/2J5Hf9q
    
    
    
    -- Look at recent Full backups for the current database (Query 86) (Recent Full Backups)
    SELECT TOP (30) bs.machine_name, bs.server_name, bs.database_name AS [Database Name], bs.recovery_model,
    CONVERT (BIGINT, bs.backup_size / 1048576 ) AS [Uncompressed Backup Size (MB)],
    CONVERT (BIGINT, bs.compressed_backup_size / 1048576 ) AS [Compressed Backup Size (MB)],
    CONVERT (NUMERIC (20,2), (CONVERT (FLOAT, bs.backup_size) /
    CONVERT (FLOAT, bs.compressed_backup_size))) AS [Compression Ratio], bs.has_backup_checksums, bs.is_copy_only, bs.encryptor_type,
    DATEDIFF (SECOND, bs.backup_start_date, bs.backup_finish_date) AS [Backup Elapsed Time (sec)],
    bs.backup_finish_date AS [Backup Finish Date], bmf.physical_device_name AS [Backup Location], bmf.physical_block_size
    FROM msdb.dbo.backupset AS bs WITH (NOLOCK)
    INNER JOIN msdb.dbo.backupmediafamily AS bmf WITH (NOLOCK)
    ON bs.media_set_id = bmf.media_set_id  
    WHERE bs.database_name = DB_NAME(DB_ID())
    AND bs.[type] = 'D' -- Change to L if you want Log backups
    ORDER BY bs.backup_finish_date DESC OPTION (RECOMPILE);
    ------
    
    -- Are your backup sizes and times changing over time?
    -- Are you using backup compression?
    -- Are you using backup checksums?
    -- Are you doing copy_only backups?
    -- Are you doing encrypted backups?
    -- Have you done any backup tuning with striped backups, or changing the parameters of the backup command?
    
    -- In SQL Server 2016, native SQL Server backup compression actually works 
    -- much better with databases that are using TDE than in previous versions
    -- https://bit.ly/28Rpb2x
    
    
    -- These four Pluralsight Courses go into more detail about how to run these queries and interpret the results
    
    -- SQL Server 2017: Diagnosing Configuration Issues with DMVs
    -- https://bit.ly/2MSUDUL
    
    -- SQL Server 2014 DMV Diagnostic Queries � Part 1 
    -- https://bit.ly/2plxCer
    
    -- SQL Server 2014 DMV Diagnostic Queries � Part 2
    -- https://bit.ly/2IuJpzI
    
    -- SQL Server 2014 DMV Diagnostic Queries � Part 3
    -- https://bit.ly/2FIlCPb
    
    
    
    -- Sign up for Microsoft Visual Studio Dev Essentials and get a free three month pass to Pluralsight
    
    -- Microsoft Visual Studio Dev Essentials
    -- http://bit.ly/1q6xbDL
    
    
    -- Sign up for Microsoft Azure Essentials and get lots of free Azure usage credits, MCP exam voucher, three month Pluralsight subscription
    
    -- Microsoft Azure Essentials
    -- https://bit.ly/2JMWe8x
    
    
    -- August 2017 blog series about upgrading and migrating to SQL Server 2016/2017
    -- https://bit.ly/2ftKVrX
    
  • tools\dbatools\bin\net452\dbatools.xml Show
    <?xml version="1.0"?>
    <doc>
        <assembly>
            <name>dbatools</name>
        </assembly>
        <members>
            <member name="T:Sqlcollaborative.Dbatools.Commands.SelectDbaObjectCommand">
                <summary>
                Implements the Select-DbaObject command
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.SelectDbaObjectCommand.InputObject">
                <summary>
                The actual input object that is being processed
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.SelectDbaObjectCommand.Property">
                <summary>
                The properties to select. Supports fancy DSL
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.SelectDbaObjectCommand.ExcludeProperty">
                <summary>
                Properties to skip
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.SelectDbaObjectCommand.ExpandProperty">
                <summary>
                A property to expand.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.SelectDbaObjectCommand.Unique">
                <summary>
                Whether to exclude duplicates
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.SelectDbaObjectCommand.Last">
                <summary>
                The last number of items to pick
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.SelectDbaObjectCommand.First">
                <summary>
                Pick the first n items.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.SelectDbaObjectCommand.Skip">
                <summary>
                Skip n items before picking items
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.SelectDbaObjectCommand.SkipLast">
                <summary>
                Skip the last n items
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.SelectDbaObjectCommand.Wait">
                <summary>
                
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.SelectDbaObjectCommand.Index">
                <summary>
                
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.SelectDbaObjectCommand.ShowProperty">
                <summary>
                THe properties to display by default
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.SelectDbaObjectCommand.ShowExcludeProperty">
                <summary>
                The properties to NOT display by default
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.SelectDbaObjectCommand.TypeName">
                <summary>
                The typename to assign to the psobject
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.SelectDbaObjectCommand.KeepInputObject">
                <summary>
                Keep the original input object, just add to it.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.SelectDbaObjectCommand._NonclonedProperties">
                <summary>
                List of properties to NOT clone into the hashtable used against Select-Object
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.SelectDbaObjectCommand._NoAdjustment">
                <summary>
                Whether some adjustments to the object need to be done or whether the Select-Object output can be simply passed through.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.SelectDbaObjectCommand._DisplayPropertySet">
                <summary>
                The set controlling what properties will be shown by default
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.SelectDbaObjectCommand._Pipeline">
                <summary>
                THe pipeline that is wrapped around Select-Object
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Commands.SelectDbaObjectCommand.BeginProcessing">
                <summary>
                Implements the begin action of the command
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Commands.SelectDbaObjectCommand.ProcessRecord">
                <summary>
                Implements the process action of the command
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Commands.SelectDbaObjectCommand.EndProcessing">
                <summary>
                Implements the end action of the command
                </summary>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Commands.SetDbatoolsConfigCommand">
                <summary>
                Implements the Set-PSFConfig command
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.SetDbatoolsConfigCommand.FullName">
                <summary>
                The full name of the setting
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.SetDbatoolsConfigCommand.Module">
                <summary>
                The name of the module the setting belongs to.
                Is optional due to just specifying a name is legal, in which case the first name segment becomes the module name.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.SetDbatoolsConfigCommand.Name">
                <summary>
                The name of the setting within a module.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.SetDbatoolsConfigCommand.Value">
                <summary>
                The value to apply.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.SetDbatoolsConfigCommand.PersistedValue">
                <summary>
                The persisted value to apply.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.SetDbatoolsConfigCommand.PersistedType">
                <summary>
                The persisted type to apply.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.SetDbatoolsConfigCommand.Description">
                <summary>
                Add documentation to the setting.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.SetDbatoolsConfigCommand.Validation">
                <summary>
                The validation script to use.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.SetDbatoolsConfigCommand.Handler">
                <summary>
                The handling script to apply when changing the value.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.SetDbatoolsConfigCommand.Hidden">
                <summary>
                Whether the setting should be hidden from casual discovery.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.SetDbatoolsConfigCommand.Default">
                <summary>
                Whether the setting should be applied only when nothing exists yet.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.SetDbatoolsConfigCommand.Initialize">
                <summary>
                Whether this is the configuration initialization call.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.SetDbatoolsConfigCommand.SimpleExport">
                <summary>
                Enabling this will cause the module to use friendly json notation on export to file.
                This may result in loss of data precision, but is more userfriendly.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.SetDbatoolsConfigCommand.ModuleExport">
                <summary>
                Whether this setting applies to module scope file export.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.SetDbatoolsConfigCommand.DisableValidation">
                <summary>
                Do not apply the validation script when changing values.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.SetDbatoolsConfigCommand.DisableHandler">
                <summary>
                Do not run the handler script when changing values.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.SetDbatoolsConfigCommand.PassThru">
                <summary>
                Return the changed configuration setting.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.SetDbatoolsConfigCommand.EnableException">
                <summary>
                Enable throwing exceptions.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.SetDbatoolsConfigCommand._Config">
                <summary>
                The configuration item changed
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.SetDbatoolsConfigCommand._KillIt">
                <summary>
                Whether execution should be terminated silently.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.SetDbatoolsConfigCommand._Initialize">
                <summary>
                Whether this is an initialization execution.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.SetDbatoolsConfigCommand._Persisted">
                <summary>
                Whether persisted values need to be restored.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.SetDbatoolsConfigCommand._Exists">
                <summary>
                Whether the setting already exists.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.SetDbatoolsConfigCommand._PolicyEnforced">
                <summary>
                The setting to be affected was enforced by policy and cannot be changed by the user.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.SetDbatoolsConfigCommand._NameModule">
                <summary>
                Processed name of module.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.SetDbatoolsConfigCommand._NameName">
                <summary>
                Processed name of setting within module.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.SetDbatoolsConfigCommand._NameFull">
                <summary>
                Processed full name of setting.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.SetDbatoolsConfigCommand._ValidationErrorMessage">
                <summary>
                The reason validation failed.
                Filled by ApplyValue.
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Commands.SetDbatoolsConfigCommand.BeginProcessing">
                <summary>
                Implements the begin action of Set-PSFConfig
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Commands.SetDbatoolsConfigCommand.ProcessRecord">
                <summary>
                Implements the process action of Set-PSFConfig
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Commands.SetDbatoolsConfigCommand.ApplyValue(System.Object)">
                <summary>
                Applies a value to a configuration item, invoking validation and handler scriptblocks.
                </summary>
                <param name="Value">The value to apply</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Commands.SetDbatoolsConfigCommand.ApplyCommonSettings">
                <summary>
                Abstracts out 
                </summary>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Commands.WriteMessageCommand">
                <summary>
                Implements the Write-Message command, performing message handling and loggin
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.WriteMessageCommand.Level">
                <summary>
                This parameter represents the verbosity of the message. The lower the number, the more important it is for a human user to read the message.
                By default, the levels are distributed like this:
                - 1-3 Direct verbose output to the user (using Write-Host)
                - 4-6 Output only visible when requesting extra verbosity (using Write-Verbose)
                - 1-9 Debugging information, written using Write-Debug
                
                In addition, it is possible to select the level "Warning" which moves the message out of the configurable range:
                The user will always be shown this message, unless he silences the entire verbosity.
                
                Possible levels:
                Critical (1), Important / Output / Host (2), Significant (3), VeryVerbose (4), Verbose (5), SomewhatVerbose (6), System (7), Debug (8), InternalComment (9), Warning (666)
                Either one of the strings or its respective number will do as input.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.WriteMessageCommand.Message">
                <summary>
                The message to write/log. The function name and timestamp will automatically be prepended.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.WriteMessageCommand.Tag">
                <summary>
                Tags to add to the message written.
                This allows filtering and grouping by category of message, targeting specific messages.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.WriteMessageCommand.FunctionName">
                <summary>
                The name of the calling function.
                Will be automatically set, but can be overridden when necessary.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.WriteMessageCommand.ModuleName">
                <summary>
                The name of the module, the calling function is part of.
                Will be automatically set, but can be overridden when necessary.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.WriteMessageCommand.File">
                <summary>
                The file in which Write-Message was called.
                Will be automatically set, but can be overridden when necessary.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.WriteMessageCommand.Line">
                <summary>
                The line on which Write-Message was called.
                Will be automatically set, but can be overridden when necessary.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.WriteMessageCommand.ErrorRecord">
                <summary>
                If an error record should be noted with the message, add the full record here.
                Especially designed for use with Warning-mode, it can legally be used in either mode.
                The error will be added to the $Error variable and enqued in the logging/debugging system.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.WriteMessageCommand.Exception">
                <summary>
                Allows specifying an inner exception as input object. This will be passed on to the logging and used for messages.
                When specifying both ErrorRecord AND Exception, Exception wins, but ErrorRecord is still used for record metadata.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.WriteMessageCommand.Once">
                <summary>
                Setting this parameter will cause this function to write the message only once per session.
                The string passed here and the calling function's name are used to create a unique ID, which is then used to register the action in the configuration system.
                Thus will the lockout only be written if called once and not burden the system unduly.
                This lockout will be written as a hidden value, to see it use Get-DbaConfig -Force.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.WriteMessageCommand.OverrideExceptionMessage">
                <summary>
                Disables automatic appending of exception messages.
                Use in cases where you already have a speaking message interpretation and do not need the original message.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.WriteMessageCommand.Target">
                <summary>
                Add the object the message is all about, in order to simplify debugging / troubleshooting.
                For example, when calling this from a function targeting a remote computer, the computername could be specified here, allowing all messages to easily be correlated to the object processed.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.WriteMessageCommand.EnableException">
                <summary>
                This parameters disables user-friendly warnings and enables the throwing of exceptions.
                This is less user friendly, but allows catching exceptions in calling scripts.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.WriteMessageCommand.Breakpoint">
                <summary>
                Enables breakpoints on the current message. By default, setting '-Debug' will NOT cause an interrupt on the current position.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.WriteMessageCommand._timestamp">
                <summary>
                The start time of the cmdlet
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.WriteMessageCommand._silent">
                <summary>
                Whether this cmdlet is run in silent mode
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.WriteMessageCommand._fromStopFunction">
                <summary>
                Whether this cmdlet was called by Stop-Function
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.WriteMessageCommand._callStack">
                <summary>
                The current callstack
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.WriteMessageCommand._stackDepth">
                <summary>
                How many items exist on the callstack
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.WriteMessageCommand._message">
                <summary>
                The message to write
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.WriteMessageCommand._messageSimple">
                <summary>
                The message simplified without timestamps. Used for logging.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.WriteMessageCommand._messageColor">
                <summary>
                The message to write in color
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.WriteMessageCommand._messageDeveloper">
                <summary>
                Non-colored version of developermode
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.WriteMessageCommand._messageDeveloperColor">
                <summary>
                Colored version of developermode
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.WriteMessageCommand._writeHostScript">
                <summary>
                Scriptblock that writes the host messages
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.WriteMessageCommand._Tags">
                <summary>
                List of tags to process
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.WriteMessageCommand._isDebug">
                <summary>
                Whether debug mode is enabled
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Commands.WriteMessageCommand._errorQualifiedMessage">
                <summary>
                The input message with the error content included if desired
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Commands.WriteMessageCommand._MessageSystem">
                <summary>
                The final message to use for internal logging
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Commands.WriteMessageCommand._MessageStreams">
                <summary>
                The final message to use for writing to streams, such as verbose or warning
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Commands.WriteMessageCommand._MessageHost">
                <summary>
                The final message to use for host messages (write using Write-HostColor)
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Commands.WriteMessageCommand._BreadCrumbsString">
                <summary>
                Provide breadcrumb queue of the callstack
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Commands.WriteMessageCommand._BreadCrumbsStringColored">
                <summary>
                Provide a breadcrumb queue of the callstack in color tags
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Commands.WriteMessageCommand.BeginProcessing">
                <summary>
                Processes the begin phase of the cmdlet
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Commands.WriteMessageCommand.ProcessRecord">
                <summary>
                Processes the process phase of the cmdlet
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Commands.WriteMessageCommand.ResolveTarget(System.Object)">
                <summary>
                Processes the target transform rules on an input object
                </summary>
                <param name="Item">The item to transform</param>
                <returns>The transformed object</returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Commands.WriteMessageCommand.ResolveException(System.Exception)">
                <summary>
                Processes the specified exception specified
                </summary>
                <param name="Item">The exception to process</param>
                <returns>The transformed exception</returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Commands.WriteMessageCommand.ResolveLevel(Sqlcollaborative.Dbatools.Message.MessageLevel)">
                <summary>
                Processs the input level and apply policy and rules
                </summary>
                <param name="Level">The original level of the message</param>
                <returns>The processed level</returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Commands.WriteMessageCommand.GetMessage">
                <summary>
                Builds the message item for display of Verbose, Warning and Debug streams
                </summary>
                <returns>The message to return</returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Commands.WriteMessageCommand.GetMessageSimple">
                <summary>
                Builds the base message for internal system use.
                </summary>
                <returns>The message to return</returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Commands.WriteMessageCommand.GetMessageColor">
                <summary>
                Builds the message item if needed and returns it
                </summary>
                <returns>The message to return</returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Commands.WriteMessageCommand.GetMessageDeveloper">
                <summary>
                Non-host output in developermode
                </summary>
                <returns>The string to write on messages that don't go straight to Write-HostColor</returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Commands.WriteMessageCommand.GetMessageDeveloperColor">
                <summary>
                Host output in developermode
                </summary>
                <returns>The string to write on messages that go straight to Write-HostColor</returns>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Computer.DiskSpace">
                <summary>
                Data Container for the output of Get-DbaDiskSpace
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Computer.DiskSpace.ComputerName">
                <summary>
                The computer that was scanned
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Computer.DiskSpace.Name">
                <summary>
                Name of the disk
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Computer.DiskSpace.Label">
                <summary>
                Label of the disk
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Computer.DiskSpace.Capacity">
                <summary>
                What's the total capacity of the disk?
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Computer.DiskSpace.Free">
                <summary>
                How much is still free?
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Computer.DiskSpace.PercentFree">
                <summary>
                How much is still free
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Computer.DiskSpace.BlockSize">
                <summary>
                What blocksize is the object set to
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Computer.DiskSpace.FileSystem">
                <summary>
                What filesystem is installed on the system
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Computer.DiskSpace.Type">
                <summary>
                What kind of drive is it?
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Computer.DiskSpace.IsSqlDisk">
                <summary>
                Whether the drive is a sql disk. Nullable, because it is an optional property and may not always be included, thus a third state is necessary.
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Computer.DiskSpace.Server">
                <summary>
                The computer that was scanned. Legacy-Name
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Computer.DiskSpace.DriveType">
                <summary>
                The type of drive this is in the legacy string notation
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Computer.DiskSpace.SizeInBytes">
                <summary>
                The total capacity in Bytes
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Computer.DiskSpace.FreeInBytes">
                <summary>
                The free space in Bytes
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Computer.DiskSpace.SizeInKB">
                <summary>
                The total capacity in KB
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Computer.DiskSpace.FreeInKB">
                <summary>
                The free space in KB
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Computer.DiskSpace.SizeInMB">
                <summary>
                The total capacity in MB
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Computer.DiskSpace.FreeInMB">
                <summary>
                The free space in MB
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Computer.DiskSpace.SizeInGB">
                <summary>
                The total capacity in GB
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Computer.DiskSpace.FreeInGB">
                <summary>
                The free space in GB
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Computer.DiskSpace.SizeInTB">
                <summary>
                The total capacity in TB
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Computer.DiskSpace.FreeInTB">
                <summary>
                The free space in TB
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Computer.DiskSpace.SizeInPB">
                <summary>
                The total capacity in PB
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Computer.DiskSpace.FreeInPB">
                <summary>
                The free space in PB
                </summary>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Computer.DriveType">
                <summary>
                What kind of drive are you?
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Computer.DriveType.Unknown">
                <summary>
                The drive type is not actually known
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Computer.DriveType.NoRootDirectory">
                <summary>
                The drive has no root directory
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Computer.DriveType.RemovableDisk">
                <summary>
                The drive is a removable disk
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Computer.DriveType.LocalDisk">
                <summary>
                The drive is a local disk
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Computer.DriveType.NetworkDrive">
                <summary>
                The drive is a network drive
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Computer.DriveType.CompactDisk">
                <summary>
                The drive is a compact disk
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Computer.DriveType.RAMDisk">
                <summary>
                The drive is a RAM disk
                </summary>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Computer.PageFileSetting">
                <summary>
                Data container, listing pagefile settings.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Computer.PageFileSetting.ComputerName">
                <summary>
                The name of the computer
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Computer.PageFileSetting.AutoPageFile">
                <summary>
                Whether Automatic PageFile management is enabled
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Computer.PageFileSetting.FileName">
                <summary>
                The pagefile name
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Computer.PageFileSetting.Status">
                <summary>
                The pagefile status
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Computer.PageFileSetting.SystemManaged">
                <summary>
                Whether the pagefile is system managed
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Computer.PageFileSetting.LastModified">
                <summary>
                When were the settings last changed
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Computer.PageFileSetting.LastAccessed">
                <summary>
                When were the settings last accessed
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Computer.PageFileSetting.AllocatedBaseSize">
                <summary>
                The base allocated pagefile size in MB
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Computer.PageFileSetting.InitialSize">
                <summary>
                The initial pagefile size in MB
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Computer.PageFileSetting.MaximumSize">
                <summary>
                The maximum pagefile size in MB
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Computer.PageFileSetting.PeakUsage">
                <summary>
                The maximum percent of the pagefile limit that has been used
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Computer.PageFileSetting.CurrentUsage">
                <summary>
                The currently used percentage of the pagefile limit that is in use.
                </summary>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Configuration.Config">
                <summary>
                Configuration Manager as well as individual configuration object.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Configuration.Config.Name">
                <summary>
                The Name of the setting
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Configuration.Config.FullName">
                <summary>
                The full name of the configuration entry, comprised of both Module and Name.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Configuration.Config.Module">
                <summary>
                The module of the setting. Helps being able to group configurations.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Configuration.Config.Description">
                <summary>
                A description of the specific setting
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Configuration.Config.Type">
                <summary>
                The data type of the value stored in the configuration element.
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Configuration.Config.Value">
                <summary>
                The value stored in the configuration element
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Configuration.Config.SafeValue">
                <summary>
                The value stored in the configuration element, but without deserializing objects.
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Configuration.Config.Unchanged">
                <summary>
                Whether the value of the configuration setting has been changed since its initialization.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Configuration.Config.Handler">
                <summary>
                The handler script that is run whenever the configuration value is set.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Configuration.Config.Validation">
                <summary>
                Validates the user input
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Configuration.Config.Hidden">
                <summary>
                Setting this to true will cause the element to not be discovered unless using the '-Force' parameter on "Get-DbaConfig"
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Configuration.Config.Initialized">
                <summary>
                Whether the setting has been initialized. This handles module imports and avoids modules overwriting settings when imported in multiple runspaces.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Configuration.Config.PolicySet">
                <summary>
                Whether this setting was set by policy
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Configuration.Config.PolicyEnforced">
                <summary>
                Whether this setting was set by policy and forbids changes to the configuration.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Configuration.Config.SimpleExport">
                <summary>
                Enabling this causes export to json to use simple json serialization for data transmission.
                This is suitable for simple data that is not sensitive to conversion losses.
                Simple export leads to exports more easily readable to the human eye.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Configuration.Config.ModuleExport">
                <summary>
                Whether this setting should be exported to a module specific file when exporting to json by modulename.
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Configuration.Config.RegistryData">
                <summary>
                The finalized value to put into the registry value when using policy to set this setting.
                Deprecated property.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Configuration.Config.DefaultValue">
                <summary>
                The default value the configuration item was set to when initializing
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Configuration.Config.SetPersistedValue(Sqlcollaborative.Dbatools.Configuration.ConfigurationValueType,System.String)">
                <summary>
                Applies the persisted value to the configuration item.
                This method should only be called by PSFramework internals
                </summary>
                <param name="Type">The type of data being specified</param>
                <param name="ValueString">The value string to register</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Configuration.Config.ResetValue">
                <summary>
                Resets the configuration value to its configured default value
                </summary>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Configuration.ConfigScope">
                <summary>
                The location where a setting was applied
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Configuration.ConfigScope.UserDefault">
                <summary>
                The configuration is set as default value for the user
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Configuration.ConfigScope.UserMandatory">
                <summary>
                The configuration is enforced for the user
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Configuration.ConfigScope.SystemDefault">
                <summary>
                The configuration is set as default value for all users on the system
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Configuration.ConfigScope.SystemMandatory">
                <summary>
                The configuration is enforced for all users on the system.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Configuration.ConfigScope.FileUserLocal">
                <summary>
                The configuration is stored as Json in the per user local machine config directory.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Configuration.ConfigScope.FileUserShared">
                <summary>
                The configuration is stored as Json in the per user config directory shared across machines.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Configuration.ConfigScope.FileSystem">
                <summary>
                The configuration is stored as Json in the local computer config directory.
                </summary>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Configuration.ConfigurationHost">
                <summary>
                Host class providing static configuration settings that are constant across all runspaces within the process.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Configuration.ConfigurationHost.Configurations">
                <summary>
                Hashtable containing all the configuration entries
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Configuration.ConfigurationHost.Validation">
                <summary>
                Hashtable containing all the registered validations
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Configuration.ConfigurationHost.ImportFromRegistryDone">
                <summary>
                Whether the import from registry has been completed. Prevents multiple imports and overwrites when importing the module multiple times.
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Configuration.ConfigurationHost.ConvertToPersistedValue(System.Object)">
                <summary>
                Converts any object into its persisted state.
                </summary>
                <param name="Item">The item to convert.</param>
                <returns>Its persisted state representation.</returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Configuration.ConfigurationHost.ConvertFromPersistedValue(System.String,Sqlcollaborative.Dbatools.Configuration.ConfigurationValueType)">
                <summary>
                Converts a persisted value back to its original data type
                </summary>
                <param name="PersistedValue">The value in its persisted state</param>
                <param name="Type">The type of the persisted value</param>
                <returns>The natural state of the value originally persisted</returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Configuration.ConfigurationHost.ConvertFromPersistedValue(System.String)">
                <summary>
                Converts a persisted value back to its original data type
                </summary>
                <param name="TypeQualifiedPersistedValue">The value in its persisted state, with a prefixed type identifier.</param>
                <returns>The natural state of the value originally persisted</returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Configuration.ConfigurationHost.Utf8ToBase64(System.String)">
                <summary>
                Converts a plain text into a base64 string
                </summary>
                <param name="Value">The string to convert</param>
                <returns>base64 encoded version of string.</returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Configuration.ConfigurationHost.Base64ToUtf8(System.String)">
                <summary>
                Converts a base64 encoded string into plain text
                </summary>
                <param name="Value">The string to convert</param>
                <returns>Plain Text string</returns>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Configuration.ConfigurationValue">
                <summary>
                Contains all information about a configuration item's value
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Configuration.ConfigurationValue.Value">
                <summary>
                The runtime value of the setting.
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Configuration.ConfigurationValue.PersistedValue">
                <summary>
                The value in its persisted state
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Configuration.ConfigurationValue.PersistedType">
                <summary>
                The kind of 
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Configuration.ConfigurationValue.TypeQualifiedPersistedValue">
                <summary>
                The type qualified representation of the persisted value
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Configuration.ConfigurationValue.SafeValue">
                <summary>
                Ensures wanton Get-PSFConfig will not deserialize persisted objects that might have registered deserialization in their module.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Configuration.ConfigurationValue._Value">
                <summary>
                Internal storage for the Value property
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Configuration.ConfigurationValue._PersistedValue">
                <summary>
                Internal storage for the PersistedValue property
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Configuration.ConfigurationValue.ToString">
                <summary>
                The string representation of its actual value
                </summary>
                <returns>Returns the type-qualified string representation of its value</returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Configuration.ConfigurationValue.#ctor(System.String,Sqlcollaborative.Dbatools.Configuration.ConfigurationValueType)">
                <summary>
                Creates a value object from persisted data
                </summary>
                <param name="PersistedValue">The value that will be persisted</param>
                <param name="PersistedType">The type of the value to be persisted</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Configuration.ConfigurationValue.#ctor(System.Object)">
                <summary>
                Creates a value object from runtime data
                </summary>
                <param name="Value">The value that will be stored</param>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Configuration.ConfigurationValueType">
                <summary>
                The data types supported by the configuration system.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Configuration.ConfigurationValueType.Unknown">
                <summary>
                An unknown type, should be prevented
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Configuration.ConfigurationValueType.Null">
                <summary>
                The value is as empty as the void.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Configuration.ConfigurationValueType.Bool">
                <summary>
                The value is of a true/false kind
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Configuration.ConfigurationValueType.Int">
                <summary>
                The value is a regular integer
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Configuration.ConfigurationValueType.Double">
                <summary>
                The value is a double numeric value
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Configuration.ConfigurationValueType.Long">
                <summary>
                The value is a long type
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Configuration.ConfigurationValueType.String">
                <summary>
                The value is a common string
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Configuration.ConfigurationValueType.Timespan">
                <summary>
                The value is a regular timespan
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Configuration.ConfigurationValueType.Datetime">
                <summary>
                The value is a plain datetime
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Configuration.ConfigurationValueType.ConsoleColor">
                <summary>
                The value is a fancy console color
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Configuration.ConfigurationValueType.Array">
                <summary>
                The value is an array full of booty
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Configuration.ConfigurationValueType.Hashtable">
                <summary>
                The value is a hashtable
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Configuration.ConfigurationValueType.Object">
                <summary>
                The value is something indeterminate, but possibly complex
                </summary>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Connection.ConnectionHost">
                <summary>
                Provides static tools for managing connections
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Connection.ConnectionHost.Connections">
                <summary>
                List of all registered connections.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Connection.ConnectionHost.BadConnectionTimeout">
                <summary>
                The time interval that must pass, before a connection using a known to not work connection protocol is reattempted
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Connection.ConnectionHost.DisableCache">
                <summary>
                Globally disables all caching done by the Computer Management functions.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Connection.ConnectionHost.DisableBadCredentialCache">
                <summary>
                Disables the caching of bad credentials. dbatools caches bad logon credentials for wmi/cim and will not reuse them.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Connection.ConnectionHost.DisableCredentialAutoRegister">
                <summary>
                Disables the automatic registration of working credentials. dbatools will caches the last working credential when connecting using wmi/cim and will use those rather than using known bad credentials
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Connection.ConnectionHost.OverrideExplicitCredential">
                <summary>
                Enabling this will force the use of the last credentials known to work, rather than even trying explicit credentials.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Connection.ConnectionHost.EnableCredentialFailover">
                <summary>
                Enables automatic failover to working credentials, when passed credentials either are known, or turn out to not work.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Connection.ConnectionHost.DisableCimPersistence">
                <summary>
                Globally disables the persistence of Cim sessions used to connect to a target system.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Connection.ConnectionHost.DisableConnectionCimRM">
                <summary>
                Whether the CM connection using Cim over WinRM is disabled globally
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Connection.ConnectionHost.DisableConnectionCimDCOM">
                <summary>
                Whether the CM connection using Cim over DCOM is disabled globally
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Connection.ConnectionHost.DisableConnectionWMI">
                <summary>
                Whether the CM connection using WMI is disabled globally
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Connection.ConnectionHost.DisableConnectionPowerShellRemoting">
                <summary>
                Whether the CM connection using PowerShell Remoting is disabled globally
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Connection.ConnectionHost.SqlConnectionTimeout">
                <summary>
                The number of seconds before a sql connection attempt times out
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Connection.ConnectionHost.PSSessions">
                <summary>
                List of all session containers used to maintain a cache
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Connection.ConnectionHost.PSSessionGet(System.Guid,System.String)">
                <summary>
                Returns a registered session for a given computer on a given runspace. Returns null if nothing is registered.
                </summary>
                <param name="Runspace">The host runspace that opened the session</param>
                <param name="ComputerName">The computer connected to</param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Connection.ConnectionHost.PSSessionSet(System.Guid,System.String,System.Management.Automation.Runspaces.PSSession)">
                <summary>
                Registeres a remote session under the owning runspace in its respective computer name
                </summary>
                <param name="Runspace">The runspace that owns the session</param>
                <param name="ComputerName">The computer the session connects to</param>
                <param name="Session">The session object</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Connection.ConnectionHost.PSSessionPurgeExpired">
                <summary>
                Searches the cache for an expired remoting session and purges it. After purging it from the list, it still needs to be closed!
                </summary>
                <returns>The session purged that then needs to be closed</returns>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Connection.ConnectionHost.PSSessionCountExpired">
                <summary>
                The number of expired sessions 
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Connection.ConnectionHost.PSSessionTimeout">
                <summary>
                The time until established connections will be considered expired (if available)
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Connection.ConnectionHost.PSSessionCacheEnabled">
                <summary>
                Whether sessions should be cached at all
                </summary>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Connection.ManagementConnection">
                <summary>
                Contains management connection information for a windows server
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Connection.ManagementConnection.ComputerName">
                <summary>
                The computer to connect to
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Connection.ManagementConnection.DisableBadCredentialCache">
                <summary>
                Locally disables the caching of bad credentials
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Connection.ManagementConnection.DisableCredentialAutoRegister">
                <summary>
                Locally disables the caching of working credentials
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Connection.ManagementConnection.OverrideExplicitCredential">
                <summary>
                Locally overrides explicit credentials with working ones that were cached
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Connection.ManagementConnection.EnableCredentialFailover">
                <summary>
                Locally enables automatic failover to working credentials, when passed credentials either are known, or turn out to not work.
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Connection.ManagementConnection.DisableCimPersistence">
                <summary>
                Locally disables the persistence of Cim sessions used to connect to a target system.
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Connection.ManagementConnection.DisabledConnectionTypes">
                <summary>
                Connectiontypes that will never be used
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Connection.ManagementConnection.RestoreDefaultConfiguration">
                <summary>
                Restores all deviations from public policy back to default
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Connection.ManagementConnection.OverrideConnectionPolicy">
                <summary>
                Whether this connection adhers to the global connection lockdowns or not
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Connection.ManagementConnection.CimRM">
                <summary>
                Did the last connection attempt using CimRM work?
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Connection.ManagementConnection.LastCimRM">
                <summary>
                When was the last connection attempt using CimRM?
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Connection.ManagementConnection.CimDCOM">
                <summary>
                Did the last connection attempt using CimDCOM work?
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Connection.ManagementConnection.LastCimDCOM">
                <summary>
                When was the last connection attempt using CimRM?
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Connection.ManagementConnection.Wmi">
                <summary>
                Did the last connection attempt using Wmi work?
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Connection.ManagementConnection.LastWmi">
                <summary>
                When was the last connection attempt using CimRM?
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Connection.ManagementConnection.PowerShellRemoting">
                <summary>
                Did the last connection attempt using PowerShellRemoting work?
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Connection.ManagementConnection.LastPowerShellRemoting">
                <summary>
                When was the last connection attempt using CimRM?
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Connection.ManagementConnection.ReportSuccess(Sqlcollaborative.Dbatools.Connection.ManagementConnectionType)">
                <summary>
                Report the successful connection against the computer of this connection
                </summary>
                <param name="Type">What connection type succeeded?</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Connection.ManagementConnection.ReportFailure(Sqlcollaborative.Dbatools.Connection.ManagementConnectionType)">
                <summary>
                Report the failure of connecting to the target computer
                </summary>
                <param name="Type">What connection type failed?</param>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Connection.ManagementConnection.Credentials">
                <summary>
                Any registered credentials to use on the connection.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Connection.ManagementConnection.WindowsCredentialsAreBad">
                <summary>
                Whether the default windows credentials are known to not work against the target.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Connection.ManagementConnection.UseWindowsCredentials">
                <summary>
                Whether windows credentials are known to be good. Do not build conditions on them being false, just on true.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Connection.ManagementConnection.KnownBadCredentials">
                <summary>
                Credentials known to not work. They will not be used when specified.
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Connection.ManagementConnection.AddBadCredential(System.Management.Automation.PSCredential)">
                <summary>
                Adds a credentials object to the list of credentials known to not work.
                </summary>
                <param name="Credential">The bad credential that must be punished</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Connection.ManagementConnection.AddGoodCredential(System.Management.Automation.PSCredential)">
                <summary>
                Reports a credentials object as being legit.
                </summary>
                <param name="Credential">The functioning credential that we may want to use again</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Connection.ManagementConnection.GetCredential(System.Management.Automation.PSCredential)">
                <summary>
                Calculates, which credentials to use. Will consider input, compare it with know not-working credentials or use the configured working credentials for that.
                </summary>
                <param name="Credential">Any credential object a user may have explicitly specified.</param>
                <returns>The Credentials to use</returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Connection.ManagementConnection.IsBadCredential(System.Management.Automation.PSCredential)">
                <summary>
                Tests whether the input credential is on the list known, bad credentials
                </summary>
                <param name="Credential">The credential to test</param>
                <returns>True if the credential is known to not work, False if it is not yet known to not work</returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Connection.ManagementConnection.RemoveBadCredential(System.Management.Automation.PSCredential)">
                <summary>
                Removes an item from the list of known bad credentials
                </summary>
                <param name="Credential">The credential to remove</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Connection.ManagementConnection.GetConnectionType(Sqlcollaborative.Dbatools.Connection.ManagementConnectionType,System.Boolean)">
                <summary>
                Returns the next connection type to try.
                </summary>
                <param name="ExcludedTypes">Exclude any type already tried and failed</param>
                <param name="Force">Overrides the timeout on bad connections</param>
                <returns>The next type to try.</returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Connection.ManagementConnection.GetConnectionTypesTimed(System.DateTime)">
                <summary>
                Returns a list of all available connection types whose inherent timeout has expired.
                </summary>
                <param name="Timestamp">All last connection failures older than this point in time are considered to be expired</param>
                <returns>A list of all valid connection types</returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Connection.ManagementConnection.GetConnectionTypesTimed(System.TimeSpan)">
                <summary>
                Returns a list of all available connection types whose inherent timeout has expired.
                </summary>
                <param name="Timespan">All last connection failures older than this far back into the past are considered to be expired</param>
                <returns>A list of all valid connection types</returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Connection.ManagementConnection.#ctor">
                <summary>
                Creates a new, empty connection object. Necessary for serialization.
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Connection.ManagementConnection.#ctor(System.String)">
                <summary>
                Creates a new default connection object, containing only its computer's name and default results.
                </summary>
                <param name="ComputerName">The computer targeted. Will be forced to lowercase.</param>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Connection.ManagementConnection.CimWinRMOptions">
                <summary>
                The options ot use when establishing a CIM Session
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Connection.ManagementConnection.GetDefaultCimWsmanOptions">
                <summary>
                Returns the default wsman options object
                </summary>
                <returns>Something very default-y</returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Connection.ManagementConnection.GetCimRMInstance(System.Management.Automation.PSCredential,System.String,System.String)">
                <summary>
                Get all cim instances of the appropriate class using WinRM
                </summary>
                <param name="Credential">The credentiuls to use for the connection.</param>
                <param name="Class">The class to query.</param>
                <param name="Namespace">The namespace to look in (defaults to root\cimv2).</param>
                <returns>Hopefully a mountainload of CimInstances</returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Connection.ManagementConnection.QueryCimRMInstance(System.Management.Automation.PSCredential,System.String,System.String,System.String)">
                <summary>
                Get all cim instances matching the query using WinRM
                </summary>
                <param name="Credential">The credentiuls to use for the connection.</param>
                <param name="Query">The query to use requesting information.</param>
                <param name="Dialect">Defaults to WQL.</param>
                <param name="Namespace">The namespace to look in (defaults to root\cimv2).</param>
                <returns></returns>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Connection.ManagementConnection.CimDComOptions">
                <summary>
                The options ot use when establishing a CIM Session
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Connection.ManagementConnection.GetDefaultCimDcomOptions">
                <summary>
                Returns the default DCom options object
                </summary>
                <returns>Something very default-y</returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Connection.ManagementConnection.GetCimDComInstance(System.Management.Automation.PSCredential,System.String,System.String)">
                <summary>
                Get all cim instances of the appropriate class using DCOM
                </summary>
                <param name="Credential">The credentiuls to use for the connection.</param>
                <param name="Class">The class to query</param>
                <param name="Namespace">The namespace to look in (defaults to root\cimv2)</param>
                <returns>Hopefully a mountainload of CimInstances</returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Connection.ManagementConnection.QueryCimDCOMInstance(System.Management.Automation.PSCredential,System.String,System.String,System.String)">
                <summary>
                Get all cim instances matching the query using DCOM
                </summary>
                <param name="Credential">The credentiuls to use for the connection.</param>
                <param name="Query">The query to use requesting information.</param>
                <param name="Dialect">Defaults to WQL.</param>
                <param name="Namespace">The namespace to look in (defaults to root\cimv2).</param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Connection.ManagementConnection.ToString">
                <summary>
                Simple string representation
                </summary>
                <returns>Returns the computerName it is connection for</returns>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Connection.ManagementConnectionProtocolState">
                <summary>
                The various types of state a connection-protocol may have
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Connection.ManagementConnectionProtocolState.Unknown">
                <summary>
                The default initial state, before any tests are performed
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Connection.ManagementConnectionProtocolState.Success">
                <summary>
                A successful connection was last established
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Connection.ManagementConnectionProtocolState.Error">
                <summary>
                Connecting using the relevant protocol failed last it was tried
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Connection.ManagementConnectionProtocolState.Disabled">
                <summary>
                The relevant protocol has been disabled and should not be used
                </summary>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Connection.ManagementConnectionType">
                <summary>
                The various ways to connect to a windows server fopr management purposes.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Connection.ManagementConnectionType.None">
                <summary>
                No Connection-Type
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Connection.ManagementConnectionType.CimRM">
                <summary>
                Cim over a WinRM connection
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Connection.ManagementConnectionType.CimDCOM">
                <summary>
                Cim over a DCOM connection
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Connection.ManagementConnectionType.Wmi">
                <summary>
                WMI Connection
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Connection.ManagementConnectionType.PowerShellRemoting">
                <summary>
                Connecting with PowerShell remoting and performing WMI queries locally
                </summary>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Connection.PSSessionContainer">
                <summary>
                The container that lists all sessions for a given runspace
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Connection.PSSessionContainer.Runspace">
                <summary>
                The runspace that owns the sessions
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Connection.PSSessionContainer.CountExpired">
                <summary>
                The count of expired sessions registered
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Connection.PSSessionContainer.Sessions">
                <summary>
                List of sessions and their associated computer names
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Connection.PSSessionContainer.ConnectionTimestamps">
                <summary>
                List of timestamps, when the last command was run against them
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Connection.PSSessionContainer.#ctor(System.Guid)">
                <summary>
                Creates a list of sessions the current runspace is connected to.
                </summary>
                <param name="Runspace">The Guid of the runspace that is the owner of the registered sessions</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Connection.PSSessionContainer.Get(System.String)">
                <summary>
                Returns the requested session.
                </summary>
                <param name="ComputerName">The name of the host whose connection to retrieve</param>
                <returns>The established connection to the host, null if none exists.</returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Connection.PSSessionContainer.Set(System.String,System.Management.Automation.Runspaces.PSSession)">
                <summary>
                Sets a session and writes its timestamp to the cache
                </summary>
                <param name="ComputerName">The hostname it connects to.</param>
                <param name="Session">The session that is being registered.</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Connection.PSSessionContainer.GetExpiredNames">
                <summary>
                Returns the name of hostnames with expired sessions
                </summary>
                <returns>THe hostnames whose session has expired</returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Connection.PSSessionContainer.PurgeExpiredSession">
                <summary>
                Removes an expired session from the cache, an returns it, so it can be properly closed.
                </summary>
                <returns>Returns a session to disconnect</returns>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Connection.SqlConnectionProtocol">
                <summary>
                The protocol to connect over via SMO
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Connection.SqlConnectionProtocol.Any">
                <summary>
                Connect using any protocol available
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Connection.SqlConnectionProtocol.TCP">
                <summary>
                Connect using TCP/IP
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Connection.SqlConnectionProtocol.NP">
                <summary>
                Connect using named pipes or shared memory
                </summary>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Database.BackupHistory">
                <summary>
                Object containing the information about the history of mankind ... or a database backup. WHo knows.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Database.BackupHistory.ComputerName">
                <summary>
                The name of the computer running MSSQL Server
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Database.BackupHistory.InstanceName">
                <summary>
                The Instance that was queried
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Database.BackupHistory.SqlInstance">
                <summary>
                The full Instance name as seen from outside
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Database.BackupHistory.Database">
                <summary>
                The Database that was backed up
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Database.BackupHistory.UserName">
                <summary>
                The user that is running the backup
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Database.BackupHistory.Start">
                <summary>
                When was the backup started
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Database.BackupHistory.End">
                <summary>
                When did the backup end
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Database.BackupHistory.Duration">
                <summary>
                What was the longest duration among the backups
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Database.BackupHistory.Path">
                <summary>
                Where is the backup stored
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Database.BackupHistory.TotalSize">
                <summary>
                What is the total size of the backup
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Database.BackupHistory.CompressedBackupSize">
                <summary>
                What is the total compressesed size of the backup
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Database.BackupHistory.CompressionRatio">
                <summary>
                What is the ratio of total size to compressed size of the backup
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Database.BackupHistory.Type">
                <summary>
                The kind of backup this was
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Database.BackupHistory.BackupSetId">
                <summary>
                The ID for the Backup job
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Database.BackupHistory.DeviceType">
                <summary>
                What kind of backup-device was the backup stored to
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Database.BackupHistory.Software">
                <summary>
                What is the name of the backup software?
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Database.BackupHistory.FullName">
                <summary>
                The full name of the backup
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Database.BackupHistory.FileList">
                <summary>
                The files that are part of this backup
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Database.BackupHistory.Position">
                <summary>
                The position of the backup
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Database.BackupHistory.FirstLsn">
                <summary>
                The first Log Sequence Number
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Database.BackupHistory.DatabaseBackupLsn">
                <summary>
                The Log Squence Number that marks the beginning of the backup
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Database.BackupHistory.CheckpointLsn">
                <summary>
                The checkpoint's Log Sequence Number
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Database.BackupHistory.LastLsn">
                <summary>
                The last Log Sequence Number
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Database.BackupHistory.SoftwareVersionMajor">
                <summary>
                The primary version number of the Sql Server
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Database.BackupHistory.IsCopyOnly">
                <summary>
                Was the backup performed with the CopyOnlyOption
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Database.BackupHistory.LastRecoveryForkGUID">
                <summary>
                Recovery Fork backup was takeon
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Database.BackupHistory.RecoveryModel">
                <summary>
                Recovery Model of the database when backup was taken
                </summary>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Database.Dependency">
                <summary>
                Class containing all dependency information over a database object
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Database.Dependency.ComputerName">
                <summary>
                The name of the SQL server from whence the query came
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Database.Dependency.ServiceName">
                <summary>
                Name of the service running the database containing the dependency
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Database.Dependency.SqlInstance">
                <summary>
                The Instance the database containing the dependency is running in.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Database.Dependency.Dependent">
                <summary>
                The name of the dependent
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Database.Dependency.Type">
                <summary>
                The kind of object the dependent is
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Database.Dependency.Owner">
                <summary>
                The owner of the dependent (usually the Database)
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Database.Dependency.IsSchemaBound">
                <summary>
                Whether the dependency is Schemabound. If it is, then the creation statement order is of utmost importance.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Database.Dependency.Parent">
                <summary>
                The immediate parent of the dependent. Useful in multi-tier dependencies.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Database.Dependency.ParentType">
                <summary>
                The type of object the immediate parent is.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Database.Dependency.Script">
                <summary>
                The script used to create the object.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Database.Dependency.Tier">
                <summary>
                The tier in the dependency hierarchy tree. Used to determine, which dependency must be applied in which order.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Database.Dependency.Object">
                <summary>
                The smo object of the dependent.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Database.Dependency.Urn">
                <summary>
                The Uniform Resource Name of the dependent.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Database.Dependency.OriginalResource">
                <summary>
                The object of the original resource, from which the dependency hierachy has been calculated.
                </summary>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.dbaSystem.DbaErrorRecord">
                <summary>
                An error record written by dbatools
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.dbaSystem.DbaErrorRecord.CategoryInfo">
                <summary>
                The category of the error
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.dbaSystem.DbaErrorRecord.ErrorDetails">
                <summary>
                The details on the error
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.dbaSystem.DbaErrorRecord.Exception">
                <summary>
                The actual exception thrown
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.dbaSystem.DbaErrorRecord.FullyQualifiedErrorId">
                <summary>
                The specific error identity, used to identify the target
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.dbaSystem.DbaErrorRecord.InvocationInfo">
                <summary>
                The details of how this was called.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.dbaSystem.DbaErrorRecord.ScriptStackTrace">
                <summary>
                The script's stacktrace
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.dbaSystem.DbaErrorRecord.TargetObject">
                <summary>
                The object being processed
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.dbaSystem.DbaErrorRecord.FunctionName">
                <summary>
                The name of the function throwing the error
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.dbaSystem.DbaErrorRecord.Timestamp">
                <summary>
                When was the error thrown
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.dbaSystem.DbaErrorRecord.Message">
                <summary>
                The message that was written in a userfriendly manner
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.dbaSystem.DbaErrorRecord.Runspace">
                <summary>
                The runspace the error occured on.
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.dbaSystem.DbaErrorRecord.#ctor">
                <summary>
                Create an empty record
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.dbaSystem.DbaErrorRecord.#ctor(System.Management.Automation.ErrorRecord,System.String,System.DateTime,System.String)">
                <summary>
                Create a filled out error record
                </summary>
                <param name="Record">The original error record</param>
                <param name="FunctionName">The function that wrote the error</param>
                <param name="Timestamp">When was the error generated</param>
                <param name="Message">What message was passed when writing the error</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.dbaSystem.DbaErrorRecord.#ctor(System.Management.Automation.ErrorRecord,System.String,System.DateTime,System.String,System.Guid)">
                <summary>
                Create a filled out error record
                </summary>
                <param name="Record">The original error record</param>
                <param name="FunctionName">The function that wrote the error</param>
                <param name="Timestamp">When was the error generated</param>
                <param name="Message">What message was passed when writing the error</param>
                <param name="Runspace">The ID of the runspace writing the error. Used to separate output between different runspaces in the same process.</param>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.dbaSystem.DebugHost">
                <summary>
                Hosts static debugging values and methods
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.dbaSystem.DebugHost.ImportTimeEntries">
                <summary>
                Lists the duration for the last import of dbatools.
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.dbaSystem.DebugHost.ImportTime">
                <summary>
                Returns the calculated time each phase took during the last import of dbatool.
                </summary>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.dbaSystem.StartTimeEntry">
                <summary>
                Entry containing the information of a step during the import sequence
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.dbaSystem.StartTimeEntry.Action">
                <summary>
                The action that has been taken
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.dbaSystem.StartTimeEntry.Timestamp">
                <summary>
                When was the action taken?
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.dbaSystem.StartTimeEntry.Runspace">
                <summary>
                The runspace the entry was written on
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.dbaSystem.StartTimeEntry.#ctor(System.String,System.DateTime,System.Guid)">
                <summary>
                Creates a new StartTimeEntry
                </summary>
                <param name="Action">The action that has been taken</param>
                <param name="Timestamp">When was the action taken?</param>
                <param name="Runspace">The runspace the entry was written on</param>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.dbaSystem.StartTimeResult">
                <summary>
                The processed result how long a given step took
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.dbaSystem.StartTimeResult.Action">
                <summary>
                What action was taken?
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.dbaSystem.StartTimeResult.Duration">
                <summary>
                How long did things take?
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.dbaSystem.StartTimeResult.Start">
                <summary>
                When did this action start?
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.dbaSystem.StartTimeResult.End">
                <summary>
                When did this action end?
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.dbaSystem.StartTimeResult.#ctor(System.String,System.DateTime,System.DateTime)">
                <summary>
                Creates a new StartTimeResult with all values preconfigured
                </summary>
                <param name="Action">The action that was taken</param>
                <param name="Start">When did the action start?</param>
                <param name="End">When did the action end?</param>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.dbaSystem.SystemHost">
                <summary>
                Provides system-wide static resources regarding the dbatools system runtime in general
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.dbaSystem.SystemHost.UnattendedMode">
                <summary>
                When this is set to true, functions must assume dbatools is in unattended mode. May not ask for user input of any kind.
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.dbaSystem.SystemHost.ModuleBase">
                <summary>
                Path where the module was located when imported
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.dbaSystem.SystemHost.ModuleImported">
                <summary>
                Flag whether the module has ever been imported in the current process. If that is true, several things (such as importing libraries) is no longer necessary and will be skipped on import.
                </summary>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Discovery.DbaBrowserReply">
                <summary>
                The reply the browser service gave
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Discovery.DbaBrowserReply.MachineName">
                <summary>
                The machine name of the computer
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Discovery.DbaBrowserReply.ComputerName">
                <summary>
                the computername of the computer
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Discovery.DbaBrowserReply.SqlInstance">
                <summary>
                The instance running on the computer
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Discovery.DbaBrowserReply.InstanceName">
                <summary>
                The name of the instance, running on the computer
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Discovery.DbaBrowserReply.TCPPort">
                <summary>
                The port number the instance is running under
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Discovery.DbaBrowserReply.Version">
                <summary>
                The version of the SQL Server
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Discovery.DbaBrowserReply.IsClustered">
                <summary>
                Whether the instance is part of a cluster or no.
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Discovery.DbaBrowserReply.ToString">
                <summary>
                Override in order to make it look neater in PowerShell
                </summary>
                <returns></returns>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Discovery.DbaInstanceAvailability">
                <summary>
                Indiciator for whether an instance is known to be available or not
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Discovery.DbaInstanceAvailability.Unknown">
                <summary>
                It is not known, whether the instance is available or not
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Discovery.DbaInstanceAvailability.Available">
                <summary>
                The instance is known to be available
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Discovery.DbaInstanceAvailability.Unavailable">
                <summary>
                The instance is known to be not available
                </summary>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Discovery.DbaInstanceConfidenceLevel">
                <summary>
                How high is our confidence that this is a valid instance?
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Discovery.DbaInstanceConfidenceLevel.None">
                <summary>
                No confidence at all. There is virtually no way for this to be an instance
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Discovery.DbaInstanceConfidenceLevel.Low">
                <summary>
                We have a few indications, but couldn't follow them up
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Discovery.DbaInstanceConfidenceLevel.Medium">
                <summary>
                We're fairly sure this is legit, but can't guarantee it
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Discovery.DbaInstanceConfidenceLevel.High">
                <summary>
                This absolutely is an instance
                </summary>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Discovery.DbaInstanceDiscoveryType">
                <summary>
                What discovery mechanisms to use
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Discovery.DbaInstanceDiscoveryType.IPRange">
                <summary>
                We shall sweep the network for instances, by targeting every IP within a range.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Discovery.DbaInstanceDiscoveryType.Domain">
                <summary>
                We shall search for SQL SPNs in active directory
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Discovery.DbaInstanceDiscoveryType.DataSourceEnumeration">
                <summary>
                We shall use the SSMS Data Sizrce Enumeration mechanism and hope for the best
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Discovery.DbaInstanceDiscoveryType.All">
                <summary>
                We shall use all tools in our control to find stuff
                </summary>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Discovery.DbaInstanceReport">
                <summary>
                The report on a discovered instance
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Discovery.DbaInstanceReport.MachineName">
                <summary>
                The computername of the underlying machine. Usually equal to the computername, but may differ in case of clusters
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Discovery.DbaInstanceReport.ComputerName">
                <summary>
                The computername of the target
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Discovery.DbaInstanceReport.InstanceName">
                <summary>
                The name of the instance
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Discovery.DbaInstanceReport.FullName">
                <summary>
                The full server instance name
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Discovery.DbaInstanceReport.SqlInstance">
                <summary>
                The full name usable to connect via SMO
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Discovery.DbaInstanceReport.Port">
                <summary>
                The port number the server listens on
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Discovery.DbaInstanceReport.Timestamp">
                <summary>
                When the scan was concluded
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Discovery.DbaInstanceReport.TcpConnected">
                <summary>
                Was a TCP connect successful?
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Discovery.DbaInstanceReport.SqlConnected">
                <summary>
                Was a connection via SQL successful (even if we got access denied)
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Discovery.DbaInstanceReport.DnsResolution">
                <summary>
                The DNS Resolution object
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Discovery.DbaInstanceReport.Ping">
                <summary>
                The ping resolution object
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Discovery.DbaInstanceReport.BrowseReply">
                <summary>
                The reply received from the browse request
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Discovery.DbaInstanceReport.Services">
                <summary>
                The windows services for the instance
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Discovery.DbaInstanceReport.SystemServices">
                <summary>
                The SQL Server services that do not belong to that instance alone
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Discovery.DbaInstanceReport.SPNs">
                <summary>
                Service Principal Names found
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Discovery.DbaInstanceReport.PortsScanned">
                <summary>
                The ports that have been scanned
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Discovery.DbaInstanceReport.Availability">
                <summary>
                What we know about its availability
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Discovery.DbaInstanceReport.Confidence">
                <summary>
                How confident we are, that this is a real instance
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Discovery.DbaInstanceReport.ScanTypes">
                <summary>
                What we used to scan the instance
                </summary>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Discovery.DbaInstanceScanType">
                <summary>
                The mechanisms we use to determine, whether a given host contains a legit instance
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Discovery.DbaInstanceScanType.TCPPort">
                <summary>
                Try connecting to specific ports
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Discovery.DbaInstanceScanType.SqlConnect">
                <summary>
                Try to connect to discovered instances (improves confidence)
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Discovery.DbaInstanceScanType.SqlService">
                <summary>
                Check the windows services on the target
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Discovery.DbaInstanceScanType.DNSResolve">
                <summary>
                Try resolving a computername in DNS
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Discovery.DbaInstanceScanType.SPN">
                <summary>
                Scan the SPNs for the targeted computer
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Discovery.DbaInstanceScanType.Browser">
                <summary>
                Try contacting the local browser service and demand answers
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Discovery.DbaInstanceScanType.Ping">
                <summary>
                See whether you can ping the host
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Discovery.DbaInstanceScanType.All">
                <summary>
                Do EVERYTHING
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Discovery.DbaInstanceScanType.Default">
                <summary>
                Do all the things we consider sane defaults
                </summary>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Discovery.DbaPortReport">
                <summary>
                We tried to connect to a port, how did it go?
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Discovery.DbaPortReport.ComputerName">
                <summary>
                The name of the computer connected to
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Discovery.DbaPortReport.Port">
                <summary>
                The number of the port we tried to connect to.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Discovery.DbaPortReport.IsOpen">
                <summary>
                Whether the port was open
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Discovery.DbaPortReport.#ctor">
                <summary>
                Creates an empty report (serialization uses this)
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Discovery.DbaPortReport.#ctor(System.String,System.Int32,System.Boolean)">
                <summary>
                Creates a filled in report
                </summary>
                <param name="ComputerName">The name of the computer connected to</param>
                <param name="Port">The port we tried to connect to</param>
                <param name="IsOpen">Whether things worked out</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Discovery.DbaPortReport.ToString">
                <summary>
                Displays port connection reports in a user friendly manner
                </summary>
                <returns></returns>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Exceptions.BloodyHellGiveMeSomethingToWorkWithException">
                <summary>
                An exception that is thrown by parameter classes when given empty input
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Exceptions.BloodyHellGiveMeSomethingToWorkWithException.ParameterClass">
                <summary>
                The parameter class that did the throwing
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Exceptions.BloodyHellGiveMeSomethingToWorkWithException.#ctor(System.String,System.Exception)">
                <summary>
                Creates an exception with a message and a nested exception
                </summary>
                <param name="Message">The message to tell</param>
                <param name="Inner">The inner exception to nest</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Exceptions.BloodyHellGiveMeSomethingToWorkWithException.#ctor(System.String,System.String)">
                <summary>
                Creates an exception with a message and a ParameterClass
                </summary>
                <param name="Message">The message to tell</param>
                <param name="ParameterClass">The Parameter Class that threw the exception</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Exceptions.BloodyHellGiveMeSomethingToWorkWithException.#ctor(System.String,System.Exception,System.String)">
                <summary>
                Creates an exception with a message, a nested exception and a ParameterClass
                </summary>
                <param name="Message">The message to tell</param>
                <param name="Inner">The inner exception to nest</param>
                <param name="ParameterClass">The Parameter Class that threw the exception</param>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.General.ExecutionMode">
                <summary>
                What kind of mode do you want to run a command in?
                This allows the user to choose how a dbatools function handles a bump in the execution where terminating directly may not be actually mandated.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.General.ExecutionMode.Strict">
                <summary>
                When encountering issues, terminate, or skip the currently processed input, rather than continue.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.General.ExecutionMode.Lazy">
                <summary>
                Continue as able with a best-effort attempt. Simple verbose output should do the rest.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.General.ExecutionMode.Report">
                <summary>
                Continue, but provide output that can be used to identify the operations that had issues.
                </summary>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Maintenance.MaintenanceHost">
                <summary>
                Host class providing access to resources need to perform dbatools maintenance
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Maintenance.MaintenanceHost.Tasks">
                <summary>
                The register of available tasks.
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Maintenance.MaintenanceHost.HasDueTasks">
                <summary>
                Whether there are any due tasks
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Maintenance.MaintenanceHost.GetNextTask(System.String[])">
                <summary>
                Returns the next task to perform. Returns null when there are no more tasks to perform
                </summary>
                <param name="Exclusions">List of tasks not to return, even if they are ready to execute again. This avoids one misconfigured task starving all lower priority tasks</param>
                <returns>The next task to perform.</returns>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Maintenance.MaintenancePriority">
                <summary>
                How high the priority of the task. Higher priority tasks take precedence over low priority tasks.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Maintenance.MaintenancePriority.Trivial">
                <summary>
                This task is completely trivial and can be done whenever there is some spare time for it
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Maintenance.MaintenancePriority.Low">
                <summary>
                The task is not very significant, but should be dealt with at some point
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Maintenance.MaintenancePriority.Medium">
                <summary>
                Average priority task
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Maintenance.MaintenancePriority.High">
                <summary>
                An important task that will take precedence over most other tasks
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Maintenance.MaintenancePriority.Critical">
                <summary>
                A task so critical, that it should be considered to move it to synchronous execution instead.
                </summary>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Maintenance.MaintenanceTask">
                <summary>
                An individual task assigned to the maintenance engine
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Maintenance.MaintenanceTask.Name">
                <summary>
                The name of the task to execute. No duplciates are possible.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Maintenance.MaintenanceTask.Once">
                <summary>
                Whether the task should be done once only
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Maintenance.MaintenanceTask.Interval">
                <summary>
                The interval at which the task should be performed
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Maintenance.MaintenanceTask.Delay">
                <summary>
                If the task need not be performed right away, it can be delayed, in order to prioritize more important initialization tasks
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Maintenance.MaintenanceTask.Registered">
                <summary>
                When was the task first registered. Duplicate registration calls will not increment this value.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Maintenance.MaintenanceTask.LastExecution">
                <summary>
                When was the task last executed.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Maintenance.MaintenanceTask.Priority">
                <summary>
                How important is this task?
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Maintenance.MaintenanceTask.ScriptBlock">
                <summary>
                The task code to execute
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Maintenance.MaintenanceTask.IsDue">
                <summary>
                Whether the task is due and should be executed
                </summary>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Message.DbatoolsException">
                <summary>
                Wrapper class that can emulate any exception for purpose of serialization without blowing up the storage space consumed
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Message.DbatoolsException.GetException">
                <summary>
                Returns the original exception object that we interpreted. This is on purpose not a property, as we want to avoid messing with serialization size.
                </summary>
                <returns>The original exception that got thrown</returns>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.DbatoolsException.Message">
                <summary>
                The actual Exception Message
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.DbatoolsException.Source">
                <summary>
                The original source of the Exception
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.DbatoolsException.StackTrace">
                <summary>
                Where on the callstack did the exception occur?
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.DbatoolsException.TargetSite">
                <summary>
                What was the target site on the code that caused it. This property has been altered to avoid export issues, if a string representation is not sufficient, access the original exception using GetException()
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.DbatoolsException.HResult">
                <summary>
                The HResult of the exception. Useful in debugging native code errors.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.DbatoolsException.HelpLink">
                <summary>
                Link to a proper help article.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.DbatoolsException.Data">
                <summary>
                Additional data that has been appended
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.DbatoolsException.InnerException">
                <summary>
                The inner exception in a chain of exceptions.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.DbatoolsException.ExceptionTypeName">
                <summary>
                The full namespace name of the exception that has been wrapped.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.DbatoolsException.ExceptionData">
                <summary>
                Contains additional properties other exceptions might contain.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.DbatoolsException.CategoryInfo">
                <summary>
                The category of the error
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.DbatoolsException.ErrorDetails">
                <summary>
                The details on the error
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.DbatoolsException.FullyQualifiedErrorId">
                <summary>
                The specific error identity, used to identify the target
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.DbatoolsException.InvocationInfo">
                <summary>
                The details of how this was called.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.DbatoolsException.ScriptStackTrace">
                <summary>
                The script's stacktrace
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.DbatoolsException.TargetObject">
                <summary>
                The object being processed
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.DbatoolsException.FunctionName">
                <summary>
                The name of the function throwing the error
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.DbatoolsException.Timestamp">
                <summary>
                When was the error thrown
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.DbatoolsException.Runspace">
                <summary>
                The runspace the error occured on.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.DbatoolsException.ComputerName">
                <summary>
                The computer the error occured on.
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Message.DbatoolsException.#ctor">
                <summary>
                Creates an empty exception object. Mostly for serialization support
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Message.DbatoolsException.#ctor(System.Exception)">
                <summary>
                Creates an exception based on an original exception object
                </summary>
                <param name="Except">The exception to wrap around</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Message.DbatoolsException.#ctor(System.Management.Automation.ErrorRecord)">
                <summary>
                Creates a rich information exception object based on a full error record as recorded by PowerShell
                </summary>
                <param name="Record">The error record to copy from</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Message.DbatoolsException.#ctor(System.Exception,System.String,System.DateTime,System.String,System.Guid,System.String)">
                <summary>
                Creates a new exception object with rich meta information from the PowerShell runtime.
                </summary>
                <param name="Except">The exception thrown</param>
                <param name="FunctionName">The name of the function in which the error occured</param>
                <param name="Timestamp">When did the error occur</param>
                <param name="Message">The message to add to the exception</param>
                <param name="Runspace">The ID of the runspace from which the exception was thrown. Useful in multi-runspace scenarios.</param>
                <param name="ComputerName">The computer the error occured on.</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Message.DbatoolsException.#ctor(System.Management.Automation.ErrorRecord,System.String,System.DateTime,System.String,System.Guid,System.String)">
                <summary>
                Creates a new exception object with rich meta information from the PowerShell runtime.
                </summary>
                <param name="Record">The error record written</param>
                <param name="FunctionName">The name of the function in which the error occured</param>
                <param name="Timestamp">When did the error occur</param>
                <param name="Message">The message to add to the exception</param>
                <param name="Runspace">The ID of the runspace from which the exception was thrown. Useful in multi-runspace scenarios.</param>
                <param name="ComputerName">The computer the error occured on.</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Message.DbatoolsException.ToString">
                <summary>
                Returns a string representation of the exception.
                </summary>
                <returns></returns>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Message.DbatoolsExceptionRecord">
                <summary>
                Carrier class, designed to hold an arbitrary number of exceptions. Used for exporting to XML in nice per-incident packages.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.DbatoolsExceptionRecord.Runspace">
                <summary>
                Runspace where shit happened.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.DbatoolsExceptionRecord.ComputerName">
                <summary>
                The computer name the exception was written on
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.DbatoolsExceptionRecord.Timestamp">
                <summary>
                When did things go bad?
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.DbatoolsExceptionRecord.FunctionName">
                <summary>
                Name of the function, where fail happened.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.DbatoolsExceptionRecord.ModuleName">
                <summary>
                The module of the function where fail happened
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.DbatoolsExceptionRecord.Tags">
                <summary>
                The tags that were applied to the failure
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.DbatoolsExceptionRecord.Message">
                <summary>
                The message the poor user was shown.
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Message.DbatoolsExceptionRecord.ExceptionType">
                <summary>
                Displays the name of the exception, the make scanning exceptions easier.
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Message.DbatoolsExceptionRecord.TargetObject">
                <summary>
                The target object of the first exception in the list, if any
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.DbatoolsExceptionRecord.Exceptions">
                <summary>
                List of Exceptions that are part of the incident (usually - but not always - only one).
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Message.DbatoolsExceptionRecord.#ctor">
                <summary>
                Creates an empty container. Ideal for the homeworker who loves doing it all himself.
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Message.DbatoolsExceptionRecord.#ctor(Sqlcollaborative.Dbatools.Message.DbatoolsException)">
                <summary>
                Creates a container filled with the first exception.
                </summary>
                <param name="Exception"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Message.DbatoolsExceptionRecord.#ctor(System.Guid,System.String,System.DateTime,System.String,System.String,System.Collections.Generic.List{System.String},System.String)">
                <summary>
                Creates a container filled with the meta information but untouched by exceptions
                </summary>
                <param name="Runspace">The runspace where it all happened</param>
                <param name="ComputerName">The computer the error was recorded</param>
                <param name="Timestamp">When did it happen?</param>
                <param name="FunctionName">Where did it happen?</param>
                <param name="ModuleName">The name of the module where fail happened</param>
                <param name="Tags">The tags that were assigned to the failure</param>
                <param name="Message">What did the witness have to say?</param>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Message.LogEntry">
                <summary>
                An individual entry for the message log
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.LogEntry.Message">
                <summary>
                The message logged
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.LogEntry.Type">
                <summary>
                What kind of entry was this?
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.LogEntry.Timestamp">
                <summary>
                When was the message logged?
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.LogEntry.FunctionName">
                <summary>
                What function wrote the message
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.LogEntry.ModuleName">
                <summary>
                The name of the module of the function that wrote the message
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.LogEntry.Tags">
                <summary>
                The tags applied to the message
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.LogEntry.Level">
                <summary>
                What level was the message?
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.LogEntry.Runspace">
                <summary>
                What runspace was the message written from?
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.LogEntry.ComputerName">
                <summary>
                The computer the message was generated on
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.LogEntry.TargetObject">
                <summary>
                The object that was the focus of this message.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.LogEntry.File">
                <summary>
                The file from which the message was written.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.LogEntry.Line">
                <summary>
                The line on which the message was written.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.LogEntry.CallStack">
                <summary>
                The callstack when the message was written.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.LogEntry.Username">
                <summary>
                The user that did the writing.
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Message.LogEntry.#ctor">
                <summary>
                Creates an empty log entry
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Message.LogEntry.#ctor(System.String,Sqlcollaborative.Dbatools.Message.LogEntryType,System.DateTime,System.String,System.String,System.Collections.Generic.List{System.String},Sqlcollaborative.Dbatools.Message.MessageLevel,System.Guid,System.String,System.Object,System.String,System.Int32,System.Collections.Generic.IEnumerable{System.Management.Automation.CallStackFrame},System.String)">
                <summary>
                Creates a filled out log entry
                </summary>
                <param name="Message">The message that was logged</param>
                <param name="Type">The type(s) of message written</param>
                <param name="Timestamp">When was the message logged</param>
                <param name="FunctionName">What function wrote the message</param>
                <param name="ModuleName">Name of the module the function writing this message came from</param>
                <param name="Tags">Tags that were applied to the message</param>
                <param name="Level">What level was the message written at.</param>
                <param name="Runspace">The ID of the runspace that wrote the message.</param>
                <param name="ComputerName">The computer the message was generated on.</param>
                <param name="TargetObject">The object this message was all about.</param>
                <param name="File">The file of the code that wrote the message.</param>
                <param name="Line">The line on which the message was written.</param>
                <param name="CallStack">The callstack that triggered the write.</param>
                <param name="Username">The user responsible for running the code that is writing the message.</param>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Message.LogEntryType">
                <summary>
                The kind of information the logged entry was.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.LogEntryType.None">
                <summary>
                This entry wasn't written to any stream
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.LogEntryType.Information">
                <summary>
                A message that was written to the current host equivalent, if available also to the information stream
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.LogEntryType.Verbose">
                <summary>
                A message that was written to the verbose stream
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.LogEntryType.Debug">
                <summary>
                A message that was written to the Debug stream
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.LogEntryType.Warning">
                <summary>
                A message written to the warning stream
                </summary>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Message.LogHost">
                <summary>
                Provides static information storage for logging related settings, as well as housing the logging queues.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.LogHost.MaxErrorCount">
                <summary>
                The maximum numbers of error records maintained in-memory.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.LogHost.MaxMessageCount">
                <summary>
                The maximum number of messages that can be maintained in the in-memory message queue
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.LogHost.MaxMessagefileBytes">
                <summary>
                The maximum size of a given logfile. When reaching this limit, the file will be abandoned and a new log created. Set to 0 to not limit the size.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.LogHost.MaxMessagefileCount">
                <summary>
                The maximum number of logfiles maintained at a time. Exceeding this number will cause the oldest to be culled. Set to 0 to disable the limit.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.LogHost.MaxErrorFileBytes">
                <summary>
                The maximum size all error files combined may have. When this number is exceeded, the oldest entry is culled.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.LogHost.MaxTotalFolderSize">
                <summary>
                This is the upper limit of length all items in the log folder may have combined across all processes.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.LogHost.LoggingPath">
                <summary>
                Path to where the logfiles live.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.LogHost.MaxLogFileAge">
                <summary>
                Any logfile older than this will automatically be cleansed
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.LogHost.MessageLogFileEnabled">
                <summary>
                Governs, whether a log file for the system messages is written
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.LogHost.MessageLogEnabled">
                <summary>
                Governs, whether a log of recent messages is kept in memory
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.LogHost.ErrorLogFileEnabled">
                <summary>
                Governs, whether log files for errors are written
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.LogHost.ErrorLogEnabled">
                <summary>
                Governs, whether a log of recent errors is kept in memory
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.LogHost.OutQueueError">
                <summary>
                The outbound queue for errors. These will be processed and written to xml
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.LogHost.OutQueueLog">
                <summary>
                The outbound queue for logs. These will be processed and written to logfile
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Message.LogHost.GetErrors">
                <summary>
                Retrieves a copy of the Error stack
                </summary>
                <returns>All errors thrown by functions using the message or flowcontrol system</returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Message.LogHost.GetLog">
                <summary>
                Retrieves a copy of the message log
                </summary>
                <returns>All messages logged this session.</returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Message.LogHost.WriteErrorEntry(System.Management.Automation.ErrorRecord[],System.String,System.String,System.Collections.Generic.List{System.String},System.DateTime,System.String,System.Guid,System.String)">
                <summary>
                Write an error record to the log
                </summary>
                <param name="Record">The actual error record as powershell wrote it</param>
                <param name="FunctionName">The name of the function writing the error</param>
                <param name="ModuleName">The name of the module the function writing the error came from</param>
                <param name="Tags">The tags that were assigned to the error event</param>
                <param name="Timestamp">When was the error written</param>
                <param name="Message">What message was passed to the user</param>
                <param name="Runspace">The runspace the message was written from</param>
                <param name="ComputerName">The computer the error was written on</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Message.LogHost.WriteLogEntry(System.String,Sqlcollaborative.Dbatools.Message.LogEntryType,System.DateTime,System.String,System.String,System.Collections.Generic.List{System.String},Sqlcollaborative.Dbatools.Message.MessageLevel,System.Guid,System.String,System.String,System.Int32,System.Collections.Generic.IEnumerable{System.Management.Automation.CallStackFrame},System.String,System.Object)">
                <summary>
                Write a new entry to the log
                </summary>
                <param name="Message">The message to log</param>
                <param name="Type">The type of the message logged</param>
                <param name="Timestamp">When was the message generated</param>
                <param name="FunctionName">What function wrote the message</param>
                <param name="ModuleName">What module did the function writing this message come from?</param>
                <param name="Tags">The tags that were applied to the message</param>
                <param name="Level">At what level was the function written</param>
                <param name="Runspace">The runspace the message is coming from</param>
                <param name="ComputerName">The computer the message was generated on</param>
                <param name="File">The file from which the message was written</param>
                <param name="Line">The line on which the message was written</param>
                <param name="TargetObject">The object associated with a given message.</param>
                <param name="CallStack">The callstack at the moment the message was written.</param>
                <param name="Username">The name of the user under which the code being executed</param>
                <returns>The entry that is being written</returns>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Message.MessageEventSubscription">
                <summary>
                Condition and logic to be executed on message events
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.MessageEventSubscription.Name">
                <summary>
                Name of the event subscription, must be unique.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.MessageEventSubscription.ScriptBlock">
                <summary>
                Scriptblock to execute if the condition is met
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.MessageEventSubscription._MessageFilter">
                <summary>
                The internally stored filter value for Message
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Message.MessageEventSubscription.MessageFilter">
                <summary>
                The value the Message is filtered by
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Message.MessageEventSubscription.MessageFilterSet">
                <summary>
                Whether filtering by Message was enabled
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.MessageEventSubscription._ModuleNameFilter">
                <summary>
                The internally stored filter value for ModuleName
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Message.MessageEventSubscription.ModuleNameFilter">
                <summary>
                The value the ModuleName is filtered by
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Message.MessageEventSubscription.ModuleNameFilterSet">
                <summary>
                Whether filtering by ModuleName was enabled
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.MessageEventSubscription._FunctionNameFilter">
                <summary>
                The internally stored filter value for FunctionName
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Message.MessageEventSubscription.FunctionNameFilter">
                <summary>
                The value the FunctionName is filtered by
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Message.MessageEventSubscription.FunctionNameFilterSet">
                <summary>
                Whether filtering by FunctionName was enabled
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.MessageEventSubscription._TargetFilter">
                <summary>
                The internally stored filter value for Target
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Message.MessageEventSubscription.TargetFilter">
                <summary>
                The value the Target is filtered by
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Message.MessageEventSubscription.TargetFilterSet">
                <summary>
                Whether filtering by Target was enabled
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.MessageEventSubscription._LevelFilter">
                <summary>
                The internally stored filter value for Level
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Message.MessageEventSubscription.LevelFilter">
                <summary>
                The value the Level is filtered by
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Message.MessageEventSubscription.LevelFilterSet">
                <summary>
                Whether filtering by Level was enabled
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.MessageEventSubscription._TagFilter">
                <summary>
                The internally stored filter value for Tag
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Message.MessageEventSubscription.TagFilter">
                <summary>
                The value the Tag is filtered by
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Message.MessageEventSubscription.TagFilterSet">
                <summary>
                Whether filtering by Tag was enabled
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.MessageEventSubscription._RunspaceFilter">
                <summary>
                The internally stored filter value for Runspace
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Message.MessageEventSubscription.RunspaceFilter">
                <summary>
                The value the Runspace is filtered by
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Message.MessageEventSubscription.RunspaceFilterSet">
                <summary>
                Whether filtering by Runspace was enabled
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Message.MessageEventSubscription.Applies(Sqlcollaborative.Dbatools.Message.LogEntry)">
                <summary>
                Checks, whether a given entry matches the filter defined in this subscription
                </summary>
                <param name="Entry">The entry to validate</param>
                <returns>Whether the subscription should react to this entry</returns>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Message.MessageHost">
                <summary>
                Provides static resources to the messaging subsystem
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.MessageHost.MaximumInformation">
                <summary>
                The maximum message level to still display to the user directly.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.MessageHost.MaximumVerbose">
                <summary>
                The maxium message level where verbose information is still written.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.MessageHost.MaximumDebug">
                <summary>
                The maximum message level where debug information is still written.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.MessageHost.MinimumInformation">
                <summary>
                The minimum required message level for messages that will be shown to the user.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.MessageHost.MinimumVerbose">
                <summary>
                The minimum required message level where verbose information is written.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.MessageHost.MinimumDebug">
                <summary>
                The minimum required message level where debug information is written.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.MessageHost.InfoColor">
                <summary>
                The color stuff gets written to the console in
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.MessageHost.InfoColorEmphasis">
                <summary>
                The color important stuff gets written to the console in
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.MessageHost.InfoColorSubtle">
                <summary>
                The color background stuff gets written to the console in
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.MessageHost.DeveloperColor">
                <summary>
                The color stuff gets written to the console in, when developer mode is enabled and the message would not have been written after all
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.MessageHost.DeveloperMode">
                <summary>
                Enables the developer mode. In this all messages are written to the console, in order to make it easier to troubleshoot issues.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.MessageHost.NestedLevelDecrement">
                <summary>
                Message levels can decrease by nested level. This causes messages to have an increasingly reduced level as the size of the callstack increases. 
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.MessageHost.DisableVerbosity">
                <summary>
                Globally override all verbosity
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.MessageHost.EnableMessageTimestamp">
                <summary>
                Include message timestamps in verbose message output
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.MessageHost.EnableMessageDisplayCommand">
                <summary>
                Include the message display command in the verbose message output
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.MessageHost.EnableMessageBreadcrumbs">
                <summary>
                Include the entire callstack in the verbose message output
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.MessageHost.TransformErrorQueueSize">
                <summary>
                The size of the transform error queue. When adding more than this, the oldest entry will be discarded
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.MessageHost.ExceptionTransforms">
                <summary>
                Provides the option to transform exceptions based on the original exception type
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.MessageHost.TargetTransforms">
                <summary>
                Provides the option to transform target objects based on type. This is sometimes important when working with live state objects that should not be serialized.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.MessageHost.TransformErrors">
                <summary>
                The list of transformation errors that occured.
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Message.MessageHost.GetTransformErrors">
                <summary>
                Returns the current queue of failed transformations
                </summary>
                <returns>The list of transformations that failed</returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Message.MessageHost.WriteTransformError(System.Management.Automation.ErrorRecord,System.String,System.String,System.Object,Sqlcollaborative.Dbatools.Message.TransformType,System.Guid)">
                <summary>
                Writes a new transform error
                </summary>
                <param name="Record">The record of what went wrong</param>
                <param name="FunctionName">The name of the function writing the transformed message</param>
                <param name="ModuleName">The module the function writing the transformed message is part of</param>
                <param name="Object">The object that should have been transformed</param>
                <param name="Type">The type of transform that was attempted</param>
                <param name="Runspace">The runspace it all happened on</param>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.MessageHost.ExceptionTransformList">
                <summary>
                List of custom transforms for exceptions
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.MessageHost.TargetTransformlist">
                <summary>
                List of custom transforms for targets
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.MessageHost.MessageLevelModifiers">
                <summary>
                List of all modifiers that apply to message levels
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.MessageHost.Events">
                <summary>
                List of events that subscribe to messages being written
                </summary>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Message.MessageLevel">
                <summary>
                The various levels of verbosity available.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.MessageLevel.Critical">
                <summary>
                Very important message, should be shown to the user as a high priority
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.MessageLevel.Important">
                <summary>
                Important message, the user should read this
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.MessageLevel.Output">
                <summary>
                Important message, the user should read this
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.MessageLevel.Significant">
                <summary>
                Message relevant to the user.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.MessageLevel.VeryVerbose">
                <summary>
                Not important to the regular user, still of some interest to the curious
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.MessageLevel.Verbose">
                <summary>
                Background process information, in case the user wants some detailed information on what is currently happening.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.MessageLevel.SomewhatVerbose">
                <summary>
                A footnote in current processing, rarely of interest to the user
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.MessageLevel.System">
                <summary>
                A message of some interest from an internal system persepctive, but largely irrelevant to the user.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.MessageLevel.Debug">
                <summary>
                Something only of interest to a debugger
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.MessageLevel.InternalComment">
                <summary>
                This message barely made the cut from being culled. Of purely development internal interest, and even there is 'interest' a strong word for it.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.MessageLevel.Warning">
                <summary>
                This message is a warning, sure sign something went badly wrong
                </summary>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Message.MessageLevelModifier">
                <summary>
                A modification to a given message's level
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.MessageLevelModifier.Name">
                <summary>
                Name of the modifier. Prevents duplication in a multi-runspace scenario.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.MessageLevelModifier.Modifier">
                <summary>
                The amount to modify the level by
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.MessageLevelModifier.IncludeFunctionName">
                <summary>
                Apply modifier only to messages from this function.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.MessageLevelModifier.ExcludeFunctionName">
                <summary>
                Apply modifier not when the message is written by this function.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.MessageLevelModifier.IncludeModuleName">
                <summary>
                Apply modifier only to messages from this module
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.MessageLevelModifier.ExcludeModuleName">
                <summary>
                Do not apply modifier to messages from this module
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.MessageLevelModifier.IncludeTags">
                <summary>
                Only apply this modifier to a message that includes at least one of these tags
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.MessageLevelModifier.ExcludeTags">
                <summary>
                Do not apply this modifier to a message that includes any of the following tags
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Message.MessageLevelModifier.AppliesTo(System.String,System.String,System.Collections.Generic.List{System.String})">
                <summary>
                Tests, whether a message a message should be modified by this modiier
                </summary>
                <param name="FunctionName">The name of the function writing the message</param>
                <param name="ModuleName">The name of the module, the function writing this message comes from</param>
                <param name="Tags">The tags of the message written</param>
                <returns>Whether the message applies</returns>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Message.TransformCondition">
                <summary>
                A condition, under which the object shall be transaformed
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.TransformCondition.TypeName">
                <summary>
                Name of the type. All similar types (as determined by the '-like' operator) will be transformed.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.TransformCondition.ModuleName">
                <summary>
                The name of the module to consider, using the -Like operator
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.TransformCondition.FunctionName">
                <summary>
                The name of the function name to consider, using the -Like operator
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.TransformCondition.ScriptBlock">
                <summary>
                The scriptblock that performs the transformation
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.TransformCondition.Type">
                <summary>
                What kind of transformation is being performed?
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Message.TransformCondition.#ctor(System.String,System.String,System.String,System.Management.Automation.ScriptBlock,Sqlcollaborative.Dbatools.Message.TransformType)">
                <summary>
                Initializes a transform condition
                </summary>
                <param name="TypeName">Only objects of similar name will be transformed</param>
                <param name="ModuleName">Only objects coming from similar modules will be considered</param>
                <param name="FunctionName">Only objects coming from similar functions will be considered</param>
                <param name="ScriptBlock">The scriptblock used for the transformation</param>
                <param name="Type">What kind of transformation this is</param>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Message.TransformError">
                <summary>
                An error occured during a message transformation
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.TransformError.Record">
                <summary>
                The error record of what went wrong
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.TransformError.FunctionName">
                <summary>
                The name of the function writing the message that failed to transform
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.TransformError.ModuleName">
                <summary>
                The name of the module the command writing the message came from
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.TransformError.Timestamp">
                <summary>
                When did it all happen?
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.TransformError.Object">
                <summary>
                The object that was supposed to be transformed
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.TransformError.Type">
                <summary>
                The kind of transform that failed
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.TransformError.Runspace">
                <summary>
                The runspace it all happened on
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Message.TransformError.#ctor(System.Management.Automation.ErrorRecord,System.String,System.String,System.Object,Sqlcollaborative.Dbatools.Message.TransformType,System.Guid)">
                <summary>
                Creates a new transform error
                </summary>
                <param name="Record">The record of what went wrong</param>
                <param name="FunctionName">The name of the function writing the transformed message</param>
                <param name="ModuleName">The module the function writing the transformed message is part of</param>
                <param name="Object">The object that should have been transformed</param>
                <param name="Type">The type of transform that was attempted</param>
                <param name="Runspace">The runspace it all happened on</param>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Message.TransformList">
                <summary>
                List engine, managing the lists for a message transformation type
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Message.TransformList.GetAll">
                <summary>
                Returns all entries in the list.
                </summary>
                <returns>The list of transforms contained within</returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Message.TransformList.IsListed(Sqlcollaborative.Dbatools.Message.TransformCondition)">
                <summary>
                Returns whether the actual object is part of the list
                </summary>
                <param name="Condition">The object to test for list membership</param>
                <returns>Whether the object is listed</returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Message.TransformList.IsContained(Sqlcollaborative.Dbatools.Message.TransformCondition)">
                <summary>
                Returns whether a condition with equal conditions already exists
                </summary>
                <param name="Condition">The condition to test</param>
                <returns>Whether the referenced condition is already listed</returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Message.TransformList.Add(Sqlcollaborative.Dbatools.Message.TransformCondition)">
                <summary>
                Adds a condition to the list, if there is no equivalent condition present.
                </summary>
                <param name="Condition">The condition to add</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Message.TransformList.Remove(Sqlcollaborative.Dbatools.Message.TransformCondition)">
                <summary>
                Removes a condition from the lsit of conditional transforms
                </summary>
                <param name="Condition">The condition to remove</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Message.TransformList.Get(System.String,System.String,System.String)">
                <summary>
                Returns the first transform whose filter is similar enough to work out.
                </summary>
                <param name="TypeName">The name of the type to check for a transform</param>
                <param name="ModuleName">The module of the command that wrote the message with the transformable object</param>
                <param name="Functionname">The command that wrote the message with the transformable object</param>
                <returns>Either a transform or null, if no fitting transform was found</returns>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Message.TransformType">
                <summary>
                The messaging system provides these kinds of transformations for input.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.TransformType.Target">
                <summary>
                A target transform can transform the target object specified. Used for live-state objects that should not be serialized on a second thread.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.TransformType.Exception">
                <summary>
                An exception transform allows automatic transformation of exceptions. Primarily used to unwrap exceptions from an API that wraps all exceptions.
                </summary>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Parameter.DbaCmConnectionParameter">
                <summary>
                Input converter for Computer Management Information
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Parameter.DbaCmConnectionParameter.Connection">
                <summary>
                The resolved connection object
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Parameter.DbaCmConnectionParameter.Success">
                <summary>
                Whether input processing was successful
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Parameter.DbaCmConnectionParameter.InputObject">
                <summary>
                The object actually passed to the class
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Parameter.DbaCmConnectionParameter.op_Implicit(Sqlcollaborative.Dbatools.Parameter.DbaCmConnectionParameter)~Sqlcollaborative.Dbatools.Connection.ManagementConnection">
                <summary>
                Implicitly convert all connection parameter objects to the connection-type
                </summary>
                <param name="Input">The parameter object to convert</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Parameter.DbaCmConnectionParameter.#ctor(System.String)">
                <summary>
                Creates a new DbaWmConnectionParameter based on an input-name
                </summary>
                <param name="ComputerName">The name of the computer the connection is stored for.</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Parameter.DbaCmConnectionParameter.#ctor(Sqlcollaborative.Dbatools.Connection.ManagementConnection)">
                <summary>
                Creates a new DbaWmConnectionParameter based on an already existing connection object.
                </summary>
                <param name="Connection">The connection to accept</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Parameter.DbaCmConnectionParameter.#ctor(System.Object)">
                <summary>
                Tries to convert a generic input object into a true input.
                </summary>
                <param name="Input">Any damn object in the world</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Parameter.DbaCmConnectionParameter.#ctor(Sqlcollaborative.Dbatools.Parameter.DbaInstanceParameter)">
                <summary>
                Creates a new DbaCmConnectionParameter based on an instance parameter
                </summary>
                <param name="Instance">The instance to interpret</param>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Parameter.DbaCredentialParameter">
                <summary>
                Parameter class that handles the various kinds of credential input
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Parameter.DbaCredentialParameter.Credential">
                <summary>
                The credential object received
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Parameter.DbaCredentialParameter.UserName">
                <summary>
                The name of the credential object
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Parameter.DbaCredentialParameter.Password">
                <summary>
                The password of the credential object
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Parameter.DbaCredentialParameter.#ctor(System.Management.Automation.PSCredential)">
                <summary>
                Creates a credential parameter from a PSCredential object
                </summary>
                <param name="Credential">A PSCredential object</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Parameter.DbaCredentialParameter.#ctor(System.Net.NetworkCredential)">
                <summary>
                Creates a credential parameter from a NetworkCredential object
                </summary>
                <param name="Credential">The credentials to use</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Parameter.DbaCredentialParameter.#ctor(System.Object)">
                <summary>
                Creates a credential parameter from anything it nows how to handle
                </summary>
                <param name="Credential">The object to convert</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Parameter.DbaCredentialParameter.op_Implicit(Sqlcollaborative.Dbatools.Parameter.DbaCredentialParameter)~System.Management.Automation.PSCredential">
                <summary>
                Implicitly converts from DbaCredentialParameter to PSCredential
                </summary>
                <param name="Input">The DbaCredentialParameter to convert</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Parameter.DbaCredentialParameter.op_Implicit(System.Management.Automation.PSCredential)~Sqlcollaborative.Dbatools.Parameter.DbaCredentialParameter">
                <summary>
                Implicitly converts a PSCredential object to DbaCredenitalParameter
                </summary>
                <param name="Input">The PSCredential to convert</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Parameter.DbaCredentialParameter.op_Implicit(Sqlcollaborative.Dbatools.Parameter.DbaCredentialParameter)~System.Net.NetworkCredential">
                <summary>
                Implicitly converts from DbaCredentialParameter to NetworkCredential
                </summary>
                <param name="Input">The DbaCredentialParameter to convert</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Parameter.DbaCredentialParameter.op_Implicit(System.Net.NetworkCredential)~Sqlcollaborative.Dbatools.Parameter.DbaCredentialParameter">
                <summary>
                Implicitly converts a NetworkCredential object to DbaCredenitalParameter
                </summary>
                <param name="Input">The NetworkCredential to convert</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Parameter.DbaCredentialParameter.GetNetworkCredential">
                <summary>
                Legacy wrapper. While there exists implicit conversion, this allows using the object as before, avoiding errors for unknown method.
                </summary>
                <returns>A network credential object with the same credentials as the original object</returns>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Parameter.DbaCredentialParameter.CredentialStore">
                <summary>
                Cached credentials, if the user stors them under a name.
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Parameter.DbaCredentialParameter.GetTypeCode">
                <summary>
                
                </summary>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Parameter.DbaCredentialParameter.ToBoolean(System.IFormatProvider)">
                <summary>
                
                </summary>
                <param name="Format"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Parameter.DbaCredentialParameter.ToChar(System.IFormatProvider)">
                <summary>
                
                </summary>
                <param name="Format"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Parameter.DbaCredentialParameter.ToSByte(System.IFormatProvider)">
                <summary>
                
                </summary>
                <param name="Format"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Parameter.DbaCredentialParameter.ToByte(System.IFormatProvider)">
                <summary>
                
                </summary>
                <param name="Format"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Parameter.DbaCredentialParameter.ToInt16(System.IFormatProvider)">
                <summary>
                
                </summary>
                <param name="Format"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Parameter.DbaCredentialParameter.ToUInt16(System.IFormatProvider)">
                <summary>
                
                </summary>
                <param name="Format"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Parameter.DbaCredentialParameter.ToInt32(System.IFormatProvider)">
                <summary>
                
                </summary>
                <param name="Format"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Parameter.DbaCredentialParameter.ToUInt32(System.IFormatProvider)">
                <summary>
                
                </summary>
                <param name="Format"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Parameter.DbaCredentialParameter.ToInt64(System.IFormatProvider)">
                <summary>
                
                </summary>
                <param name="Format"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Parameter.DbaCredentialParameter.ToUInt64(System.IFormatProvider)">
                <summary>
                
                </summary>
                <param name="Format"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Parameter.DbaCredentialParameter.ToSingle(System.IFormatProvider)">
                <summary>
                
                </summary>
                <param name="Format"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Parameter.DbaCredentialParameter.ToDouble(System.IFormatProvider)">
                <summary>
                
                </summary>
                <param name="Format"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Parameter.DbaCredentialParameter.ToDecimal(System.IFormatProvider)">
                <summary>
                
                </summary>
                <param name="Format"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Parameter.DbaCredentialParameter.ToDateTime(System.IFormatProvider)">
                <summary>
                
                </summary>
                <param name="Format"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Parameter.DbaCredentialParameter.ToString(System.IFormatProvider)">
                <summary>
                
                </summary>
                <param name="Format"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Parameter.DbaCredentialParameter.ToType(System.Type,System.IFormatProvider)">
                <summary>
                Tries to convert the credential parameter to one of its supported types
                </summary>
                <param name="TargetType">The type to convert to</param>
                <param name="Format">Irrelevant</param>
                <returns></returns>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Parameter.DbaDatabaseParameter">
                <summary>
                Parameter class that accepts anything pointing at a database
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Parameter.DbaDatabaseParameter.InputObject">
                <summary>
                The original object passed to the parameter
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Parameter.DbaDatabaseParameter.Database">
                <summary>
                The SMO Database Object
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Parameter.DbaDatabaseParameter.Name">
                <summary>
                The name of the database
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Parameter.DbaDatabaseParameter.#ctor(System.String)">
                <summary>
                Accepts the name of a database and converts it to a DbaDatabaseParameter
                </summary>
                <param name="Name"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Parameter.DbaDatabaseParameter.#ctor(System.Object)">
                <summary>
                Accepts anything and tries to convert it to a live SMO Database object
                </summary>
                <param name="Item">The item to convert</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Parameter.DbaDatabaseParameter.ToString">
                <summary>
                Overrides the regular tostring to show something pleasant and useful
                </summary>
                <returns>The name of the database</returns>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Parameter.DbaDatabaseSmoParameter">
                <summary>
                Parameter class that only accepts live SMO Databases
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Parameter.DbaDatabaseSmoParameter.InputObject">
                <summary>
                The original object passed to the parameter
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Parameter.DbaDatabaseSmoParameter.Database">
                <summary>
                The SMO Database Object
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Parameter.DbaDatabaseSmoParameter.Name">
                <summary>
                The name of the database
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Parameter.DbaDatabaseSmoParameter.#ctor(System.Object)">
                <summary>
                Accepts anything and tries to convert it to a live SMO Database object
                </summary>
                <param name="Item">The item to convert</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Parameter.DbaDatabaseSmoParameter.ToString">
                <summary>
                Overrides the regular tostring to show something pleasant and useful
                </summary>
                <returns>The name of the database</returns>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Parameter.DbaInstanceInputType">
                <summary>
                What kind of object was bound to the parameter class?
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Parameter.DbaInstanceInputType.Default">
                <summary>
                Anything, really. An unspecific not reusable type was bound
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Parameter.DbaInstanceInputType.Linked">
                <summary>
                A live smo linked server object was bound
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Parameter.DbaInstanceInputType.Server">
                <summary>
                A live smo server object was bound
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Parameter.DbaInstanceInputType.RegisteredServer">
                <summary>
                A Central Management Server RegisteredServer SMO object was bound
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Parameter.DbaInstanceInputType.ConnectionString">
                <summary>
                An actual connection string was specified. Connection strings are directly reused for SMO connections
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Parameter.DbaInstanceInputType.ConnectionStringLocalDB">
                <summary>
                A connection string pointing at a local, file-based DB
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Parameter.DbaInstanceInputType.SqlConnection">
                <summary>
                An already established sql connection to was created outside of SMO
                </summary>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Parameter.DbaInstanceParameter">
                <summary>
                Input converter for instance information
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Parameter.DbaInstanceParameter.ComputerName">
                <summary>
                Name of the computer as resolvable by DNS
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Parameter.DbaInstanceParameter.InstanceName">
                <summary>
                Name of the instance on the target server
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Parameter.DbaInstanceParameter.Port">
                <summary>
                The port over which to connect to the server. Only present if non-default
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Parameter.DbaInstanceParameter.NetworkProtocol">
                <summary>
                The network protocol to connect over
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Parameter.DbaInstanceParameter.IsLocalHost">
                <summary>
                Verifies, whether the specified computer is localhost or not.
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Parameter.DbaInstanceParameter.FullName">
                <summary>
                Full name of the instance, including the server-name
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Parameter.DbaInstanceParameter.FullSmoName">
                <summary>
                Full name of the instance, including the server-name, used when connecting via SMO
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Parameter.DbaInstanceParameter.SqlComputerName">
                <summary>
                Name of the computer as used in an SQL Statement
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Parameter.DbaInstanceParameter.SqlInstanceName">
                <summary>
                Name of the instance as used in an SQL Statement
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Parameter.DbaInstanceParameter.SqlFullName">
                <summary>
                Full name of the instance, including the server-name as used in an SQL statement
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Parameter.DbaInstanceParameter.IsConnectionString">
                <summary>
                Whether the input is a connection string
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Parameter.DbaInstanceParameter.InputObject">
                <summary>
                The original object passed to the parameter class.
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Parameter.DbaInstanceParameter.Type">
                <summary>
                What kind of object was bound to the parameter class? For efficiency's purposes.
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Parameter.DbaInstanceParameter.LinkedLive">
                <summary>
                Returns, whether a live SMO object was bound for the purpose of accessing LinkedServer functionality
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Parameter.DbaInstanceParameter.LinkedServer">
                <summary>
                Returns the available Linked Server objects from live objects only
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Parameter.DbaInstanceParameter.op_Implicit(Sqlcollaborative.Dbatools.Parameter.DbaInstanceParameter)~System.String">
                <summary>
                Converts the parameter class to its full name
                </summary>
                <param name="Input">The parameter class object to convert</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Parameter.DbaInstanceParameter.#ctor(System.String)">
                <summary>
                Creates a DBA Instance Parameter from string
                </summary>
                <param name="Name">The name of the instance</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Parameter.DbaInstanceParameter.#ctor(System.Net.IPAddress)">
                <summary>
                Creates a DBA Instance Parameter from an IPAddress
                </summary>
                <param name="Address"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Parameter.DbaInstanceParameter.#ctor(System.Net.NetworkInformation.PingReply)">
                <summary>
                Creates a DBA Instance Parameter from the reply to a ping
                </summary>
                <param name="Ping">The result of a ping</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Parameter.DbaInstanceParameter.#ctor(System.Net.IPHostEntry)">
                <summary>
                Creates a DBA Instance Parameter from the result of a dns resolution
                </summary>
                <param name="Entry">The result of a dns resolution, to be used for targetting the default instance</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Parameter.DbaInstanceParameter.#ctor(System.Data.SqlClient.SqlConnection)">
                <summary>
                Creates a DBA Instance Parameter from an established SQL Connection
                </summary>
                <param name="Connection">The connection to reuse</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Parameter.DbaInstanceParameter.#ctor(Sqlcollaborative.Dbatools.Discovery.DbaInstanceReport)">
                <summary>
                Accept and understand discovery reports.
                </summary>
                <param name="Report">The report to interpret</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Parameter.DbaInstanceParameter.#ctor(System.Object)">
                <summary>
                Creates a DBA Instance parameter from any object
                </summary>
                <param name="Input">Object to parse</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Parameter.DbaInstanceParameter.ToString">
                <summary>
                Overrides the regular <c>ToString()</c> to show something pleasant and useful
                </summary>
                <returns>The <see cref="P:Sqlcollaborative.Dbatools.Parameter.DbaInstanceParameter.FullSmoName"/></returns>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Parameter.DbaSelectParameter">
                <summary>
                Class that automatically parses input chosen for the -Property parameter of Select-PSUObject
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Parameter.DbaSelectParameter.InputObject">
                <summary>
                The original input object
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Parameter.DbaSelectParameter.Value">
                <summary>
                The value as Select-Object wants it
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Parameter.DbaSelectParameter.#ctor(System.String)">
                <summary>
                Builds a property parameter from string
                </summary>
                <param name="Value">The string to interpret</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Parameter.DbaSelectParameter.#ctor(System.Collections.Hashtable)">
                <summary>
                Builds a select parameter from a hashtable (pretty straightforward)
                </summary>
                <param name="Hash">The hashtable to accept</param>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Parameter.ParameterContractAttribute">
                <summary>
                The attribute used to define the elements of a ParameterClass contract
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Parameter.ParameterContractAttribute.Type">
                <summary>
                Returns the type of the element this attribute is supposed to be attached to.
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Parameter.ParameterContractAttribute.Behavior">
                <summary>
                Returns the behavior to expect from the contracted element. This sets the expectations on how this element is likely to act.
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Parameter.ParameterContractAttribute.#ctor(Sqlcollaborative.Dbatools.Parameter.ParameterContractType,Sqlcollaborative.Dbatools.Parameter.ParameterContractBehavior)">
                <summary>
                Ceates a perfectly common parameter contract attribute. For use with all parameter classes' public elements.
                </summary>
                <param name="Type"></param>
                <param name="Behavior"></param>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Parameter.ParameterContractBehavior">
                <summary>
                Defines how this element will behave
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Parameter.ParameterContractBehavior.NotContracted">
                <summary>
                This elements is not actually part of the contract. Generally you wouldn't want to add the attribute at all in that case. However, in some places it helps avoiding confusion.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Parameter.ParameterContractBehavior.Mandatory">
                <summary>
                This element may never be null and must be considered in all assignments. Even if the element is de facto not nullable, all constructors must assign it.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Parameter.ParameterContractBehavior.Optional">
                <summary>
                This element may contain data, but is not required to. In case of a method, it may simply do nothing
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Parameter.ParameterContractBehavior.Failable">
                <summary>
                This method may throw an error when executing and should always be handled with try/catch. Use this on methods that use external calls.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Parameter.ParameterContractBehavior.Arbiter">
                <summary>
                The content of the thus marked field determines the dependent's state. Generally, only if the arbiter is true, will the dependent elements be mandatory. This behavior may only be assigned to boolean fields.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Parameter.ParameterContractBehavior.Conditional">
                <summary>
                This behavior can be assigned together with the 'Mandatory' behavior. It means the field is only mandatory if an arbiter field is present and set to true.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Parameter.ParameterContractBehavior.Conversion">
                <summary>
                Converts content. Generally applied only to operators, but some methods may also convert information.
                </summary>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Parameter.ParameterContractType">
                <summary>
                Defines what kind of element is granted the contract
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Parameter.ParameterContractType.Field">
                <summary>
                The contracted element is a field containing a value
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Parameter.ParameterContractType.Method">
                <summary>
                The contracted element is a method, performing an action
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Parameter.ParameterContractType.Operator">
                <summary>
                The contracted element is an operator, facilitating type conversion. Generally into a dedicated object type this parameterclass abstracts.
                </summary>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Runspace.DbaRunspaceState">
                <summary>
                Contains the state a managed, unique runspace can be in.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Runspace.DbaRunspaceState.Running">
                <summary>
                The runspace is up and running
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Runspace.DbaRunspaceState.Stopping">
                <summary>
                The runspace has received the stop order, but has not yet obeyed it
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Runspace.DbaRunspaceState.Stopped">
                <summary>
                The runspace has followed its order to stop and is currently disabled
                </summary>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Runspace.RunspaceContainer">
                <summary>
                Class that contains the logic necessary to manage a unique runspace
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Runspace.RunspaceContainer.Name">
                <summary>
                The name of the runspace.
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Runspace.RunspaceContainer.RunspaceGuid">
                <summary>
                The Guid of the running Runspace
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Runspace.RunspaceContainer.SetScript(System.Management.Automation.ScriptBlock)">
                <summary>
                Sets the script to execute in the runspace. Will NOT take immediate effect. Only after restarting the runspace will it be used.
                </summary>
                <param name="Script">The scriptblock to execute</param>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Runspace.RunspaceContainer.State">
                <summary>
                The state the runspace currently is in.
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Runspace.RunspaceContainer.Start">
                <summary>
                Starts the Runspace.
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Runspace.RunspaceContainer.SetName(System.Management.Automation.Runspaces.Runspace)">
                <summary>
                Sets the name on a runspace. This WILL FAIL for PowerShell v3!
                </summary>
                <param name="Runspace">The runspace to be named</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Runspace.RunspaceContainer.Stop">
                <summary>
                Gracefully stops the Runspace
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Runspace.RunspaceContainer.Kill">
                <summary>
                Very ungracefully kills the runspace. Use only in the most dire emergency.
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Runspace.RunspaceContainer.SignalStopped">
                <summary>
                Signals the registered runspace has stopped execution
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Runspace.RunspaceContainer.#ctor(System.String,System.Management.Automation.ScriptBlock)">
                <summary>
                Creates a new runspace container with the basic information needed
                </summary>
                <param name="Name">The name of the Runspace</param>
                <param name="Script">The code using the runspace logic</param>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Runspace.RunspaceHost">
                <summary>
                Provides hosting for all registered runspaces
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Runspace.RunspaceHost.StopTimeoutSeconds">
                <summary>
                The number of seconds before a Stop command is interrupted and instead the runspace is gracelessly shut down.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Runspace.RunspaceHost.Runspaces">
                <summary>
                The dictionary containing the definitive list of unique Runspace
                </summary>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.TabExpansion.InstanceAccess">
                <summary>
                Contains information on access to an instance
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.TabExpansion.InstanceAccess.InstanceName">
                <summary>
                The name of the instance to access
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.TabExpansion.InstanceAccess.IsSysAdmin">
                <summary>
                Whether the account had sysadmin privileges. On multiple user usage, the cache will prefer sysadmin accounts.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.TabExpansion.InstanceAccess.ConnectionObject">
                <summary>
                The actual connection object to connect with to the server
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.TabExpansion.InstanceAccess.LastAccess">
                <summary>
                When was the instance last accessed using dbatools
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.TabExpansion.InstanceAccess.LastUpdate">
                <summary>
                When was the instance's TEPP cache last updated
                </summary>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.TabExpansion.ScriptContainer">
                <summary>
                Regular container to store scripts in, that are used in TEPP
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.TabExpansion.ScriptContainer.Name">
                <summary>
                The name of the scriptblock
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.TabExpansion.ScriptContainer.ScriptBlock">
                <summary>
                The scriptblock doing the logic
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.TabExpansion.ScriptContainer.LastExecution">
                <summary>
                The last time the scriptblock was called. Must be updated by the scriptblock itself
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.TabExpansion.ScriptContainer.LastDuration">
                <summary>
                The time it took to run the last time
                </summary>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.TabExpansion.TabCompletionSet">
                <summary>
                Contains information used to transmit Tepp Assignment
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.TabExpansion.TabCompletionSet.Command">
                <summary>
                The name of the command to complete. "*" if all commands that have the parameter should be selected instead
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.TabExpansion.TabCompletionSet.Parameter">
                <summary>
                The parameter to complete
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.TabExpansion.TabCompletionSet.Script">
                <summary>
                The name of the script to complete with
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.TabExpansion.TabCompletionSet.#ctor(System.String,System.String,System.String)">
                <summary>
                Creates a new tab completion set object with all information prefilled
                </summary>
                <param name="Command">The name of the command to complete. "*" if all commands that have the parameter should be selected instead</param>
                <param name="Parameter">The parameter to complete</param>
                <param name="Script">The name of the script to complete with</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.TabExpansion.TabCompletionSet.Applies(System.String,System.String)">
                <summary>
                Tests, whether the completion set applies to the specified parameter / command combination
                </summary>
                <param name="Command">The command to test</param>
                <param name="Parameter">The parameter of the command to test</param>
                <returns>Whether this completion set applies to the specified combination of parameter / command</returns>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.TabExpansion.TabExpansionHost">
                <summary>
                Class that handles the static fields supporting the dbatools TabExpansion implementation
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.TabExpansion.TabExpansionHost.Scripts">
                <summary>
                Field containing the scripts that were registered.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.TabExpansion.TabExpansionHost.Cache">
                <summary>
                The cache used by scripts utilizing TabExpansionPlusPlus in dbatools
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.TabExpansion.TabExpansionHost.InstanceAccess">
                <summary>
                List of instances and when they were last accessed
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.TabExpansion.TabExpansionHost.TeppGatherScriptsFast">
                <summary>
                Scripts that build the cache and are suitable for synchronous execution
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.TabExpansion.TabExpansionHost.TeppGatherScriptsSlow">
                <summary>
                Scripts that build the cache and are not suitable for synchronous execution
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.TabExpansion.TabExpansionHost.DbatoolsCommands">
                <summary>
                A list of all commands imported into dbatools
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.TabExpansion.TabExpansionHost.TabCompletionSets">
                <summary>
                List of completion sets that should be processed into Tepp Assignments. Only populate this list on first import.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.TabExpansion.TabExpansionHost.TeppAssignment">
                <summary>
                Maps a TEPP scriptblock to a command and parameter
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.TabExpansion.TabExpansionHost.SetInstance(System.String,System.Object,System.Boolean)">
                <summary>
                Registers a new instance or updates an already existing one. Should only be called from Connect-SqlInstance and Connect-DbaSqlServer
                </summary>
                <param name="InstanceName">Name of the instance connected to</param>
                <param name="Connection">To connection object containing the relevant information for accessing the instance</param>
                <param name="IsSysAdmin">Whether the account connecting to the instnace has SA privileges</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.TabExpansion.TabExpansionHost.GetTeppScript(System.String,System.String)">
                <summary>
                Returns the assigned scriptblock for a given parameter
                </summary>
                <param name="Command">The command that should be completed</param>
                <param name="Parameter">The parameter completion is provided for</param>
                <returns>Either the relevant script container or null</returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.TabExpansion.TabExpansionHost.SetTeppScript(System.String,System.String,System.String)">
                <summary>
                Assigns a registered script to the parameter of a command
                </summary>
                <param name="Command">The command for which to complete</param>
                <param name="Parameter">The parameter for which to complete</param>
                <param name="Script">To name of the script with which to complete</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.TabExpansion.TabExpansionHost.AddTabCompletionSet(System.String,System.String,System.String)">
                <summary>
                Adds a completion set to the list of items to process
                </summary>
                <param name="Command">The command to complete for (accepts wildcard matching)</param>
                <param name="Parameter">The parameter to complete for (accepts wildcard matching)</param>
                <param name="Script">The script to register</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.TabExpansion.TabExpansionHost.CalculateTabExpansion">
                <summary>
                Processes the content of TabCompletionSets and Scripts into TappAssignments based on the DbatoolsCommands list.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.TabExpansion.TabExpansionHost.TeppDisabled">
                <summary>
                Whether TEPP in its entirety is disabled
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.TabExpansion.TabExpansionHost.TeppAsyncDisabled">
                <summary>
                Whether asynchronous TEPP updating should be disabled
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.TabExpansion.TabExpansionHost.TeppSyncDisabled">
                <summary>
                Whether synchronous TEPP updating should be disabled
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.TabExpansion.TabExpansionHost.TeppUpdateInterval">
                <summary>
                The interval in which asynchronous TEPP cache updates are performed
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.TabExpansion.TabExpansionHost.TeppUpdateTimeout">
                <summary>
                After this timespan of no requests to a server, the updates to its cache are disabled.
                </summary>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.TypeConversion.DbaCredentialParameterConverter">
                <summary>
                Converts to and from DbaCredentialparameter
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.TypeConversion.DbaCredentialParameterConverter.CanConvertTo(System.Object,System.Type)">
                <summary>
                Verifies, whether a conversion for the object to the target type is possible
                </summary>
                <param name="SourceValue">The object to convert</param>
                <param name="DestinationType">The type to convert to</param>
                <returns>Whether it's possible, duh!</returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.TypeConversion.DbaCredentialParameterConverter.ConvertTo(System.Object,System.Type,System.IFormatProvider,System.Boolean)">
                <summary>
                Converts from DbaCredentialparameter to whatever destination type is attempted
                </summary>
                <param name="sourceValue">The source object. Better be a DbaCredentialparameter!</param>
                <param name="destinationType">Should be a supported destination type</param>
                <param name="formatProvider">Irrelevant</param>
                <param name="ignoreCase">Irrelevant</param>
                <returns>The target content type</returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.TypeConversion.DbaCredentialParameterConverter.CanConvertFrom(System.Object,System.Type)">
                <summary>
                Verifies, whether a conversion for the object from the source type to DbaCredentialParameter is possible
                </summary>
                <param name="SourceValue">The object to convert</param>
                <param name="DestinationType">The source type to convert to</param>
                <returns>Whether it's possible, duh!</returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.TypeConversion.DbaCredentialParameterConverter.ConvertFrom(System.Object,System.Type,System.IFormatProvider,System.Boolean)">
                <summary>
                Converts a source object to DbaCredentialparameter
                </summary>
                <param name="sourceValue">The source object</param>
                <param name="destinationType">The destination type. Must be DbaCredentialParameter, or red stuff happens</param>
                <param name="formatProvider">Irrelevant</param>
                <param name="ignoreCase">Irrelevant</param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.TypeConversion.DbaCredentialParameterConverter.IsSupportedType(System.Type)">
                <summary>
                Returns, whether a given type is supported for conversion
                </summary>
                <param name="type">The type to validate</param>
                <returns>Whether it's a supported conversion</returns>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Utility.DateTimeExtension">
                <summary>
                Extends DateTime
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DateTimeExtension.CompareTo(System.DateTime,Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase)">
                <summary>
                Adds a compareTo method to DateTime to compare with DbaDateTimeBase
                </summary>
                <param name="Base">The extended DateTime object</param>
                <param name="comparedTo">The DbaDateTimeBase to compare with</param>
                <returns></returns>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Utility.DbaDate">
                <summary>
                A dbatools-internal datetime wrapper for neater display
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDate.#ctor(System.DateTime)">
                <summary>
                Constructs a generic timestamp object wrapper from an input timestamp object.
                </summary>
                <param name="Timestamp">The timestamp to wrap</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDate.#ctor(System.String)">
                <summary>
                Parses a string into a datetime object.
                </summary>
                <param name="Time">The time-string to parse</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDate.#ctor(System.Int64)">
                <summary>
                
                </summary>
                <param name="ticks"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDate.#ctor(System.Int64,System.DateTimeKind)">
                <summary>
                
                </summary>
                <param name="ticks"></param>
                <param name="kind"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDate.#ctor(System.Int32,System.Int32,System.Int32)">
                <summary>
                
                </summary>
                <param name="year"></param>
                <param name="month"></param>
                <param name="day"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDate.#ctor(System.Int32,System.Int32,System.Int32,System.Globalization.Calendar)">
                <summary>
                
                </summary>
                <param name="year"></param>
                <param name="month"></param>
                <param name="day"></param>
                <param name="calendar"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDate.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)">
                <summary>
                
                </summary>
                <param name="year"></param>
                <param name="month"></param>
                <param name="day"></param>
                <param name="hour"></param>
                <param name="minute"></param>
                <param name="second"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDate.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.DateTimeKind)">
                <summary>
                
                </summary>
                <param name="year"></param>
                <param name="month"></param>
                <param name="day"></param>
                <param name="hour"></param>
                <param name="minute"></param>
                <param name="second"></param>
                <param name="kind"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDate.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Globalization.Calendar)">
                <summary>
                
                </summary>
                <param name="year"></param>
                <param name="month"></param>
                <param name="day"></param>
                <param name="hour"></param>
                <param name="minute"></param>
                <param name="second"></param>
                <param name="calendar"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDate.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)">
                <summary>
                
                </summary>
                <param name="year"></param>
                <param name="month"></param>
                <param name="day"></param>
                <param name="hour"></param>
                <param name="minute"></param>
                <param name="second"></param>
                <param name="millisecond"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDate.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.DateTimeKind)">
                <summary>
                
                </summary>
                <param name="year"></param>
                <param name="month"></param>
                <param name="day"></param>
                <param name="hour"></param>
                <param name="minute"></param>
                <param name="second"></param>
                <param name="millisecond"></param>
                <param name="kind"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDate.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Globalization.Calendar)">
                <summary>
                
                </summary>
                <param name="year"></param>
                <param name="month"></param>
                <param name="day"></param>
                <param name="hour"></param>
                <param name="minute"></param>
                <param name="second"></param>
                <param name="millisecond"></param>
                <param name="calendar"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDate.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Globalization.Calendar,System.DateTimeKind)">
                <summary>
                
                </summary>
                <param name="year"></param>
                <param name="month"></param>
                <param name="day"></param>
                <param name="hour"></param>
                <param name="minute"></param>
                <param name="second"></param>
                <param name="millisecond"></param>
                <param name="calendar"></param>
                <param name="kind"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDate.ToString">
                <summary>
                Provids the default-formated string, using the defined default formatting.
                </summary>
                <returns>Formatted datetime-string</returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDate.op_Implicit(Sqlcollaborative.Dbatools.Utility.DbaDate)~System.DateTime">
                <summary>
                Implicitly convert to DateTime
                </summary>
                <param name="Base">The source object to convert</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDate.op_Implicit(System.DateTime)~Sqlcollaborative.Dbatools.Utility.DbaDate">
                <summary>
                Implicitly convert from DateTime
                </summary>
                <param name="Base">The object to convert</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDate.op_Implicit(Sqlcollaborative.Dbatools.Utility.DbaDate)~Sqlcollaborative.Dbatools.Utility.DbaDateTime">
                <summary>
                Implicitly convert to DbaDate
                </summary>
                <param name="Base">The source object to convert</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDate.op_Implicit(Sqlcollaborative.Dbatools.Utility.DbaDate)~Sqlcollaborative.Dbatools.Utility.DbaTime">
                <summary>
                Implicitly convert to DbaTime
                </summary>
                <param name="Base">The source object to convert</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDate.Generate(System.DateTime)">
                <summary>
                Generates a DbaDate object based off DateTime object. Will be null if Base is the start value (Tickes == 0).
                </summary>
                <param name="Base">The Datetime to base it off</param>
                <returns>The object to generate (or null)</returns>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Utility.DbaDateTime">
                <summary>
                A dbatools-internal datetime wrapper for neater display
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTime.#ctor(System.DateTime)">
                <summary>
                Constructs a generic timestamp object wrapper from an input timestamp object.
                </summary>
                <param name="Timestamp">The timestamp to wrap</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTime.#ctor(System.String)">
                <summary>
                Parses a string into a datetime object.
                </summary>
                <param name="Time">The time-string to parse</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTime.#ctor(System.Int64)">
                <summary>
                
                </summary>
                <param name="ticks"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTime.#ctor(System.Int64,System.DateTimeKind)">
                <summary>
                
                </summary>
                <param name="ticks"></param>
                <param name="kind"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTime.#ctor(System.Int32,System.Int32,System.Int32)">
                <summary>
                
                </summary>
                <param name="year"></param>
                <param name="month"></param>
                <param name="day"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTime.#ctor(System.Int32,System.Int32,System.Int32,System.Globalization.Calendar)">
                <summary>
                
                </summary>
                <param name="year"></param>
                <param name="month"></param>
                <param name="day"></param>
                <param name="calendar"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTime.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)">
                <summary>
                
                </summary>
                <param name="year"></param>
                <param name="month"></param>
                <param name="day"></param>
                <param name="hour"></param>
                <param name="minute"></param>
                <param name="second"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTime.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.DateTimeKind)">
                <summary>
                
                </summary>
                <param name="year"></param>
                <param name="month"></param>
                <param name="day"></param>
                <param name="hour"></param>
                <param name="minute"></param>
                <param name="second"></param>
                <param name="kind"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTime.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Globalization.Calendar)">
                <summary>
                
                </summary>
                <param name="year"></param>
                <param name="month"></param>
                <param name="day"></param>
                <param name="hour"></param>
                <param name="minute"></param>
                <param name="second"></param>
                <param name="calendar"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTime.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)">
                <summary>
                
                </summary>
                <param name="year"></param>
                <param name="month"></param>
                <param name="day"></param>
                <param name="hour"></param>
                <param name="minute"></param>
                <param name="second"></param>
                <param name="millisecond"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTime.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.DateTimeKind)">
                <summary>
                
                </summary>
                <param name="year"></param>
                <param name="month"></param>
                <param name="day"></param>
                <param name="hour"></param>
                <param name="minute"></param>
                <param name="second"></param>
                <param name="millisecond"></param>
                <param name="kind"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTime.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Globalization.Calendar)">
                <summary>
                
                </summary>
                <param name="year"></param>
                <param name="month"></param>
                <param name="day"></param>
                <param name="hour"></param>
                <param name="minute"></param>
                <param name="second"></param>
                <param name="millisecond"></param>
                <param name="calendar"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTime.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Globalization.Calendar,System.DateTimeKind)">
                <summary>
                
                </summary>
                <param name="year"></param>
                <param name="month"></param>
                <param name="day"></param>
                <param name="hour"></param>
                <param name="minute"></param>
                <param name="second"></param>
                <param name="millisecond"></param>
                <param name="calendar"></param>
                <param name="kind"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTime.ToString">
                <summary>
                Provids the default-formated string, using the defined default formatting.
                </summary>
                <returns>Formatted datetime-string</returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTime.op_Implicit(Sqlcollaborative.Dbatools.Utility.DbaDateTime)~System.DateTime">
                <summary>
                Implicitly convert to DateTime
                </summary>
                <param name="Base">The source object to convert</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTime.op_Implicit(System.DateTime)~Sqlcollaborative.Dbatools.Utility.DbaDateTime">
                <summary>
                Implicitly convert from DateTime
                </summary>
                <param name="Base">The object to convert</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTime.op_Implicit(Sqlcollaborative.Dbatools.Utility.DbaDateTime)~Sqlcollaborative.Dbatools.Utility.DbaDate">
                <summary>
                Implicitly convert to DbaDate
                </summary>
                <param name="Base">The source object to convert</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTime.op_Implicit(Sqlcollaborative.Dbatools.Utility.DbaDateTime)~Sqlcollaborative.Dbatools.Utility.DbaTime">
                <summary>
                Implicitly convert to DbaTime
                </summary>
                <param name="Base">The source object to convert</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTime.Generate(System.DateTime)">
                <summary>
                Generates a DbaDateTime object based off DateTime object. Will be null if Base is the start value (Tickes == 0).
                </summary>
                <param name="Base">The Datetime to base it off</param>
                <returns>The object to generate (or null)</returns>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase">
                <summary>
                Base class for wrapping around a DateTime object
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase._timestamp">
                <summary>
                The core resource, containing the actual timestamp
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.Date">
                <summary>
                Gets the date component of this instance.
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.Day">
                <summary>
                Gets the day of the month represented by this instance.
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.DayOfWeek">
                <summary>
                Gets the day of the week represented by this instance.
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.DayOfYear">
                <summary>
                Gets the day of the year represented by this instance.
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.Hour">
                <summary>
                Gets the hour component of the date represented by this instance.
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.Kind">
                <summary>
                Gets a value that indicates whether the time represented by this instance is based on local time, Coordinated Universal Time (UTC), or neither.
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.Millisecond">
                <summary>
                Gets the milliseconds component of the date represented by this instance.
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.Minute">
                <summary>
                Gets the minute component of the date represented by this instance.
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.Month">
                <summary>
                Gets the month component of the date represented by this instance.
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.Second">
                <summary>
                Gets the seconds component of the date represented by this instance.
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.Ticks">
                <summary>
                Gets the number of ticks that represent the date and time of this instance.
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.TimeOfDay">
                <summary>
                Gets the time of day for this instance.
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.Year">
                <summary>
                Gets the year component of the date represented by this instance.
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.#ctor">
                <summary>
                Constructor that should never be called, since this class should never be instantiated. It's there for implicit calls on child classes.
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.#ctor(System.DateTime)">
                <summary>
                Constructs a generic timestamp object wrapper from an input timestamp object.
                </summary>
                <param name="Timestamp">The timestamp to wrap</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.#ctor(System.String)">
                <summary>
                Parses a string into a datetime object.
                </summary>
                <param name="Time">The time-string to parse</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.#ctor(System.Int64)">
                <summary>
                
                </summary>
                <param name="ticks"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.#ctor(System.Int64,System.DateTimeKind)">
                <summary>
                
                </summary>
                <param name="ticks"></param>
                <param name="kind"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.#ctor(System.Int32,System.Int32,System.Int32)">
                <summary>
                
                </summary>
                <param name="year"></param>
                <param name="month"></param>
                <param name="day"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.#ctor(System.Int32,System.Int32,System.Int32,System.Globalization.Calendar)">
                <summary>
                
                </summary>
                <param name="year"></param>
                <param name="month"></param>
                <param name="day"></param>
                <param name="calendar"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)">
                <summary>
                
                </summary>
                <param name="year"></param>
                <param name="month"></param>
                <param name="day"></param>
                <param name="hour"></param>
                <param name="minute"></param>
                <param name="second"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.DateTimeKind)">
                <summary>
                
                </summary>
                <param name="year"></param>
                <param name="month"></param>
                <param name="day"></param>
                <param name="hour"></param>
                <param name="minute"></param>
                <param name="second"></param>
                <param name="kind"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Globalization.Calendar)">
                <summary>
                
                </summary>
                <param name="year"></param>
                <param name="month"></param>
                <param name="day"></param>
                <param name="hour"></param>
                <param name="minute"></param>
                <param name="second"></param>
                <param name="calendar"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)">
                <summary>
                
                </summary>
                <param name="year"></param>
                <param name="month"></param>
                <param name="day"></param>
                <param name="hour"></param>
                <param name="minute"></param>
                <param name="second"></param>
                <param name="millisecond"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.DateTimeKind)">
                <summary>
                
                </summary>
                <param name="year"></param>
                <param name="month"></param>
                <param name="day"></param>
                <param name="hour"></param>
                <param name="minute"></param>
                <param name="second"></param>
                <param name="millisecond"></param>
                <param name="kind"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Globalization.Calendar)">
                <summary>
                
                </summary>
                <param name="year"></param>
                <param name="month"></param>
                <param name="day"></param>
                <param name="hour"></param>
                <param name="minute"></param>
                <param name="second"></param>
                <param name="millisecond"></param>
                <param name="calendar"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Globalization.Calendar,System.DateTimeKind)">
                <summary>
                
                </summary>
                <param name="year"></param>
                <param name="month"></param>
                <param name="day"></param>
                <param name="hour"></param>
                <param name="minute"></param>
                <param name="second"></param>
                <param name="millisecond"></param>
                <param name="calendar"></param>
                <param name="kind"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.Add(System.TimeSpan)">
                <summary>
                
                </summary>
                <param name="value"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.AddDays(System.Double)">
                <summary>
                
                </summary>
                <param name="value"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.AddHours(System.Double)">
                <summary>
                
                </summary>
                <param name="value"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.AddMilliseconds(System.Double)">
                <summary>
                
                </summary>
                <param name="value"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.AddMinutes(System.Double)">
                <summary>
                
                </summary>
                <param name="value"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.AddMonths(System.Int32)">
                <summary>
                
                </summary>
                <param name="months"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.AddSeconds(System.Double)">
                <summary>
                
                </summary>
                <param name="value"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.AddTicks(System.Int64)">
                <summary>
                
                </summary>
                <param name="value"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.AddYears(System.Int32)">
                <summary>
                
                </summary>
                <param name="value"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.CompareTo(System.Object)">
                <summary>
                
                </summary>
                <param name="value"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.CompareTo(System.DateTime)">
                <summary>
                
                </summary>
                <param name="value"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.Equals(System.Object)">
                <summary>
                
                </summary>
                <param name="value"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.Equals(System.DateTime)">
                <summary>
                
                </summary>
                <param name="value"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.GetDateTimeFormats">
                <summary>
                
                </summary>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.GetDateTimeFormats(System.IFormatProvider)">
                <summary>
                
                </summary>
                <param name="provider"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.GetDateTimeFormats(System.Char)">
                <summary>
                
                </summary>
                <param name="format"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.GetDateTimeFormats(System.Char,System.IFormatProvider)">
                <summary>
                
                </summary>
                <param name="format"></param>
                <param name="provider"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.GetBaseObject">
                <summary>
                Retrieve base DateTime object, this is a wrapper for
                </summary>
                <returns>Base DateTime object</returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.GetHashCode">
                <summary>
                
                </summary>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.GetTypeCode">
                <summary>
                
                </summary>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.IsDaylightSavingTime">
                <summary>
                
                </summary>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.Subtract(System.DateTime)">
                <summary>
                
                </summary>
                <param name="value"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.Subtract(System.TimeSpan)">
                <summary>
                
                </summary>
                <param name="value"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.ToBinary">
                <summary>
                
                </summary>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.ToFileTime">
                <summary>
                
                </summary>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.ToFileTimeUtc">
                <summary>
                
                </summary>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.ToLocalTime">
                <summary>
                
                </summary>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.ToLongDateString">
                <summary>
                
                </summary>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.ToLongTimeString">
                <summary>
                
                </summary>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.ToOADate">
                <summary>
                
                </summary>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.ToShortDateString">
                <summary>
                
                </summary>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.ToShortTimeString">
                <summary>
                
                </summary>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.ToString(System.String)">
                <summary>
                
                </summary>
                <param name="format"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.ToString(System.IFormatProvider)">
                <summary>
                
                </summary>
                <param name="provider"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.ToString(System.String,System.IFormatProvider)">
                <summary>
                
                </summary>
                <param name="format"></param>
                <param name="provider"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.ToUniversalTime">
                <summary>
                
                </summary>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.ParseDateTime(System.String)">
                <summary>
                Parses input string into datetime
                </summary>
                <param name="Value">The string to parse</param>
                <returns>The resultant datetime.</returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.op_Addition(Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase,System.TimeSpan)">
                <summary>
                
                </summary>
                <param name="Timestamp"></param>
                <param name="Duration"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.op_Subtraction(Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase,System.TimeSpan)">
                <summary>
                
                </summary>
                <param name="Timestamp"></param>
                <param name="Duration"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.op_Equality(Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase,Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase)">
                <summary>
                
                </summary>
                <param name="Timestamp1"></param>
                <param name="Timestamp2"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.op_Inequality(Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase,Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase)">
                <summary>
                
                </summary>
                <param name="Timestamp1"></param>
                <param name="Timestamp2"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.op_GreaterThan(Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase,Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase)">
                <summary>
                
                </summary>
                <param name="Timestamp1"></param>
                <param name="Timestamp2"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.op_LessThan(Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase,Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase)">
                <summary>
                
                </summary>
                <param name="Timestamp1"></param>
                <param name="Timestamp2"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.op_GreaterThanOrEqual(Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase,Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase)">
                <summary>
                
                </summary>
                <param name="Timestamp1"></param>
                <param name="Timestamp2"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.op_LessThanOrEqual(Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase,Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase)">
                <summary>
                
                </summary>
                <param name="Timestamp1"></param>
                <param name="Timestamp2"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.op_Implicit(Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase)~System.DateTime">
                <summary>
                Implicitly convert DbaDateTimeBase to DateTime
                </summary>
                <param name="Base">The source object to convert</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.op_Implicit(System.DateTime)~Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase">
                <summary>
                Implicitly convert DateTime to DbaDateTimeBase
                </summary>
                <param name="Base">The object to convert</param>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Utility.DbaTime">
                <summary>
                A dbatools-internal datetime wrapper for neater display
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaTime.#ctor(System.DateTime)">
                <summary>
                Constructs a generic timestamp object wrapper from an input timestamp object.
                </summary>
                <param name="Timestamp">The timestamp to wrap</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaTime.#ctor(System.String)">
                <summary>
                Parses a string into a datetime object.
                </summary>
                <param name="Time">The time-string to parse</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaTime.#ctor(System.Int64)">
                <summary>
                
                </summary>
                <param name="ticks"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaTime.#ctor(System.Int64,System.DateTimeKind)">
                <summary>
                
                </summary>
                <param name="ticks"></param>
                <param name="kind"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaTime.#ctor(System.Int32,System.Int32,System.Int32)">
                <summary>
                
                </summary>
                <param name="year"></param>
                <param name="month"></param>
                <param name="day"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaTime.#ctor(System.Int32,System.Int32,System.Int32,System.Globalization.Calendar)">
                <summary>
                
                </summary>
                <param name="year"></param>
                <param name="month"></param>
                <param name="day"></param>
                <param name="calendar"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaTime.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)">
                <summary>
                
                </summary>
                <param name="year"></param>
                <param name="month"></param>
                <param name="day"></param>
                <param name="hour"></param>
                <param name="minute"></param>
                <param name="second"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaTime.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.DateTimeKind)">
                <summary>
                
                </summary>
                <param name="year"></param>
                <param name="month"></param>
                <param name="day"></param>
                <param name="hour"></param>
                <param name="minute"></param>
                <param name="second"></param>
                <param name="kind"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaTime.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Globalization.Calendar)">
                <summary>
                
                </summary>
                <param name="year"></param>
                <param name="month"></param>
                <param name="day"></param>
                <param name="hour"></param>
                <param name="minute"></param>
                <param name="second"></param>
                <param name="calendar"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaTime.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)">
                <summary>
                
                </summary>
                <param name="year"></param>
                <param name="month"></param>
                <param name="day"></param>
                <param name="hour"></param>
                <param name="minute"></param>
                <param name="second"></param>
                <param name="millisecond"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaTime.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.DateTimeKind)">
                <summary>
                
                </summary>
                <param name="year"></param>
                <param name="month"></param>
                <param name="day"></param>
                <param name="hour"></param>
                <param name="minute"></param>
                <param name="second"></param>
                <param name="millisecond"></param>
                <param name="kind"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaTime.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Globalization.Calendar)">
                <summary>
                
                </summary>
                <param name="year"></param>
                <param name="month"></param>
                <param name="day"></param>
                <param name="hour"></param>
                <param name="minute"></param>
                <param name="second"></param>
                <param name="millisecond"></param>
                <param name="calendar"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaTime.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Globalization.Calendar,System.DateTimeKind)">
                <summary>
                
                </summary>
                <param name="year"></param>
                <param name="month"></param>
                <param name="day"></param>
                <param name="hour"></param>
                <param name="minute"></param>
                <param name="second"></param>
                <param name="millisecond"></param>
                <param name="calendar"></param>
                <param name="kind"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaTime.ToString">
                <summary>
                Provids the default-formated string, using the defined default formatting.
                </summary>
                <returns>Formatted datetime-string</returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaTime.op_Implicit(Sqlcollaborative.Dbatools.Utility.DbaTime)~System.DateTime">
                <summary>
                Implicitly convert to DateTime
                </summary>
                <param name="Base">The source object to convert</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaTime.op_Implicit(System.DateTime)~Sqlcollaborative.Dbatools.Utility.DbaTime">
                <summary>
                Implicitly convert from DateTime
                </summary>
                <param name="Base">The object to convert</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaTime.op_Implicit(Sqlcollaborative.Dbatools.Utility.DbaTime)~Sqlcollaborative.Dbatools.Utility.DbaDate">
                <summary>
                Implicitly convert to DbaDate
                </summary>
                <param name="Base">The source object to convert</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaTime.op_Implicit(Sqlcollaborative.Dbatools.Utility.DbaTime)~Sqlcollaborative.Dbatools.Utility.DbaDateTime">
                <summary>
                Implicitly convert to DbaTime
                </summary>
                <param name="Base">The source object to convert</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaTime.op_Implicit(Sqlcollaborative.Dbatools.Utility.DbaTime)~System.String">
                <summary>
                Implicitly convert to string
                </summary>
                <param name="Base">Object to convert</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaTime.Generate(System.DateTime)">
                <summary>
                Generates a DbaDateTime object based off DateTime object. Will be null if Base is the start value (Tickes == 0).
                </summary>
                <param name="Base">The Datetime to base it off</param>
                <returns>The object to generate (or null)</returns>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Utility.DbaTimeSpan">
                <summary>
                A wrapper class, encapsuling a regular TimeSpan object. Used to provide custom timespan display.
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Utility.DbaTimeSpan.Days">
                <summary>
                Gets the days component of the time interval represented by the current TimeSpan structure.
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Utility.DbaTimeSpan.Hours">
                <summary>
                Gets the hours component of the time interval represented by the current TimeSpan structure.
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Utility.DbaTimeSpan.Milliseconds">
                <summary>
                Gets the milliseconds component of the time interval represented by the current TimeSpan structure.
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Utility.DbaTimeSpan.Minutes">
                <summary>
                Gets the minutes component of the time interval represented by the current TimeSpan structure.
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Utility.DbaTimeSpan.Seconds">
                <summary>
                Gets the seconds component of the time interval represented by the current TimeSpan structure.
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Utility.DbaTimeSpan.Ticks">
                <summary>
                Gets the number of ticks that represent the value of the current TimeSpan structure.
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Utility.DbaTimeSpan.TotalDays">
                <summary>
                Gets the value of the current TimeSpan structure expressed in whole and fractional days.
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Utility.DbaTimeSpan.TotalHours">
                <summary>
                Gets the value of the current TimeSpan structure expressed in whole and fractional hours.
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Utility.DbaTimeSpan.TotalMilliseconds">
                <summary>
                Gets the value of the current TimeSpan structure expressed in whole and fractional milliseconds.
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Utility.DbaTimeSpan.TotalMinutes">
                <summary>
                Gets the value of the current TimeSpan structure expressed in whole and fractional minutes.
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Utility.DbaTimeSpan.TotalSeconds">
                <summary>
                Gets the value of the current TimeSpan structure expressed in whole and fractional seconds.
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaTimeSpan.#ctor(System.TimeSpan)">
                <summary>
                
                </summary>
                <param name="Timespan"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaTimeSpan.#ctor(System.String)">
                <summary>
                Converts a string into a timespan
                </summary>
                <param name="Timespan">The string to convert</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaTimeSpan.#ctor(System.Int64)">
                <summary>
                
                </summary>
                <param name="ticks"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaTimeSpan.#ctor(System.Int32,System.Int32,System.Int32)">
                <summary>
                
                </summary>
                <param name="hours"></param>
                <param name="minutes"></param>
                <param name="seconds"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaTimeSpan.#ctor(System.Int32,System.Int32,System.Int32,System.Int32)">
                <summary>
                
                </summary>
                <param name="days"></param>
                <param name="hours"></param>
                <param name="minutes"></param>
                <param name="seconds"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaTimeSpan.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)">
                <summary>
                
                </summary>
                <param name="days"></param>
                <param name="hours"></param>
                <param name="minutes"></param>
                <param name="seconds"></param>
                <param name="milliseconds"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaTimeSpan.ParseTimeSpan(System.String)">
                <summary>
                Parses an input string as timespan
                </summary>
                <param name="Value">The string to interpret</param>
                <returns>The interpreted timespan value</returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaTimeSpan.Add(System.TimeSpan)">
                <summary>
                
                </summary>
                <param name="ts"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaTimeSpan.CompareTo(System.Object)">
                <summary>
                
                </summary>
                <param name="value"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaTimeSpan.CompareTo(System.TimeSpan)">
                <summary>
                
                </summary>
                <param name="value"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaTimeSpan.CompareTo(Sqlcollaborative.Dbatools.Utility.DbaTimeSpan)">
                <summary>
                
                </summary>
                <param name="value"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaTimeSpan.Duration">
                <summary>
                
                </summary>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaTimeSpan.Equals(System.Object)">
                <summary>
                
                </summary>
                <param name="value"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaTimeSpan.Equals(System.TimeSpan)">
                <summary>
                
                </summary>
                <param name="obj"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaTimeSpan.GetBaseObject">
                <summary>
                Returns the wrapped base object
                </summary>
                <returns>The base object</returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaTimeSpan.GetHashCode">
                <summary>
                
                </summary>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaTimeSpan.Negate">
                <summary>
                
                </summary>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaTimeSpan.Subtract(System.TimeSpan)">
                <summary>
                
                </summary>
                <param name="ts"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaTimeSpan.ToString">
                <summary>
                Returns the default string representation of the TimeSpan object
                </summary>
                <returns>The string representation of the DbaTimeSpan object</returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaTimeSpan.ToString(System.String)">
                <summary>
                
                </summary>
                <param name="format"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaTimeSpan.ToString(System.String,System.IFormatProvider)">
                <summary>
                
                </summary>
                <param name="format"></param>
                <param name="formatProvider"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaTimeSpan.op_Implicit(Sqlcollaborative.Dbatools.Utility.DbaTimeSpan)~System.TimeSpan">
                <summary>
                Implicitly converts a DbaTimeSpan object into a TimeSpan object
                </summary>
                <param name="Base">The original object to revert</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaTimeSpan.op_Implicit(System.TimeSpan)~Sqlcollaborative.Dbatools.Utility.DbaTimeSpan">
                <summary>
                Implicitly converts a TimeSpan object into a DbaTimeSpan object
                </summary>
                <param name="Base">The original object to wrap</param>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Utility.DbaTimeSpanPretty">
                <summary>
                Makes timespan great again
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaTimeSpanPretty.FromMilliseconds(System.Double)">
                <summary>
                Creates a new, pretty timespan object from milliseconds
                </summary>
                <param name="Milliseconds">The milliseconds to convert from.</param>
                <returns>A pretty timespan object</returns>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Utility.DbaTimeSpanPretty.Digits">
                <summary>
                The number of digits a pretty timespan should round to.
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaTimeSpanPretty.#ctor(System.TimeSpan)">
                <summary>
                
                </summary>
                <param name="Timespan"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaTimeSpanPretty.#ctor(System.String)">
                <summary>
                Converts a string into a timespan
                </summary>
                <param name="Timespan">The string to convert</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaTimeSpanPretty.#ctor(System.Int64)">
                <summary>
                
                </summary>
                <param name="ticks"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaTimeSpanPretty.#ctor(System.Int32,System.Int32,System.Int32)">
                <summary>
                
                </summary>
                <param name="hours"></param>
                <param name="minutes"></param>
                <param name="seconds"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaTimeSpanPretty.#ctor(System.Int32,System.Int32,System.Int32,System.Int32)">
                <summary>
                
                </summary>
                <param name="days"></param>
                <param name="hours"></param>
                <param name="minutes"></param>
                <param name="seconds"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaTimeSpanPretty.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)">
                <summary>
                
                </summary>
                <param name="days"></param>
                <param name="hours"></param>
                <param name="minutes"></param>
                <param name="seconds"></param>
                <param name="milliseconds"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaTimeSpanPretty.ToString">
                <summary>
                Creates extra-nice timespan formats
                </summary>
                <returns>Humanly readable timespans</returns>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Utility.DbaValidatePatternAttribute">
                <summary>
                Validates that each parameter argument matches the RegexPattern
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Utility.DbaValidatePatternAttribute.RegexPattern">
                <summary>
                Gets the Regex pattern to be used in the validation
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Utility.DbaValidatePatternAttribute.Options">
                <summary>
                Gets or sets the Regex options to be used in the validation
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Utility.DbaValidatePatternAttribute.ErrorMessage">
                 <summary>
                 Gets or sets the custom error message pattern that is displayed to the user.
                
                 The text representation of the object being validated and the validating regex is passed as
                 the first and second formatting parameters to the ErrorMessage formatting pattern.
                 <example>
                 [ValidatePattern("\s+", ErrorMessage="The text '{0}' did not pass validation of regex '{1}'")]
                 </example>
                 </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaValidatePatternAttribute.ValidateElement(System.Object)">
                <summary>
                Validates that each parameter argument matches the RegexPattern
                </summary>
                <param name="element">object to validate</param>
                <exception cref="T:System.Management.Automation.ValidationMetadataException">if <paramref name="element"/> is not a string
                 that matches the pattern
                 and for invalid arguments</exception>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaValidatePatternAttribute.#ctor(System.String)">
                <summary>
                Initializes a new instance of the PsfValidatePatternAttribute class
                </summary>
                <param name="regexPattern">Pattern string to match</param>
                <exception cref="T:System.ArgumentException">for invalid arguments</exception>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Utility.DbaValidateScriptAttribute">
                <summary>
                Class for validating against a script block.
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Utility.DbaValidateScriptAttribute.ErrorMessage">
                 <summary>
                 Gets or sets the custom error message that is displayed to the user.
                
                 The item being validated and the validating scriptblock is passed as the first and second
                 formatting argument.
                
                 <example>
                 [ValidateScript("$_ % 2", ErrorMessage = "The item '{0}' did not pass validation of script '{1}'")]
                 </example>
                 </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Utility.DbaValidateScriptAttribute.ScriptBlock">
                <summary>
                Gets the scriptblock to be used in the validation
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaValidateScriptAttribute.ValidateElement(System.Object)">
                <summary>
                Validates that each parameter argument matches the scriptblock
                </summary>
                <param name="element">object to validate</param>
                <exception cref="T:System.Management.Automation.ValidationMetadataException">if <paramref name="element"/> is invalid</exception>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaValidateScriptAttribute.#ctor(System.Management.Automation.ScriptBlock)">
                <summary>
                Initializes a new instance of the ValidateScriptBlockAttribute class
                </summary>
                <param name="scriptBlock">Scriptblock to match</param>
                <exception cref="T:System.ArgumentException">for invalid arguments</exception>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Utility.RegexHelper">
                <summary>
                Static class that holds useful regex patterns, ready for use
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Utility.RegexHelper.HostName">
                <summary>
                Pattern that checks for a valid hostname
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Utility.RegexHelper.HostNameEx">
                <summary>
                Pattern that checks for valid hostnames within a larger text
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Utility.RegexHelper.IPv4">
                <summary>
                Pattern that checks for a valid IPv4 address
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Utility.RegexHelper.IPv4Ex">
                <summary>
                Pattern that checks for valid IPv4 addresses within a larger text
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Utility.RegexHelper.IPv6">
                <summary>
                Will match a valid IPv6 address
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Utility.RegexHelper.IPv6Ex">
                <summary>
                Will match any IPv6 address within a larger text
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Utility.RegexHelper.ComputerTarget">
                <summary>
                Will match any string that in its entirety represents a valid target for dns- or ip-based targeting. Combination of HostName, IPv4 and IPv6
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Utility.RegexHelper.Guid">
                <summary>
                Will match a valid Guid
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Utility.RegexHelper.GuidEx">
                <summary>
                Will match any number of valid Guids in a larger text
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Utility.RegexHelper.InstanceName">
                <summary>
                Will match a mostly valid instance name.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Utility.RegexHelper.InstanceNameEx">
                <summary>
                Will match any instance of a mostly valid instance name.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Utility.RegexHelper.SqlReservedKeyword">
                <summary>
                Matches a word against the list of officially reserved keywords
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Utility.RegexHelper.SqlReservedKeywordEx">
                <summary>
                Will match any reserved keyword in a larger text
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Utility.RegexHelper.SqlReservedKeywordOdbc">
                <summary>
                Matches a word against the list of officially reserved keywords for odbc
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Utility.RegexHelper.SqlReservedKeywordOdbcEx">
                <summary>
                Will match any reserved odbc-keyword in a larger text
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Utility.RegexHelper.SqlReservedKeywordFuture">
                <summary>
                Matches a word against the list of keywords that are likely to become reserved in the future
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Utility.RegexHelper.SqlReservedKeywordFutureEx">
                <summary>
                Will match against the list of keywords that are likely to become reserved in the future and are used in a larger text
                </summary>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Utility.Size">
                <summary>
                Class that reports File size.
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Utility.Size.Byte">
                <summary>
                Number of bytes contained in whatever object uses this object as a property
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Utility.Size.Kilobyte">
                <summary>
                Kilobyte representation of the bytes
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Utility.Size.Megabyte">
                <summary>
                Megabyte representation of the bytes
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Utility.Size.Gigabyte">
                <summary>
                Gigabyte representation of the bytes
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Utility.Size.Terabyte">
                <summary>
                Terabyte representation of the bytes
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Utility.Size.Digits">
                <summary>
                Number if digits behind the dot.
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Utility.Size.Style">
                <summary>
                How the size object should be displayed.
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.Size.ToString">
                <summary>
                Shows the default string representation of size
                </summary>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.Size.Equals(System.Object)">
                <summary>
                Simple equality test
                </summary>
                <param name="obj">The object to test it against</param>
                <returns>True if equal, false elsewise</returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.Size.GetHashCode">
                <inheritdoc cref="M:System.Int64.GetHashCode"/>
                <remarks>The hashcode of the underlying size</remarks>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.Size.#ctor">
                <summary>
                Creates an empty size.
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.Size.#ctor(System.Int64)">
                <summary>
                Creates a size with some content
                </summary>
                <param name="Byte">The length in bytes to set the size to</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.Size.CompareTo(Sqlcollaborative.Dbatools.Utility.Size)">
                <inheritdoc cref="M:System.IComparable`1.CompareTo(`0)"/>
                <remarks>For sorting</remarks>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.Size.CompareTo(System.Object)">
                <inheritdoc cref="M:System.IComparable.CompareTo(System.Object)"/>
                <remarks>For sorting</remarks>
                <exception cref="T:System.ArgumentException">If you compare with something invalid.</exception>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.Size.op_Addition(Sqlcollaborative.Dbatools.Utility.Size,Sqlcollaborative.Dbatools.Utility.Size)">
                <summary>
                Adds two sizes
                </summary>
                <param name="a">The first size to add</param>
                <param name="b">The second size to add</param>
                <returns>The sum of both sizes</returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.Size.op_Subtraction(Sqlcollaborative.Dbatools.Utility.Size,Sqlcollaborative.Dbatools.Utility.Size)">
                <summary>
                Substracts two sizes
                </summary>
                <param name="a">The first size to substract</param>
                <param name="b">The second size to substract</param>
                <returns>The difference between both sizes</returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.Size.op_Multiply(Sqlcollaborative.Dbatools.Utility.Size,System.Double)">
                <summary>
                Multiplies two sizes with each other
                </summary>
                <param name="a">The size to multiply</param>
                <param name="b">The size to multiply with</param>
                <returns>A multiplied size.</returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.Size.op_Division(Sqlcollaborative.Dbatools.Utility.Size,System.Double)">
                <summary>
                Divides one size by another. 
                </summary>
                <param name="a">The size to divide</param>
                <param name="b">The size to divide with</param>
                <returns>Divided size (note: Cut off)</returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.Size.op_Multiply(Sqlcollaborative.Dbatools.Utility.Size,Sqlcollaborative.Dbatools.Utility.Size)">
                <summary>
                Multiplies two sizes with each other
                </summary>
                <param name="a">The size to multiply</param>
                <param name="b">The size to multiply with</param>
                <returns>A multiplied size.</returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.Size.op_Division(Sqlcollaborative.Dbatools.Utility.Size,Sqlcollaborative.Dbatools.Utility.Size)">
                <summary>
                Divides one size by another.
                </summary>
                <param name="a">The size to divide</param>
                <param name="b">The size to divide with</param>
                <returns>Divided size (note: Cut off)</returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.Size.op_Implicit(System.Int32)~Sqlcollaborative.Dbatools.Utility.Size">
                <summary>
                Implicitly converts int to size
                </summary>
                <param name="a">The number to convert</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.Size.op_Implicit(System.Decimal)~Sqlcollaborative.Dbatools.Utility.Size">
                <summary>
                Implicitly converts int to size
                </summary>
                <param name="a">The number to convert</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.Size.op_Implicit(Sqlcollaborative.Dbatools.Utility.Size)~System.Int32">
                <summary>
                Implicitly converts size to int
                </summary>
                <param name="a">The size to convert</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.Size.op_Implicit(System.Int64)~Sqlcollaborative.Dbatools.Utility.Size">
                <summary>
                Implicitly converts long to size
                </summary>
                <param name="a">The number to convert</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.Size.op_Implicit(Sqlcollaborative.Dbatools.Utility.Size)~System.Int64">
                <summary>
                Implicitly converts size to long
                </summary>
                <param name="a">The size to convert</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.Size.op_Implicit(System.String)~Sqlcollaborative.Dbatools.Utility.Size">
                <summary>
                Implicitly converts string to size
                </summary>
                <param name="a">The string to convert</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.Size.op_Implicit(System.Double)~Sqlcollaborative.Dbatools.Utility.Size">
                <summary>
                Implicitly converts double to size
                </summary>
                <param name="a">The number to convert</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.Size.op_Implicit(Sqlcollaborative.Dbatools.Utility.Size)~System.Double">
                <summary>
                Implicitly converts size to double
                </summary>
                <param name="a">The size to convert</param>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Utility.SizeStyle">
                <summary>
                How size objects should be displayed
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Utility.SizeStyle.Dynamic">
                <summary>
                The size object is styled dependend on the number stored within.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Utility.SizeStyle.Plain">
                <summary>
                The size object is shown as a plain number
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Utility.SizeStyle.Byte">
                <summary>
                The size object is styled as a byte number
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Utility.SizeStyle.Kilobyte">
                <summary>
                The size object is styled as a kilobyte number
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Utility.SizeStyle.Megabyte">
                <summary>
                The size object is styled as a megabyte number
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Utility.SizeStyle.Gigabyte">
                <summary>
                The size object is styled as a Gigabyte number
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Utility.SizeStyle.Terabyte">
                <summary>
                The size object is styled as a Terabyte number
                </summary>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Utility.UtilityHost">
                <summary>
                Provides static resources to utility-namespaced stuff
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Utility.UtilityHost.DisableCustomDateTime">
                <summary>
                Restores all DateTime objects to their default display behavior
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Utility.UtilityHost.DisableCustomTimeSpan">
                <summary>
                Restores all timespan objects to their default display behavior.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Utility.UtilityHost.FormatDate">
                <summary>
                Formating string for date-style datetime objects.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Utility.UtilityHost.FormatDateTime">
                <summary>
                Formating string for datetime-style datetime objects
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Utility.UtilityHost.FormatTime">
                <summary>
                Formating string for time-style datetime objects
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Utility.UtilityHost.SizeDigits">
                <summary>
                The number of digits a size object shows by default
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Utility.UtilityHost.SizeStyle">
                <summary>
                The way size objects are usually displayed
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.UtilityHost.IsLike(System.String,System.String,System.Boolean)">
                <summary>
                Implement's VB's Like operator logic.
                </summary>
                <param name="CaseSensitive">Whether the comparison is case sensitive</param>
                <param name="Pattern">The pattern the string is compared with</param>
                <param name="String">The string that is being compared with a pattern</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.UtilityHost.CompressString(System.String)">
                <summary>
                Compress string using default zip algorithms
                </summary>
                <param name="String">The string to compress</param>
                <returns>Returns a compressed string.</returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.UtilityHost.ExpandString(System.String)">
                <summary>
                Expand a string using default zig algorithms
                </summary>
                <param name="CompressedString">The compressed string to expand</param>
                <returns>Returns an expanded string.</returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.UtilityHost.CharListToSet(System.String)">
                <summary>
                Converts a string of characters to a HashSet of characters. If the string
                contains character ranges, such as A-Z, all characters in the range are
                also added to the returned set of characters.
                </summary>
                <param name="charList">Character list string</param>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Utility.UtilityHost.Callstack">
                <summary>
                Returns the current callstack
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Utility.UtilityHost._CallstackNew">
                <summary>
                Returns the current callstack on PS4+
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Utility.UtilityHost._CallstackOld">
                <summary>
                Returns the current callstack on PS3
                </summary>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Utility.Validation">
                <summary>
                Provides helper methods that aid in validating stuff.
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.Validation.IsLocalhost(System.String)">
                <summary>
                Tests whether a given string is the local host.
                Does NOT use DNS resolution, DNS aliases will NOT be recognized!
                </summary>
                <param name="Name">The name to test for being local host</param>
                <returns>Whether the name is localhost</returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.Validation.IsRecommendedInstanceName(System.String)">
                <summary>
                Tests whether a given string is a recommended instance name. Recommended names musst be legal, nbot on the ODBC list and not on the list of words likely to become reserved keywords in the future.
                </summary>
                <param name="InstanceName">The name to test. MAY contain server name, but will NOT test the server.</param>
                <returns>Whether the name is recommended</returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.Validation.IsValidComputerTarget(System.String)">
                <summary>
                Tests whether a given string is a valid target for targeting as a computer. Will first convert from idn name.
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.Validation.IsValidInstanceName(System.String,System.Boolean)">
                <summary>
                Tests whether a given string is a valid instance name.
                </summary>
                <param name="InstanceName">The name to test. MAY contain server name, but will NOT test the server.</param>
                <param name="Lenient">Setting this to true will make the validation ignore default and mssqlserver as illegal names (as they are illegal names for named instances, but legal for targeting)</param>
                <returns>Whether the name is legal</returns>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Validation.LinkedServerResult">
                <summary>
                The results of testing linked server connectivity as seen from the server that was linked to.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Validation.LinkedServerResult.ComputerName">
                <summary>
                The name of the server running the tests
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Validation.LinkedServerResult.InstanceName">
                <summary>
                The name of the instance running the tests
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Validation.LinkedServerResult.SqlInstance">
                <summary>
                The full name of the instance running the tests
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Validation.LinkedServerResult.LinkedServerName">
                <summary>
                The name of the linked server, the connectivity with whom was tested
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Validation.LinkedServerResult.RemoteServer">
                <summary>
                The name of the remote computer running the linked server.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Validation.LinkedServerResult.Connectivity">
                <summary>
                The test result
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Validation.LinkedServerResult.Result">
                <summary>
                Text interpretation of the result. Contains error messages if the test failed.
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Validation.LinkedServerResult.#ctor">
                <summary>
                Creates an empty object
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Validation.LinkedServerResult.#ctor(System.String,System.String,System.String,System.String,System.String,System.Boolean,System.String)">
                <summary>
                Creates a test result with prefilled values
                </summary>
                <param name="ComputerName">The name of the server running the tests</param>
                <param name="InstanceName">The name of the instance running the tests</param>
                <param name="SqlInstance">The full name of the instance running the tests</param>
                <param name="LinkedServerName">The name of the linked server, the connectivity with whom was tested</param>
                <param name="RemoteServer">The name of the remote computer running the linked server.</param>
                <param name="Connectivity">The test result</param>
                <param name="Result">Text interpretation of the result. Contains error messages if the test failed.</param>
            </member>
        </members>
    </doc>
    
  • tools\dbatools\bin\netcoreapp2.1\dbatools.deps.json Show
    {
      "runtimeTarget": {
        "name": ".NETCoreApp,Version=v2.1",
        "signature": "347fd959ec2fbdfda746c5752ff67a028ceedef4"
      },
      "compilationOptions": {},
      "targets": {
        ".NETCoreApp,Version=v2.1": {
          "dbatools/1.0.0": {
            "dependencies": {
              "Microsoft.Management.Infrastructure": "1.0.0",
              "System.Data.SqlClient": "4.5.1"
            },
            "runtime": {
              "dbatools.dll": {}
            }
          },
          "Microsoft.Management.Infrastructure/1.0.0": {
            "dependencies": {
              "System.Runtime.CompilerServices.VisualC": "4.3.0",
              "System.Runtime.Serialization.Xml": "4.3.0",
              "System.Security.SecureString": "4.3.0",
              "System.Threading.ThreadPool": "4.3.0"
            },
            "runtimeTargets": {
              "runtimes/unix/lib/netstandard1.6/Microsoft.Management.Infrastructure.Native.dll": {
                "rid": "unix",
                "assetType": "runtime",
                "assemblyVersion": "1.0.0.0",
                "fileVersion": "1.0.0.0"
              },
              "runtimes/unix/lib/netstandard1.6/Microsoft.Management.Infrastructure.dll": {
                "rid": "unix",
                "assetType": "runtime",
                "assemblyVersion": "1.0.0.0",
                "fileVersion": "10.0.10011.16384"
              },
              "runtimes/win-arm/lib/netstandard1.6/Microsoft.Management.Infrastructure.Native.dll": {
                "rid": "win-arm",
                "assetType": "runtime",
                "assemblyVersion": "1.0.0.0",
                "fileVersion": "10.0.16299.15"
              },
              "runtimes/win-arm/lib/netstandard1.6/Microsoft.Management.Infrastructure.dll": {
                "rid": "win-arm",
                "assetType": "runtime",
                "assemblyVersion": "1.0.0.0",
                "fileVersion": "10.0.16299.15"
              },
              "runtimes/win-arm64/lib/netstandard1.6/Microsoft.Management.Infrastructure.Native.dll": {
                "rid": "win-arm64",
                "assetType": "runtime",
                "assemblyVersion": "1.0.0.0",
                "fileVersion": "10.0.16299.15"
              },
              "runtimes/win-arm64/lib/netstandard1.6/Microsoft.Management.Infrastructure.dll": {
                "rid": "win-arm64",
                "assetType": "runtime",
                "assemblyVersion": "1.0.0.0",
                "fileVersion": "10.0.16299.15"
              },
              "runtimes/win10-x64/lib/netstandard1.6/Microsoft.Management.Infrastructure.Native.dll": {
                "rid": "win10-x64",
                "assetType": "runtime",
                "assemblyVersion": "1.0.0.0",
                "fileVersion": "10.0.16299.15"
              },
              "runtimes/win10-x64/lib/netstandard1.6/Microsoft.Management.Infrastructure.dll": {
                "rid": "win10-x64",
                "assetType": "runtime",
                "assemblyVersion": "1.0.0.0",
                "fileVersion": "10.0.16299.15"
              },
              "runtimes/win10-x86/lib/netstandard1.6/Microsoft.Management.Infrastructure.Native.dll": {
                "rid": "win10-x86",
                "assetType": "runtime",
                "assemblyVersion": "1.0.0.0",
                "fileVersion": "10.0.16299.15"
              },
              "runtimes/win10-x86/lib/netstandard1.6/Microsoft.Management.Infrastructure.dll": {
                "rid": "win10-x86",
                "assetType": "runtime",
                "assemblyVersion": "1.0.0.0",
                "fileVersion": "10.0.16299.15"
              },
              "runtimes/win7-x64/lib/netstandard1.6/Microsoft.Management.Infrastructure.Native.dll": {
                "rid": "win7-x64",
                "assetType": "runtime",
                "assemblyVersion": "1.0.0.0",
                "fileVersion": "10.0.16299.15"
              },
              "runtimes/win7-x64/lib/netstandard1.6/Microsoft.Management.Infrastructure.dll": {
                "rid": "win7-x64",
                "assetType": "runtime",
                "assemblyVersion": "1.0.0.0",
                "fileVersion": "10.0.16299.15"
              },
              "runtimes/win7-x86/lib/netstandard1.6/Microsoft.Management.Infrastructure.Native.dll": {
                "rid": "win7-x86",
                "assetType": "runtime",
                "assemblyVersion": "1.0.0.0",
                "fileVersion": "10.0.16299.15"
              },
              "runtimes/win7-x86/lib/netstandard1.6/Microsoft.Management.Infrastructure.dll": {
                "rid": "win7-x86",
                "assetType": "runtime",
                "assemblyVersion": "1.0.0.0",
                "fileVersion": "10.0.16299.15"
              },
              "runtimes/win8-x64/lib/netstandard1.6/Microsoft.Management.Infrastructure.Native.dll": {
                "rid": "win8-x64",
                "assetType": "runtime",
                "assemblyVersion": "1.0.0.0",
                "fileVersion": "10.0.16299.15"
              },
              "runtimes/win8-x64/lib/netstandard1.6/Microsoft.Management.Infrastructure.dll": {
                "rid": "win8-x64",
                "assetType": "runtime",
                "assemblyVersion": "1.0.0.0",
                "fileVersion": "10.0.16299.15"
              },
              "runtimes/win8-x86/lib/netstandard1.6/Microsoft.Management.Infrastructure.Native.dll": {
                "rid": "win8-x86",
                "assetType": "runtime",
                "assemblyVersion": "1.0.0.0",
                "fileVersion": "10.0.16299.15"
              },
              "runtimes/win8-x86/lib/netstandard1.6/Microsoft.Management.Infrastructure.dll": {
                "rid": "win8-x86",
                "assetType": "runtime",
                "assemblyVersion": "1.0.0.0",
                "fileVersion": "10.0.16299.15"
              },
              "runtimes/win81-x64/lib/netstandard1.6/Microsoft.Management.Infrastructure.Native.dll": {
                "rid": "win81-x64",
                "assetType": "runtime",
                "assemblyVersion": "1.0.0.0",
                "fileVersion": "10.0.16299.15"
              },
              "runtimes/win81-x64/lib/netstandard1.6/Microsoft.Management.Infrastructure.dll": {
                "rid": "win81-x64",
                "assetType": "runtime",
                "assemblyVersion": "1.0.0.0",
                "fileVersion": "10.0.16299.15"
              },
              "runtimes/win81-x86/lib/netstandard1.6/Microsoft.Management.Infrastructure.Native.dll": {
                "rid": "win81-x86",
                "assetType": "runtime",
                "assemblyVersion": "1.0.0.0",
                "fileVersion": "10.0.16299.15"
              },
              "runtimes/win81-x86/lib/netstandard1.6/Microsoft.Management.Infrastructure.dll": {
                "rid": "win81-x86",
                "assetType": "runtime",
                "assemblyVersion": "1.0.0.0",
                "fileVersion": "10.0.16299.15"
              },
              "runtimes/win-arm/native/Microsoft.Management.Infrastructure.Native.Unmanaged.dll": {
                "rid": "win-arm",
                "assetType": "native",
                "fileVersion": "10.0.16299.15"
              },
              "runtimes/win-arm/native/mi.dll": {
                "rid": "win-arm",
                "assetType": "native",
                "fileVersion": "10.0.16299.15"
              },
              "runtimes/win-arm/native/miutils.dll": {
                "rid": "win-arm",
                "assetType": "native",
                "fileVersion": "10.0.16299.15"
              },
              "runtimes/win-arm64/native/Microsoft.Management.Infrastructure.Native.Unmanaged.dll": {
                "rid": "win-arm64",
                "assetType": "native",
                "fileVersion": "10.0.16299.15"
              },
              "runtimes/win-arm64/native/mi.dll": {
                "rid": "win-arm64",
                "assetType": "native",
                "fileVersion": "10.0.16299.15"
              },
              "runtimes/win-arm64/native/miutils.dll": {
                "rid": "win-arm64",
                "assetType": "native",
                "fileVersion": "10.0.16299.15"
              },
              "runtimes/win10-x64/native/Microsoft.Management.Infrastructure.Native.Unmanaged.dll": {
                "rid": "win10-x64",
                "assetType": "native",
                "fileVersion": "10.0.14886.1000"
              },
              "runtimes/win10-x64/native/mi.dll": {
                "rid": "win10-x64",
                "assetType": "native",
                "fileVersion": "10.0.14886.1000"
              },
              "runtimes/win10-x64/native/miutils.dll": {
                "rid": "win10-x64",
                "assetType": "native",
                "fileVersion": "10.0.14886.1000"
              },
              "runtimes/win10-x86/native/Microsoft.Management.Infrastructure.Native.Unmanaged.dll": {
                "rid": "win10-x86",
                "assetType": "native",
                "fileVersion": "10.0.14394.1000"
              },
              "runtimes/win10-x86/native/mi.dll": {
                "rid": "win10-x86",
                "assetType": "native",
                "fileVersion": "10.0.14394.1000"
              },
              "runtimes/win10-x86/native/miutils.dll": {
                "rid": "win10-x86",
                "assetType": "native",
                "fileVersion": "10.0.14394.1000"
              },
              "runtimes/win7-x64/native/Microsoft.Management.Infrastructure.Native.Unmanaged.dll": {
                "rid": "win7-x64",
                "assetType": "native",
                "fileVersion": "10.0.14394.1000"
              },
              "runtimes/win7-x64/native/mi.dll": {
                "rid": "win7-x64",
                "assetType": "native",
                "fileVersion": "10.0.14394.1000"
              },
              "runtimes/win7-x64/native/miutils.dll": {
                "rid": "win7-x64",
                "assetType": "native",
                "fileVersion": "10.0.14394.1000"
              },
              "runtimes/win7-x86/native/Microsoft.Management.Infrastructure.Native.Unmanaged.dll": {
                "rid": "win7-x86",
                "assetType": "native",
                "fileVersion": "10.0.14394.1000"
              },
              "runtimes/win7-x86/native/mi.dll": {
                "rid": "win7-x86",
                "assetType": "native",
                "fileVersion": "10.0.14394.1000"
              },
              "runtimes/win7-x86/native/miutils.dll": {
                "rid": "win7-x86",
                "assetType": "native",
                "fileVersion": "10.0.14394.1000"
              },
              "runtimes/win8-x64/native/Microsoft.Management.Infrastructure.Native.Unmanaged.dll": {
                "rid": "win8-x64",
                "assetType": "native",
                "fileVersion": "10.0.14394.1000"
              },
              "runtimes/win8-x64/native/mi.dll": {
                "rid": "win8-x64",
                "assetType": "native",
                "fileVersion": "10.0.14394.1000"
              },
              "runtimes/win8-x64/native/miutils.dll": {
                "rid": "win8-x64",
                "assetType": "native",
                "fileVersion": "10.0.14394.1000"
              },
              "runtimes/win8-x86/native/Microsoft.Management.Infrastructure.Native.Unmanaged.dll": {
                "rid": "win8-x86",
                "assetType": "native",
                "fileVersion": "10.0.14394.1000"
              },
              "runtimes/win8-x86/native/mi.dll": {
                "rid": "win8-x86",
                "assetType": "native",
                "fileVersion": "10.0.14394.1000"
              },
              "runtimes/win8-x86/native/miutils.dll": {
                "rid": "win8-x86",
                "assetType": "native",
                "fileVersion": "10.0.14394.1000"
              },
              "runtimes/win81-x64/native/Microsoft.Management.Infrastructure.Native.Unmanaged.dll": {
                "rid": "win81-x64",
                "assetType": "native",
                "fileVersion": "10.0.14394.1000"
              },
              "runtimes/win81-x64/native/mi.dll": {
                "rid": "win81-x64",
                "assetType": "native",
                "fileVersion": "10.0.14394.1000"
              },
              "runtimes/win81-x64/native/miutils.dll": {
                "rid": "win81-x64",
                "assetType": "native",
                "fileVersion": "10.0.14394.1000"
              },
              "runtimes/win81-x86/native/Microsoft.Management.Infrastructure.Native.Unmanaged.dll": {
                "rid": "win81-x86",
                "assetType": "native",
                "fileVersion": "10.0.14394.1000"
              },
              "runtimes/win81-x86/native/mi.dll": {
                "rid": "win81-x86",
                "assetType": "native",
                "fileVersion": "10.0.14394.1000"
              },
              "runtimes/win81-x86/native/miutils.dll": {
                "rid": "win81-x86",
                "assetType": "native",
                "fileVersion": "10.0.14394.1000"
              }
            }
          },
          "Microsoft.Win32.Registry/4.5.0": {
            "dependencies": {
              "System.Security.AccessControl": "4.5.0",
              "System.Security.Principal.Windows": "4.5.0"
            },
            "runtimeTargets": {
              "runtime/unix/lib/_._": {
                "rid": "unix",
                "assetType": "runtime"
              },
              "runtime/win/lib/_._": {
                "rid": "win",
                "assetType": "runtime"
              }
            }
          },
          "runtime.native.System.Data.SqlClient.sni/4.4.0": {
            "dependencies": {
              "runtime.win-arm64.runtime.native.System.Data.SqlClient.sni": "4.4.0",
              "runtime.win-x64.runtime.native.System.Data.SqlClient.sni": "4.4.0",
              "runtime.win-x86.runtime.native.System.Data.SqlClient.sni": "4.4.0"
            }
          },
          "runtime.win-arm64.runtime.native.System.Data.SqlClient.sni/4.4.0": {
            "runtimeTargets": {
              "runtimes/win-arm64/native/sni.dll": {
                "rid": "win-arm64",
                "assetType": "native",
                "fileVersion": "4.6.25512.1"
              }
            }
          },
          "runtime.win-x64.runtime.native.System.Data.SqlClient.sni/4.4.0": {
            "runtimeTargets": {
              "runtimes/win-x64/native/sni.dll": {
                "rid": "win-x64",
                "assetType": "native",
                "fileVersion": "4.6.25512.1"
              }
            }
          },
          "runtime.win-x86.runtime.native.System.Data.SqlClient.sni/4.4.0": {
            "runtimeTargets": {
              "runtimes/win-x86/native/sni.dll": {
                "rid": "win-x86",
                "assetType": "native",
                "fileVersion": "4.6.25512.1"
              }
            }
          },
          "System.Collections/4.3.0": {
            "dependencies": {
              "System.Runtime": "4.3.0"
            }
          },
          "System.Collections.Concurrent/4.3.0": {
            "dependencies": {
              "System.Collections": "4.3.0",
              "System.Diagnostics.Debug": "4.3.0",
              "System.Diagnostics.Tracing": "4.3.0",
              "System.Globalization": "4.3.0",
              "System.Reflection": "4.3.0",
              "System.Resources.ResourceManager": "4.3.0",
              "System.Runtime": "4.3.0",
              "System.Runtime.Extensions": "4.3.0",
              "System.Threading": "4.3.0",
              "System.Threading.Tasks": "4.3.0"
            }
          },
          "System.Data.SqlClient/4.5.1": {
            "dependencies": {
              "Microsoft.Win32.Registry": "4.5.0",
              "System.Security.Principal.Windows": "4.5.0",
              "System.Text.Encoding.CodePages": "4.5.0",
              "runtime.native.System.Data.SqlClient.sni": "4.4.0"
            },
            "runtime": {
              "lib/netcoreapp2.1/System.Data.SqlClient.dll": {
                "assemblyVersion": "4.4.0.0",
                "fileVersion": "4.6.26606.5"
              }
            },
            "runtimeTargets": {
              "runtimes/unix/lib/netcoreapp2.1/System.Data.SqlClient.dll": {
                "rid": "unix",
                "assetType": "runtime",
                "assemblyVersion": "4.4.0.0",
                "fileVersion": "4.6.26606.5"
              },
              "runtimes/win/lib/netcoreapp2.1/System.Data.SqlClient.dll": {
                "rid": "win",
                "assetType": "runtime",
                "assemblyVersion": "4.4.0.0",
                "fileVersion": "4.6.26606.5"
              }
            }
          },
          "System.Diagnostics.Debug/4.3.0": {
            "dependencies": {
              "System.Runtime": "4.3.0"
            }
          },
          "System.Diagnostics.Tools/4.3.0": {
            "dependencies": {
              "System.Runtime": "4.3.0"
            }
          },
          "System.Diagnostics.Tracing/4.3.0": {
            "dependencies": {
              "System.Runtime": "4.3.0"
            }
          },
          "System.Globalization/4.3.0": {
            "dependencies": {
              "System.Runtime": "4.3.0"
            }
          },
          "System.IO/4.3.0": {
            "dependencies": {
              "System.Runtime": "4.3.0",
              "System.Text.Encoding": "4.3.0",
              "System.Threading.Tasks": "4.3.0"
            }
          },
          "System.IO.FileSystem/4.3.0": {
            "dependencies": {
              "System.IO": "4.3.0",
              "System.IO.FileSystem.Primitives": "4.3.0",
              "System.Runtime": "4.3.0",
              "System.Runtime.Handles": "4.3.0",
              "System.Text.Encoding": "4.3.0",
              "System.Threading.Tasks": "4.3.0"
            }
          },
          "System.IO.FileSystem.Primitives/4.3.0": {
            "dependencies": {
              "System.Runtime": "4.3.0"
            }
          },
          "System.Linq/4.3.0": {
            "dependencies": {
              "System.Collections": "4.3.0",
              "System.Diagnostics.Debug": "4.3.0",
              "System.Resources.ResourceManager": "4.3.0",
              "System.Runtime": "4.3.0",
              "System.Runtime.Extensions": "4.3.0"
            }
          },
          "System.Private.DataContractSerialization/4.3.0": {
            "dependencies": {
              "System.Collections": "4.3.0",
              "System.Collections.Concurrent": "4.3.0",
              "System.Diagnostics.Debug": "4.3.0",
              "System.Globalization": "4.3.0",
              "System.IO": "4.3.0",
              "System.Linq": "4.3.0",
              "System.Reflection": "4.3.0",
              "System.Reflection.Emit.ILGeneration": "4.3.0",
              "System.Reflection.Emit.Lightweight": "4.3.0",
              "System.Reflection.Extensions": "4.3.0",
              "System.Reflection.Primitives": "4.3.0",
              "System.Reflection.TypeExtensions": "4.3.0",
              "System.Resources.ResourceManager": "4.3.0",
              "System.Runtime": "4.3.0",
              "System.Runtime.Extensions": "4.3.0",
              "System.Runtime.Serialization.Primitives": "4.3.0",
              "System.Text.Encoding": "4.3.0",
              "System.Text.Encoding.Extensions": "4.3.0",
              "System.Text.RegularExpressions": "4.3.0",
              "System.Threading": "4.3.0",
              "System.Threading.Tasks": "4.3.0",
              "System.Xml.ReaderWriter": "4.3.0",
              "System.Xml.XDocument": "4.3.0",
              "System.Xml.XmlDocument": "4.3.0",
              "System.Xml.XmlSerializer": "4.3.0"
            }
          },
          "System.Reflection/4.3.0": {
            "dependencies": {
              "System.IO": "4.3.0",
              "System.Reflection.Primitives": "4.3.0",
              "System.Runtime": "4.3.0"
            }
          },
          "System.Reflection.Emit/4.3.0": {
            "dependencies": {
              "System.IO": "4.3.0",
              "System.Reflection": "4.3.0",
              "System.Reflection.Emit.ILGeneration": "4.3.0",
              "System.Reflection.Primitives": "4.3.0",
              "System.Runtime": "4.3.0"
            }
          },
          "System.Reflection.Emit.ILGeneration/4.3.0": {
            "dependencies": {
              "System.Reflection": "4.3.0",
              "System.Reflection.Primitives": "4.3.0",
              "System.Runtime": "4.3.0"
            }
          },
          "System.Reflection.Emit.Lightweight/4.3.0": {
            "dependencies": {
              "System.Reflection": "4.3.0",
              "System.Reflection.Emit.ILGeneration": "4.3.0",
              "System.Reflection.Primitives": "4.3.0",
              "System.Runtime": "4.3.0"
            }
          },
          "System.Reflection.Extensions/4.3.0": {
            "dependencies": {
              "System.Reflection": "4.3.0",
              "System.Runtime": "4.3.0"
            }
          },
          "System.Reflection.Primitives/4.3.0": {
            "dependencies": {
              "System.Runtime": "4.3.0"
            }
          },
          "System.Reflection.TypeExtensions/4.3.0": {
            "dependencies": {
              "System.Reflection": "4.3.0",
              "System.Runtime": "4.3.0"
            }
          },
          "System.Resources.ResourceManager/4.3.0": {
            "dependencies": {
              "System.Globalization": "4.3.0",
              "System.Reflection": "4.3.0",
              "System.Runtime": "4.3.0"
            }
          },
          "System.Runtime/4.3.0": {},
          "System.Runtime.CompilerServices.Unsafe/4.5.0": {
            "runtime": {
              "lib/netcoreapp2.0/System.Runtime.CompilerServices.Unsafe.dll": {
                "assemblyVersion": "4.0.4.0",
                "fileVersion": "0.0.0.0"
              }
            }
          },
          "System.Runtime.CompilerServices.VisualC/4.3.0": {
            "dependencies": {
              "System.Runtime": "4.3.0"
            }
          },
          "System.Runtime.Extensions/4.3.0": {
            "dependencies": {
              "System.Runtime": "4.3.0"
            }
          },
          "System.Runtime.Handles/4.3.0": {
            "dependencies": {
              "System.Runtime": "4.3.0"
            }
          },
          "System.Runtime.InteropServices/4.3.0": {
            "dependencies": {
              "System.Reflection": "4.3.0",
              "System.Reflection.Primitives": "4.3.0",
              "System.Runtime": "4.3.0",
              "System.Runtime.Handles": "4.3.0"
            }
          },
          "System.Runtime.Serialization.Primitives/4.3.0": {
            "dependencies": {
              "System.Resources.ResourceManager": "4.3.0",
              "System.Runtime": "4.3.0"
            }
          },
          "System.Runtime.Serialization.Xml/4.3.0": {
            "dependencies": {
              "System.IO": "4.3.0",
              "System.Private.DataContractSerialization": "4.3.0",
              "System.Runtime": "4.3.0",
              "System.Runtime.Serialization.Primitives": "4.3.0",
              "System.Text.Encoding": "4.3.0",
              "System.Xml.ReaderWriter": "4.3.0"
            }
          },
          "System.Security.AccessControl/4.5.0": {
            "dependencies": {
              "System.Security.Principal.Windows": "4.5.0"
            },
            "runtimeTargets": {
              "runtime/win/lib/_._": {
                "rid": "win",
                "assetType": "runtime"
              }
            }
          },
          "System.Security.Cryptography.Primitives/4.3.0": {
            "dependencies": {
              "System.Diagnostics.Debug": "4.3.0",
              "System.Globalization": "4.3.0",
              "System.IO": "4.3.0",
              "System.Resources.ResourceManager": "4.3.0",
              "System.Runtime": "4.3.0",
              "System.Threading": "4.3.0",
              "System.Threading.Tasks": "4.3.0"
            }
          },
          "System.Security.Principal.Windows/4.5.0": {
            "runtimeTargets": {
              "runtime/unix/lib/_._": {
                "rid": "unix",
                "assetType": "runtime"
              },
              "runtime/win/lib/_._": {
                "rid": "win",
                "assetType": "runtime"
              }
            }
          },
          "System.Security.SecureString/4.3.0": {
            "dependencies": {
              "System.Resources.ResourceManager": "4.3.0",
              "System.Runtime": "4.3.0",
              "System.Runtime.Handles": "4.3.0",
              "System.Runtime.InteropServices": "4.3.0",
              "System.Security.Cryptography.Primitives": "4.3.0",
              "System.Text.Encoding": "4.3.0",
              "System.Threading": "4.3.0"
            },
            "runtimeTargets": {
              "runtime/unix/lib/_._": {
                "rid": "unix",
                "assetType": "runtime"
              },
              "runtime/win/lib/_._": {
                "rid": "win",
                "assetType": "runtime"
              }
            }
          },
          "System.Text.Encoding/4.3.0": {
            "dependencies": {
              "System.Runtime": "4.3.0"
            }
          },
          "System.Text.Encoding.CodePages/4.5.0": {
            "dependencies": {
              "System.Runtime.CompilerServices.Unsafe": "4.5.0"
            },
            "runtime": {
              "lib/netstandard2.0/System.Text.Encoding.CodePages.dll": {
                "assemblyVersion": "4.1.1.0",
                "fileVersion": "4.6.26515.6"
              }
            },
            "runtimeTargets": {
              "runtimes/win/lib/netcoreapp2.0/System.Text.Encoding.CodePages.dll": {
                "rid": "win",
                "assetType": "runtime",
                "assemblyVersion": "4.1.1.0",
                "fileVersion": "4.6.26515.6"
              }
            }
          },
          "System.Text.Encoding.Extensions/4.3.0": {
            "dependencies": {
              "System.Runtime": "4.3.0",
              "System.Text.Encoding": "4.3.0"
            }
          },
          "System.Text.RegularExpressions/4.3.0": {
            "dependencies": {
              "System.Runtime": "4.3.0"
            }
          },
          "System.Threading/4.3.0": {
            "dependencies": {
              "System.Runtime": "4.3.0",
              "System.Threading.Tasks": "4.3.0"
            }
          },
          "System.Threading.Tasks/4.3.0": {
            "dependencies": {
              "System.Runtime": "4.3.0"
            }
          },
          "System.Threading.Tasks.Extensions/4.3.0": {
            "dependencies": {
              "System.Collections": "4.3.0",
              "System.Runtime": "4.3.0",
              "System.Threading.Tasks": "4.3.0"
            }
          },
          "System.Threading.ThreadPool/4.3.0": {
            "dependencies": {
              "System.Runtime": "4.3.0",
              "System.Runtime.Handles": "4.3.0"
            }
          },
          "System.Xml.ReaderWriter/4.3.0": {
            "dependencies": {
              "System.Collections": "4.3.0",
              "System.Diagnostics.Debug": "4.3.0",
              "System.Globalization": "4.3.0",
              "System.IO": "4.3.0",
              "System.IO.FileSystem": "4.3.0",
              "System.IO.FileSystem.Primitives": "4.3.0",
              "System.Resources.ResourceManager": "4.3.0",
              "System.Runtime": "4.3.0",
              "System.Runtime.Extensions": "4.3.0",
              "System.Runtime.InteropServices": "4.3.0",
              "System.Text.Encoding": "4.3.0",
              "System.Text.Encoding.Extensions": "4.3.0",
              "System.Text.RegularExpressions": "4.3.0",
              "System.Threading.Tasks": "4.3.0",
              "System.Threading.Tasks.Extensions": "4.3.0"
            }
          },
          "System.Xml.XDocument/4.3.0": {
            "dependencies": {
              "System.Collections": "4.3.0",
              "System.Diagnostics.Debug": "4.3.0",
              "System.Diagnostics.Tools": "4.3.0",
              "System.Globalization": "4.3.0",
              "System.IO": "4.3.0",
              "System.Reflection": "4.3.0",
              "System.Resources.ResourceManager": "4.3.0",
              "System.Runtime": "4.3.0",
              "System.Runtime.Extensions": "4.3.0",
              "System.Text.Encoding": "4.3.0",
              "System.Threading": "4.3.0",
              "System.Xml.ReaderWriter": "4.3.0"
            }
          },
          "System.Xml.XmlDocument/4.3.0": {
            "dependencies": {
              "System.Collections": "4.3.0",
              "System.Diagnostics.Debug": "4.3.0",
              "System.Globalization": "4.3.0",
              "System.IO": "4.3.0",
              "System.Resources.ResourceManager": "4.3.0",
              "System.Runtime": "4.3.0",
              "System.Runtime.Extensions": "4.3.0",
              "System.Text.Encoding": "4.3.0",
              "System.Threading": "4.3.0",
              "System.Xml.ReaderWriter": "4.3.0"
            }
          },
          "System.Xml.XmlSerializer/4.3.0": {
            "dependencies": {
              "System.Collections": "4.3.0",
              "System.Globalization": "4.3.0",
              "System.IO": "4.3.0",
              "System.Linq": "4.3.0",
              "System.Reflection": "4.3.0",
              "System.Reflection.Emit": "4.3.0",
              "System.Reflection.Emit.ILGeneration": "4.3.0",
              "System.Reflection.Extensions": "4.3.0",
              "System.Reflection.Primitives": "4.3.0",
              "System.Reflection.TypeExtensions": "4.3.0",
              "System.Resources.ResourceManager": "4.3.0",
              "System.Runtime": "4.3.0",
              "System.Runtime.Extensions": "4.3.0",
              "System.Text.RegularExpressions": "4.3.0",
              "System.Threading": "4.3.0",
              "System.Xml.ReaderWriter": "4.3.0",
              "System.Xml.XmlDocument": "4.3.0"
            }
          }
        }
      },
      "libraries": {
        "dbatools/1.0.0": {
          "type": "project",
          "serviceable": false,
          "sha512": ""
        },
        "Microsoft.Management.Infrastructure/1.0.0": {
          "type": "package",
          "serviceable": true,
          "sha512": "sha512-farHXHRCm0ZaioRlsQtHjb18sZ+X2jluOv3L/aOucXW83BmfHfXC7t+GtKZSK7Gd1y2lFh6R/pr31IpvRvZbOg==",
          "path": "microsoft.management.infrastructure/1.0.0",
          "hashPath": "microsoft.management.infrastructure.1.0.0.nupkg.sha512"
        },
        "Microsoft.Win32.Registry/4.5.0": {
          "type": "package",
          "serviceable": true,
          "sha512": "sha512-vduxuHEqRgRrTE8wYG8Wxj/+6wwzddOmZzjKZx6rFMc/91aUBxI5etAFYxesoNaIja5NpgSTcnk6cN8BeYXf9A==",
          "path": "microsoft.win32.registry/4.5.0",
          "hashPath": "microsoft.win32.registry.4.5.0.nupkg.sha512"
        },
        "runtime.native.System.Data.SqlClient.sni/4.4.0": {
          "type": "package",
          "serviceable": true,
          "sha512": "sha512-A8v6PGmk+UGbfWo5Ixup0lPM4swuSwOiayJExZwKIOjTlFFQIsu3QnDXECosBEyrWSPryxBVrdqtJyhK3BaupQ==",
          "path": "runtime.native.system.data.sqlclient.sni/4.4.0",
          "hashPath": "runtime.native.system.data.sqlclient.sni.4.4.0.nupkg.sha512"
        },
        "runtime.win-arm64.runtime.native.System.Data.SqlClient.sni/4.4.0": {
          "type": "package",
          "serviceable": true,
          "sha512": "sha512-LbrynESTp3bm5O/+jGL8v0Qg5SJlTV08lpIpFesXjF6uGNMWqFnUQbYBJwZTeua6E/Y7FIM1C54Ey1btLWupdg==",
          "path": "runtime.win-arm64.runtime.native.system.data.sqlclient.sni/4.4.0",
          "hashPath": "runtime.win-arm64.runtime.native.system.data.sqlclient.sni.4.4.0.nupkg.sha512"
        },
        "runtime.win-x64.runtime.native.System.Data.SqlClient.sni/4.4.0": {
          "type": "package",
          "serviceable": true,
          "sha512": "sha512-38ugOfkYJqJoX9g6EYRlZB5U2ZJH51UP8ptxZgdpS07FgOEToV+lS11ouNK2PM12Pr6X/PpT5jK82G3DwH/SxQ==",
          "path": "runtime.win-x64.runtime.native.system.data.sqlclient.sni/4.4.0",
          "hashPath": "runtime.win-x64.runtime.native.system.data.sqlclient.sni.4.4.0.nupkg.sha512"
        },
        "runtime.win-x86.runtime.native.System.Data.SqlClient.sni/4.4.0": {
          "type": "package",
          "serviceable": true,
          "sha512": "sha512-YhEdSQUsTx+C8m8Bw7ar5/VesXvCFMItyZF7G1AUY+OM0VPZUOeAVpJ4Wl6fydBGUYZxojTDR3I6Bj/+BPkJNA==",
          "path": "runtime.win-x86.runtime.native.system.data.sqlclient.sni/4.4.0",
          "hashPath": "runtime.win-x86.runtime.native.system.data.sqlclient.sni.4.4.0.nupkg.sha512"
        },
        "System.Collections/4.3.0": {
          "type": "package",
          "serviceable": true,
          "sha512": "sha512-3Dcj85/TBdVpL5Zr+gEEBUuFe2icOnLalmEh9hfck1PTYbbyWuZgh4fmm2ysCLTrqLQw6t3TgTyJ+VLp+Qb+Lw==",
          "path": "system.collections/4.3.0",
          "hashPath": "system.collections.4.3.0.nupkg.sha512"
        },
        "System.Collections.Concurrent/4.3.0": {
          "type": "package",
          "serviceable": true,
          "sha512": "sha512-ztl69Xp0Y/UXCL+3v3tEU+lIy+bvjKNUmopn1wep/a291pVPK7dxBd6T7WnlQqRog+d1a/hSsgRsmFnIBKTPLQ==",
          "path": "system.collections.concurrent/4.3.0",
          "hashPath": "system.collections.concurrent.4.3.0.nupkg.sha512"
        },
        "System.Data.SqlClient/4.5.1": {
          "type": "package",
          "serviceable": true,
          "sha512": "sha512-qXTvTFkBds7bnN+ntBMHGvmH3pCAkfT4TE1z2Xvfqo4wKMQC77O4aXsYCc7dzCESC+/Gom6l0GLuebpFx7MDvg==",
          "path": "system.data.sqlclient/4.5.1",
          "hashPath": "system.data.sqlclient.4.5.1.nupkg.sha512"
        },
        "System.Diagnostics.Debug/4.3.0": {
          "type": "package",
          "serviceable": true,
          "sha512": "sha512-ZUhUOdqmaG5Jk3Xdb8xi5kIyQYAA4PnTNlHx1mu9ZY3qv4ELIdKbnL/akbGaKi2RnNUWaZsAs31rvzFdewTj2g==",
          "path": "system.diagnostics.debug/4.3.0",
          "hashPath": "system.diagnostics.debug.4.3.0.nupkg.sha512"
        },
        "System.Diagnostics.Tools/4.3.0": {
          "type": "package",
          "serviceable": true,
          "sha512": "sha512-UUvkJfSYJMM6x527dJg2VyWPSRqIVB0Z7dbjHst1zmwTXz5CcXSYJFWRpuigfbO1Lf7yfZiIaEUesfnl/g5EyA==",
          "path": "system.diagnostics.tools/4.3.0",
          "hashPath": "system.diagnostics.tools.4.3.0.nupkg.sha512"
        },
        "System.Diagnostics.Tracing/4.3.0": {
          "type": "package",
          "serviceable": true,
          "sha512": "sha512-rswfv0f/Cqkh78rA5S8eN8Neocz234+emGCtTF3lxPY96F+mmmUen6tbn0glN6PMvlKQb9bPAY5e9u7fgPTkKw==",
          "path": "system.diagnostics.tracing/4.3.0",
          "hashPath": "system.diagnostics.tracing.4.3.0.nupkg.sha512"
        },
        "System.Globalization/4.3.0": {
          "type": "package",
          "serviceable": true,
          "sha512": "sha512-kYdVd2f2PAdFGblzFswE4hkNANJBKRmsfa2X5LG2AcWE1c7/4t0pYae1L8vfZ5xvE2nK/R9JprtToA61OSHWIg==",
          "path": "system.globalization/4.3.0",
          "hashPath": "system.globalization.4.3.0.nupkg.sha512"
        },
        "System.IO/4.3.0": {
          "type": "package",
          "serviceable": true,
          "sha512": "sha512-3qjaHvxQPDpSOYICjUoTsmoq5u6QJAFRUITgeT/4gqkF1bajbSmb1kwSxEA8AHlofqgcKJcM8udgieRNhaJ5Cg==",
          "path": "system.io/4.3.0",
          "hashPath": "system.io.4.3.0.nupkg.sha512"
        },
        "System.IO.FileSystem/4.3.0": {
          "type": "package",
          "serviceable": true,
          "sha512": "sha512-3wEMARTnuio+ulnvi+hkRNROYwa1kylvYahhcLk4HSoVdl+xxTFVeVlYOfLwrDPImGls0mDqbMhrza8qnWPTdA==",
          "path": "system.io.filesystem/4.3.0",
          "hashPath": "system.io.filesystem.4.3.0.nupkg.sha512"
        },
        "System.IO.FileSystem.Primitives/4.3.0": {
          "type": "package",
          "serviceable": true,
          "sha512": "sha512-6QOb2XFLch7bEc4lIcJH49nJN2HV+OC3fHDgsLVsBVBk3Y4hFAnOBGzJ2lUu7CyDDFo9IBWkSsnbkT6IBwwiMw==",
          "path": "system.io.filesystem.primitives/4.3.0",
          "hashPath": "system.io.filesystem.primitives.4.3.0.nupkg.sha512"
        },
        "System.Linq/4.3.0": {
          "type": "package",
          "serviceable": true,
          "sha512": "sha512-5DbqIUpsDp0dFftytzuMmc0oeMdQwjcP/EWxsksIz/w1TcFRkZ3yKKz0PqiYFMmEwPSWw+qNVqD7PJ889JzHbw==",
          "path": "system.linq/4.3.0",
          "hashPath": "system.linq.4.3.0.nupkg.sha512"
        },
        "System.Private.DataContractSerialization/4.3.0": {
          "type": "package",
          "serviceable": true,
          "sha512": "sha512-yDaJ2x3mMmjdZEDB4IbezSnCsnjQ4BxinKhRAaP6kEgL6Bb6jANWphs5SzyD8imqeC/3FxgsuXT6ykkiH1uUmA==",
          "path": "system.private.datacontractserialization/4.3.0",
          "hashPath": "system.private.datacontractserialization.4.3.0.nupkg.sha512"
        },
        "System.Reflection/4.3.0": {
          "type": "package",
          "serviceable": true,
          "sha512": "sha512-KMiAFoW7MfJGa9nDFNcfu+FpEdiHpWgTcS2HdMpDvt9saK3y/G4GwprPyzqjFH9NTaGPQeWNHU+iDlDILj96aQ==",
          "path": "system.reflection/4.3.0",
          "hashPath": "system.reflection.4.3.0.nupkg.sha512"
        },
        "System.Reflection.Emit/4.3.0": {
          "type": "package",
          "serviceable": true,
          "sha512": "sha512-228FG0jLcIwTVJyz8CLFKueVqQK36ANazUManGaJHkO0icjiIypKW7YLWLIWahyIkdh5M7mV2dJepllLyA1SKg==",
          "path": "system.reflection.emit/4.3.0",
          "hashPath": "system.reflection.emit.4.3.0.nupkg.sha512"
        },
        "System.Reflection.Emit.ILGeneration/4.3.0": {
          "type": "package",
          "serviceable": true,
          "sha512": "sha512-59tBslAk9733NXLrUJrwNZEzbMAcu8k344OYo+wfSVygcgZ9lgBdGIzH/nrg3LYhXceynyvTc8t5/GD4Ri0/ng==",
          "path": "system.reflection.emit.ilgeneration/4.3.0",
          "hashPath": "system.reflection.emit.ilgeneration.4.3.0.nupkg.sha512"
        },
        "System.Reflection.Emit.Lightweight/4.3.0": {
          "type": "package",
          "serviceable": true,
          "sha512": "sha512-oadVHGSMsTmZsAF864QYN1t1QzZjIcuKU3l2S9cZOwDdDueNTrqq1yRj7koFfIGEnKpt6NjpL3rOzRhs4ryOgA==",
          "path": "system.reflection.emit.lightweight/4.3.0",
          "hashPath": "system.reflection.emit.lightweight.4.3.0.nupkg.sha512"
        },
        "System.Reflection.Extensions/4.3.0": {
          "type": "package",
          "serviceable": true,
          "sha512": "sha512-rJkrJD3kBI5B712aRu4DpSIiHRtr6QlfZSQsb0hYHrDCZORXCFjQfoipo2LaMUHoT9i1B7j7MnfaEKWDFmFQNQ==",
          "path": "system.reflection.extensions/4.3.0",
          "hashPath": "system.reflection.extensions.4.3.0.nupkg.sha512"
        },
        "System.Reflection.Primitives/4.3.0": {
          "type": "package",
          "serviceable": true,
          "sha512": "sha512-5RXItQz5As4xN2/YUDxdpsEkMhvw3e6aNveFXUn4Hl/udNTCNhnKp8lT9fnc3MhvGKh1baak5CovpuQUXHAlIA==",
          "path": "system.reflection.primitives/4.3.0",
          "hashPath": "system.reflection.primitives.4.3.0.nupkg.sha512"
        },
        "System.Reflection.TypeExtensions/4.3.0": {
          "type": "package",
          "serviceable": true,
          "sha512": "sha512-7u6ulLcZbyxB5Gq0nMkQttcdBTx57ibzw+4IOXEfR+sXYQoHvjW5LTLyNr8O22UIMrqYbchJQJnos4eooYzYJA==",
          "path": "system.reflection.typeextensions/4.3.0",
          "hashPath": "system.reflection.typeextensions.4.3.0.nupkg.sha512"
        },
        "System.Resources.ResourceManager/4.3.0": {
          "type": "package",
          "serviceable": true,
          "sha512": "sha512-/zrcPkkWdZmI4F92gL/TPumP98AVDu/Wxr3CSJGQQ+XN6wbRZcyfSKVoPo17ilb3iOr0cCRqJInGwNMolqhS8A==",
          "path": "system.resources.resourcemanager/4.3.0",
          "hashPath": "system.resources.resourcemanager.4.3.0.nupkg.sha512"
        },
        "System.Runtime/4.3.0": {
          "type": "package",
          "serviceable": true,
          "sha512": "sha512-JufQi0vPQ0xGnAczR13AUFglDyVYt4Kqnz1AZaiKZ5+GICq0/1MH/mO/eAJHt/mHW1zjKBJd7kV26SrxddAhiw==",
          "path": "system.runtime/4.3.0",
          "hashPath": "system.runtime.4.3.0.nupkg.sha512"
        },
        "System.Runtime.CompilerServices.Unsafe/4.5.0": {
          "type": "package",
          "serviceable": true,
          "sha512": "sha512-6zBxkHYemB0kQiHP3vGXGRXejZVoNVuMn2paUuqKKi5Wyjkxfkp+D0rd0c3VrGwotidRINt6KpOi2smL4VkJKw==",
          "path": "system.runtime.compilerservices.unsafe/4.5.0",
          "hashPath": "system.runtime.compilerservices.unsafe.4.5.0.nupkg.sha512"
        },
        "System.Runtime.CompilerServices.VisualC/4.3.0": {
          "type": "package",
          "serviceable": true,
          "sha512": "sha512-/dcn1oXqK/p/VnTYWNSf4OXlFIfzCRE/kqWz4+/r5B2S4zlKifB1FqklEEYs5zmE1JE3syvrJ5U4syOwsDQZbA==",
          "path": "system.runtime.compilerservices.visualc/4.3.0",
          "hashPath": "system.runtime.compilerservices.visualc.4.3.0.nupkg.sha512"
        },
        "System.Runtime.Extensions/4.3.0": {
          "type": "package",
          "serviceable": true,
          "sha512": "sha512-guW0uK0fn5fcJJ1tJVXYd7/1h5F+pea1r7FLSOz/f8vPEqbR2ZAknuRDvTQ8PzAilDveOxNjSfr0CHfIQfFk8g==",
          "path": "system.runtime.extensions/4.3.0",
          "hashPath": "system.runtime.extensions.4.3.0.nupkg.sha512"
        },
        "System.Runtime.Handles/4.3.0": {
          "type": "package",
          "serviceable": true,
          "sha512": "sha512-OKiSUN7DmTWeYb3l51A7EYaeNMnvxwE249YtZz7yooT4gOZhmTjIn48KgSsw2k2lYdLgTKNJw/ZIfSElwDRVgg==",
          "path": "system.runtime.handles/4.3.0",
          "hashPath": "system.runtime.handles.4.3.0.nupkg.sha512"
        },
        "System.Runtime.InteropServices/4.3.0": {
          "type": "package",
          "serviceable": true,
          "sha512": "sha512-uv1ynXqiMK8mp1GM3jDqPCFN66eJ5w5XNomaK2XD+TuCroNTLFGeZ+WCmBMcBDyTFKou3P6cR6J/QsaqDp7fGQ==",
          "path": "system.runtime.interopservices/4.3.0",
          "hashPath": "system.runtime.interopservices.4.3.0.nupkg.sha512"
        },
        "System.Runtime.Serialization.Primitives/4.3.0": {
          "type": "package",
          "serviceable": true,
          "sha512": "sha512-Wz+0KOukJGAlXjtKr+5Xpuxf8+c8739RI1C+A2BoQZT+wMCCoMDDdO8/4IRHfaVINqL78GO8dW8G2lW/e45Mcw==",
          "path": "system.runtime.serialization.primitives/4.3.0",
          "hashPath": "system.runtime.serialization.primitives.4.3.0.nupkg.sha512"
        },
        "System.Runtime.Serialization.Xml/4.3.0": {
          "type": "package",
          "serviceable": true,
          "sha512": "sha512-nUQx/5OVgrqEba3+j7OdiofvVq9koWZAC7Z3xGI8IIViZqApWnZ5+lLcwYgTlbkobrl/Rat+Jb8GeD4WQESD2A==",
          "path": "system.runtime.serialization.xml/4.3.0",
          "hashPath": "system.runtime.serialization.xml.4.3.0.nupkg.sha512"
        },
        "System.Security.AccessControl/4.5.0": {
          "type": "package",
          "serviceable": true,
          "sha512": "sha512-aVjTe36YkO8FzfNhMLoPEzv3gF9rphoW9ngFhG/MH4zzEPLx07sNrgCLwMP4Wx2leI6qarMrGv21OwQXYUKLmw==",
          "path": "system.security.accesscontrol/4.5.0",
          "hashPath": "system.security.accesscontrol.4.5.0.nupkg.sha512"
        },
        "System.Security.Cryptography.Primitives/4.3.0": {
          "type": "package",
          "serviceable": true,
          "sha512": "sha512-7bDIyVFNL/xKeFHjhobUAQqSpJq9YTOpbEs6mR233Et01STBMXNAc/V+BM6dwYGc95gVh/Zf+iVXWzj3mE8DWg==",
          "path": "system.security.cryptography.primitives/4.3.0",
          "hashPath": "system.security.cryptography.primitives.4.3.0.nupkg.sha512"
        },
        "System.Security.Principal.Windows/4.5.0": {
          "type": "package",
          "serviceable": true,
          "sha512": "sha512-WA9ETb/pY3BjnxKjBUHEgO59B7d/nnmjHFsqjJ2eDT780nD769CT1/bw2ia0Z6W7NqlcqokE6sKGKa6uw88XGA==",
          "path": "system.security.principal.windows/4.5.0",
          "hashPath": "system.security.principal.windows.4.5.0.nupkg.sha512"
        },
        "System.Security.SecureString/4.3.0": {
          "type": "package",
          "serviceable": true,
          "sha512": "sha512-PnXp38O9q/2Oe4iZHMH60kinScv6QiiL2XH54Pj2t0Y6c2zKPEiAZsM/M3wBOHLNTBDFP0zfy13WN2M0qFz5jg==",
          "path": "system.security.securestring/4.3.0",
          "hashPath": "system.security.securestring.4.3.0.nupkg.sha512"
        },
        "System.Text.Encoding/4.3.0": {
          "type": "package",
          "serviceable": true,
          "sha512": "sha512-BiIg+KWaSDOITze6jGQynxg64naAPtqGHBwDrLaCtixsa5bKiR8dpPOHA7ge3C0JJQizJE+sfkz1wV+BAKAYZw==",
          "path": "system.text.encoding/4.3.0",
          "hashPath": "system.text.encoding.4.3.0.nupkg.sha512"
        },
        "System.Text.Encoding.CodePages/4.5.0": {
          "type": "package",
          "serviceable": true,
          "sha512": "sha512-16EVkWmNnoH3/Yj9c5s5VuLK5Uv/Dnkc3P2kMmnD7wJcUuvcHVvM2IhVJanf2hHRZUitH+cIkPCPHrBoCXc7Rw==",
          "path": "system.text.encoding.codepages/4.5.0",
          "hashPath": "system.text.encoding.codepages.4.5.0.nupkg.sha512"
        },
        "System.Text.Encoding.Extensions/4.3.0": {
          "type": "package",
          "serviceable": true,
          "sha512": "sha512-YVMK0Bt/A43RmwizJoZ22ei2nmrhobgeiYwFzC4YAN+nue8RF6djXDMog0UCn+brerQoYVyaS+ghy9P/MUVcmw==",
          "path": "system.text.encoding.extensions/4.3.0",
          "hashPath": "system.text.encoding.extensions.4.3.0.nupkg.sha512"
        },
        "System.Text.RegularExpressions/4.3.0": {
          "type": "package",
          "serviceable": true,
          "sha512": "sha512-RpT2DA+L660cBt1FssIE9CAGpLFdFPuheB7pLpKpn6ZXNby7jDERe8Ua/Ne2xGiwLVG2JOqziiaVCGDon5sKFA==",
          "path": "system.text.regularexpressions/4.3.0",
          "hashPath": "system.text.regularexpressions.4.3.0.nupkg.sha512"
        },
        "System.Threading/4.3.0": {
          "type": "package",
          "serviceable": true,
          "sha512": "sha512-VkUS0kOBcUf3Wwm0TSbrevDDZ6BlM+b/HRiapRFWjM5O0NS0LviG0glKmFK+hhPDd1XFeSdU1GmlLhb2CoVpIw==",
          "path": "system.threading/4.3.0",
          "hashPath": "system.threading.4.3.0.nupkg.sha512"
        },
        "System.Threading.Tasks/4.3.0": {
          "type": "package",
          "serviceable": true,
          "sha512": "sha512-LbSxKEdOUhVe8BezB/9uOGGppt+nZf6e1VFyw6v3DN6lqitm0OSn2uXMOdtP0M3W4iMcqcivm2J6UgqiwwnXiA==",
          "path": "system.threading.tasks/4.3.0",
          "hashPath": "system.threading.tasks.4.3.0.nupkg.sha512"
        },
        "System.Threading.Tasks.Extensions/4.3.0": {
          "type": "package",
          "serviceable": true,
          "sha512": "sha512-npvJkVKl5rKXrtl1Kkm6OhOUaYGEiF9wFbppFRWSMoApKzt2PiPHT2Bb8a5sAWxprvdOAtvaARS9QYMznEUtug==",
          "path": "system.threading.tasks.extensions/4.3.0",
          "hashPath": "system.threading.tasks.extensions.4.3.0.nupkg.sha512"
        },
        "System.Threading.ThreadPool/4.3.0": {
          "type": "package",
          "serviceable": true,
          "sha512": "sha512-k/+g4b7vjdd4aix83sTgC9VG6oXYKAktSfNIJUNGxPEj7ryEOfzHHhfnmsZvjxawwcD9HyWXKCXmPjX8U4zeSw==",
          "path": "system.threading.threadpool/4.3.0",
          "hashPath": "system.threading.threadpool.4.3.0.nupkg.sha512"
        },
        "System.Xml.ReaderWriter/4.3.0": {
          "type": "package",
          "serviceable": true,
          "sha512": "sha512-GrprA+Z0RUXaR4N7/eW71j1rgMnEnEVlgii49GZyAjTH7uliMnrOU3HNFBr6fEDBCJCIdlVNq9hHbaDR621XBA==",
          "path": "system.xml.readerwriter/4.3.0",
          "hashPath": "system.xml.readerwriter.4.3.0.nupkg.sha512"
        },
        "System.Xml.XDocument/4.3.0": {
          "type": "package",
          "serviceable": true,
          "sha512": "sha512-5zJ0XDxAIg8iy+t4aMnQAu0MqVbqyvfoUVl1yDV61xdo3Vth45oA2FoY4pPkxYAH5f8ixpmTqXeEIya95x0aCQ==",
          "path": "system.xml.xdocument/4.3.0",
          "hashPath": "system.xml.xdocument.4.3.0.nupkg.sha512"
        },
        "System.Xml.XmlDocument/4.3.0": {
          "type": "package",
          "serviceable": true,
          "sha512": "sha512-lJ8AxvkX7GQxpC6GFCeBj8ThYVyQczx2+f/cWHJU8tjS7YfI6Cv6bon70jVEgs2CiFbmmM8b9j1oZVx0dSI2Ww==",
          "path": "system.xml.xmldocument/4.3.0",
          "hashPath": "system.xml.xmldocument.4.3.0.nupkg.sha512"
        },
        "System.Xml.XmlSerializer/4.3.0": {
          "type": "package",
          "serviceable": true,
          "sha512": "sha512-MYoTCP7EZ98RrANESW05J5ZwskKDoN0AuZ06ZflnowE50LTpbR5yRg3tHckTVm5j/m47stuGgCrCHWePyHS70Q==",
          "path": "system.xml.xmlserializer/4.3.0",
          "hashPath": "system.xml.xmlserializer.4.3.0.nupkg.sha512"
        }
      }
    }
  • tools\dbatools\bin\netcoreapp2.1\dbatools.dll Show
    md5: C071E63932D16EB11E2CDC1CF133AD00 | sha1: B0259D2EE9811A433E1AEEB1AFE6C4F0EF37A55C | sha256: 2D6928D37E8DFD008A05E28373652182431866DB69C4521007686225483ABF59 | sha512: 73118BD626D4661EF8137D5B3A71E05766960596A2E9CC0B552DB2609C32BD93E62CA0ED09BF2C41C68AA66C114B3873D5C1222A98FF6C90AD3BC6324F202A38
  • tools\dbatools\bin\netcoreapp2.1\dbatools.pdb
  • tools\dbatools\bin\netcoreapp2.1\dbatools.xml Show
    <?xml version="1.0"?>
    <doc>
        <assembly>
            <name>dbatools</name>
        </assembly>
        <members>
            <member name="T:Sqlcollaborative.Dbatools.Commands.SelectDbaObjectCommand">
                <summary>
                Implements the Select-DbaObject command
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.SelectDbaObjectCommand.InputObject">
                <summary>
                The actual input object that is being processed
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.SelectDbaObjectCommand.Property">
                <summary>
                The properties to select. Supports fancy DSL
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.SelectDbaObjectCommand.ExcludeProperty">
                <summary>
                Properties to skip
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.SelectDbaObjectCommand.ExpandProperty">
                <summary>
                A property to expand.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.SelectDbaObjectCommand.Unique">
                <summary>
                Whether to exclude duplicates
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.SelectDbaObjectCommand.Last">
                <summary>
                The last number of items to pick
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.SelectDbaObjectCommand.First">
                <summary>
                Pick the first n items.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.SelectDbaObjectCommand.Skip">
                <summary>
                Skip n items before picking items
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.SelectDbaObjectCommand.SkipLast">
                <summary>
                Skip the last n items
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.SelectDbaObjectCommand.Wait">
                <summary>
                
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.SelectDbaObjectCommand.Index">
                <summary>
                
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.SelectDbaObjectCommand.ShowProperty">
                <summary>
                THe properties to display by default
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.SelectDbaObjectCommand.ShowExcludeProperty">
                <summary>
                The properties to NOT display by default
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.SelectDbaObjectCommand.TypeName">
                <summary>
                The typename to assign to the psobject
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.SelectDbaObjectCommand.KeepInputObject">
                <summary>
                Keep the original input object, just add to it.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.SelectDbaObjectCommand._NonclonedProperties">
                <summary>
                List of properties to NOT clone into the hashtable used against Select-Object
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.SelectDbaObjectCommand._NoAdjustment">
                <summary>
                Whether some adjustments to the object need to be done or whether the Select-Object output can be simply passed through.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.SelectDbaObjectCommand._DisplayPropertySet">
                <summary>
                The set controlling what properties will be shown by default
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.SelectDbaObjectCommand._Pipeline">
                <summary>
                THe pipeline that is wrapped around Select-Object
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Commands.SelectDbaObjectCommand.BeginProcessing">
                <summary>
                Implements the begin action of the command
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Commands.SelectDbaObjectCommand.ProcessRecord">
                <summary>
                Implements the process action of the command
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Commands.SelectDbaObjectCommand.EndProcessing">
                <summary>
                Implements the end action of the command
                </summary>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Commands.SetDbatoolsConfigCommand">
                <summary>
                Implements the Set-PSFConfig command
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.SetDbatoolsConfigCommand.FullName">
                <summary>
                The full name of the setting
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.SetDbatoolsConfigCommand.Module">
                <summary>
                The name of the module the setting belongs to.
                Is optional due to just specifying a name is legal, in which case the first name segment becomes the module name.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.SetDbatoolsConfigCommand.Name">
                <summary>
                The name of the setting within a module.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.SetDbatoolsConfigCommand.Value">
                <summary>
                The value to apply.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.SetDbatoolsConfigCommand.PersistedValue">
                <summary>
                The persisted value to apply.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.SetDbatoolsConfigCommand.PersistedType">
                <summary>
                The persisted type to apply.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.SetDbatoolsConfigCommand.Description">
                <summary>
                Add documentation to the setting.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.SetDbatoolsConfigCommand.Validation">
                <summary>
                The validation script to use.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.SetDbatoolsConfigCommand.Handler">
                <summary>
                The handling script to apply when changing the value.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.SetDbatoolsConfigCommand.Hidden">
                <summary>
                Whether the setting should be hidden from casual discovery.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.SetDbatoolsConfigCommand.Default">
                <summary>
                Whether the setting should be applied only when nothing exists yet.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.SetDbatoolsConfigCommand.Initialize">
                <summary>
                Whether this is the configuration initialization call.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.SetDbatoolsConfigCommand.SimpleExport">
                <summary>
                Enabling this will cause the module to use friendly json notation on export to file.
                This may result in loss of data precision, but is more userfriendly.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.SetDbatoolsConfigCommand.ModuleExport">
                <summary>
                Whether this setting applies to module scope file export.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.SetDbatoolsConfigCommand.DisableValidation">
                <summary>
                Do not apply the validation script when changing values.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.SetDbatoolsConfigCommand.DisableHandler">
                <summary>
                Do not run the handler script when changing values.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.SetDbatoolsConfigCommand.PassThru">
                <summary>
                Return the changed configuration setting.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.SetDbatoolsConfigCommand.EnableException">
                <summary>
                Enable throwing exceptions.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.SetDbatoolsConfigCommand._Config">
                <summary>
                The configuration item changed
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.SetDbatoolsConfigCommand._KillIt">
                <summary>
                Whether execution should be terminated silently.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.SetDbatoolsConfigCommand._Initialize">
                <summary>
                Whether this is an initialization execution.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.SetDbatoolsConfigCommand._Persisted">
                <summary>
                Whether persisted values need to be restored.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.SetDbatoolsConfigCommand._Exists">
                <summary>
                Whether the setting already exists.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.SetDbatoolsConfigCommand._PolicyEnforced">
                <summary>
                The setting to be affected was enforced by policy and cannot be changed by the user.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.SetDbatoolsConfigCommand._NameModule">
                <summary>
                Processed name of module.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.SetDbatoolsConfigCommand._NameName">
                <summary>
                Processed name of setting within module.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.SetDbatoolsConfigCommand._NameFull">
                <summary>
                Processed full name of setting.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.SetDbatoolsConfigCommand._ValidationErrorMessage">
                <summary>
                The reason validation failed.
                Filled by ApplyValue.
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Commands.SetDbatoolsConfigCommand.BeginProcessing">
                <summary>
                Implements the begin action of Set-PSFConfig
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Commands.SetDbatoolsConfigCommand.ProcessRecord">
                <summary>
                Implements the process action of Set-PSFConfig
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Commands.SetDbatoolsConfigCommand.ApplyValue(System.Object)">
                <summary>
                Applies a value to a configuration item, invoking validation and handler scriptblocks.
                </summary>
                <param name="Value">The value to apply</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Commands.SetDbatoolsConfigCommand.ApplyCommonSettings">
                <summary>
                Abstracts out 
                </summary>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Commands.WriteMessageCommand">
                <summary>
                Implements the Write-Message command, performing message handling and loggin
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.WriteMessageCommand.Level">
                <summary>
                This parameter represents the verbosity of the message. The lower the number, the more important it is for a human user to read the message.
                By default, the levels are distributed like this:
                - 1-3 Direct verbose output to the user (using Write-Host)
                - 4-6 Output only visible when requesting extra verbosity (using Write-Verbose)
                - 1-9 Debugging information, written using Write-Debug
                
                In addition, it is possible to select the level "Warning" which moves the message out of the configurable range:
                The user will always be shown this message, unless he silences the entire verbosity.
                
                Possible levels:
                Critical (1), Important / Output / Host (2), Significant (3), VeryVerbose (4), Verbose (5), SomewhatVerbose (6), System (7), Debug (8), InternalComment (9), Warning (666)
                Either one of the strings or its respective number will do as input.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.WriteMessageCommand.Message">
                <summary>
                The message to write/log. The function name and timestamp will automatically be prepended.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.WriteMessageCommand.Tag">
                <summary>
                Tags to add to the message written.
                This allows filtering and grouping by category of message, targeting specific messages.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.WriteMessageCommand.FunctionName">
                <summary>
                The name of the calling function.
                Will be automatically set, but can be overridden when necessary.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.WriteMessageCommand.ModuleName">
                <summary>
                The name of the module, the calling function is part of.
                Will be automatically set, but can be overridden when necessary.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.WriteMessageCommand.File">
                <summary>
                The file in which Write-Message was called.
                Will be automatically set, but can be overridden when necessary.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.WriteMessageCommand.Line">
                <summary>
                The line on which Write-Message was called.
                Will be automatically set, but can be overridden when necessary.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.WriteMessageCommand.ErrorRecord">
                <summary>
                If an error record should be noted with the message, add the full record here.
                Especially designed for use with Warning-mode, it can legally be used in either mode.
                The error will be added to the $Error variable and enqued in the logging/debugging system.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.WriteMessageCommand.Exception">
                <summary>
                Allows specifying an inner exception as input object. This will be passed on to the logging and used for messages.
                When specifying both ErrorRecord AND Exception, Exception wins, but ErrorRecord is still used for record metadata.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.WriteMessageCommand.Once">
                <summary>
                Setting this parameter will cause this function to write the message only once per session.
                The string passed here and the calling function's name are used to create a unique ID, which is then used to register the action in the configuration system.
                Thus will the lockout only be written if called once and not burden the system unduly.
                This lockout will be written as a hidden value, to see it use Get-DbaConfig -Force.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.WriteMessageCommand.OverrideExceptionMessage">
                <summary>
                Disables automatic appending of exception messages.
                Use in cases where you already have a speaking message interpretation and do not need the original message.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.WriteMessageCommand.Target">
                <summary>
                Add the object the message is all about, in order to simplify debugging / troubleshooting.
                For example, when calling this from a function targeting a remote computer, the computername could be specified here, allowing all messages to easily be correlated to the object processed.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.WriteMessageCommand.EnableException">
                <summary>
                This parameters disables user-friendly warnings and enables the throwing of exceptions.
                This is less user friendly, but allows catching exceptions in calling scripts.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.WriteMessageCommand.Breakpoint">
                <summary>
                Enables breakpoints on the current message. By default, setting '-Debug' will NOT cause an interrupt on the current position.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.WriteMessageCommand._timestamp">
                <summary>
                The start time of the cmdlet
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.WriteMessageCommand._silent">
                <summary>
                Whether this cmdlet is run in silent mode
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.WriteMessageCommand._fromStopFunction">
                <summary>
                Whether this cmdlet was called by Stop-Function
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.WriteMessageCommand._callStack">
                <summary>
                The current callstack
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.WriteMessageCommand._stackDepth">
                <summary>
                How many items exist on the callstack
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.WriteMessageCommand._message">
                <summary>
                The message to write
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.WriteMessageCommand._messageSimple">
                <summary>
                The message simplified without timestamps. Used for logging.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.WriteMessageCommand._messageColor">
                <summary>
                The message to write in color
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.WriteMessageCommand._messageDeveloper">
                <summary>
                Non-colored version of developermode
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.WriteMessageCommand._messageDeveloperColor">
                <summary>
                Colored version of developermode
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.WriteMessageCommand._writeHostScript">
                <summary>
                Scriptblock that writes the host messages
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.WriteMessageCommand._Tags">
                <summary>
                List of tags to process
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Commands.WriteMessageCommand._isDebug">
                <summary>
                Whether debug mode is enabled
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Commands.WriteMessageCommand._errorQualifiedMessage">
                <summary>
                The input message with the error content included if desired
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Commands.WriteMessageCommand._MessageSystem">
                <summary>
                The final message to use for internal logging
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Commands.WriteMessageCommand._MessageStreams">
                <summary>
                The final message to use for writing to streams, such as verbose or warning
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Commands.WriteMessageCommand._MessageHost">
                <summary>
                The final message to use for host messages (write using Write-HostColor)
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Commands.WriteMessageCommand._BreadCrumbsString">
                <summary>
                Provide breadcrumb queue of the callstack
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Commands.WriteMessageCommand._BreadCrumbsStringColored">
                <summary>
                Provide a breadcrumb queue of the callstack in color tags
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Commands.WriteMessageCommand.BeginProcessing">
                <summary>
                Processes the begin phase of the cmdlet
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Commands.WriteMessageCommand.ProcessRecord">
                <summary>
                Processes the process phase of the cmdlet
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Commands.WriteMessageCommand.ResolveTarget(System.Object)">
                <summary>
                Processes the target transform rules on an input object
                </summary>
                <param name="Item">The item to transform</param>
                <returns>The transformed object</returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Commands.WriteMessageCommand.ResolveException(System.Exception)">
                <summary>
                Processes the specified exception specified
                </summary>
                <param name="Item">The exception to process</param>
                <returns>The transformed exception</returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Commands.WriteMessageCommand.ResolveLevel(Sqlcollaborative.Dbatools.Message.MessageLevel)">
                <summary>
                Processs the input level and apply policy and rules
                </summary>
                <param name="Level">The original level of the message</param>
                <returns>The processed level</returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Commands.WriteMessageCommand.GetMessage">
                <summary>
                Builds the message item for display of Verbose, Warning and Debug streams
                </summary>
                <returns>The message to return</returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Commands.WriteMessageCommand.GetMessageSimple">
                <summary>
                Builds the base message for internal system use.
                </summary>
                <returns>The message to return</returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Commands.WriteMessageCommand.GetMessageColor">
                <summary>
                Builds the message item if needed and returns it
                </summary>
                <returns>The message to return</returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Commands.WriteMessageCommand.GetMessageDeveloper">
                <summary>
                Non-host output in developermode
                </summary>
                <returns>The string to write on messages that don't go straight to Write-HostColor</returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Commands.WriteMessageCommand.GetMessageDeveloperColor">
                <summary>
                Host output in developermode
                </summary>
                <returns>The string to write on messages that go straight to Write-HostColor</returns>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Computer.DiskSpace">
                <summary>
                Data Container for the output of Get-DbaDiskSpace
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Computer.DiskSpace.ComputerName">
                <summary>
                The computer that was scanned
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Computer.DiskSpace.Name">
                <summary>
                Name of the disk
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Computer.DiskSpace.Label">
                <summary>
                Label of the disk
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Computer.DiskSpace.Capacity">
                <summary>
                What's the total capacity of the disk?
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Computer.DiskSpace.Free">
                <summary>
                How much is still free?
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Computer.DiskSpace.PercentFree">
                <summary>
                How much is still free
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Computer.DiskSpace.BlockSize">
                <summary>
                What blocksize is the object set to
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Computer.DiskSpace.FileSystem">
                <summary>
                What filesystem is installed on the system
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Computer.DiskSpace.Type">
                <summary>
                What kind of drive is it?
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Computer.DiskSpace.IsSqlDisk">
                <summary>
                Whether the drive is a sql disk. Nullable, because it is an optional property and may not always be included, thus a third state is necessary.
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Computer.DiskSpace.Server">
                <summary>
                The computer that was scanned. Legacy-Name
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Computer.DiskSpace.DriveType">
                <summary>
                The type of drive this is in the legacy string notation
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Computer.DiskSpace.SizeInBytes">
                <summary>
                The total capacity in Bytes
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Computer.DiskSpace.FreeInBytes">
                <summary>
                The free space in Bytes
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Computer.DiskSpace.SizeInKB">
                <summary>
                The total capacity in KB
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Computer.DiskSpace.FreeInKB">
                <summary>
                The free space in KB
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Computer.DiskSpace.SizeInMB">
                <summary>
                The total capacity in MB
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Computer.DiskSpace.FreeInMB">
                <summary>
                The free space in MB
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Computer.DiskSpace.SizeInGB">
                <summary>
                The total capacity in GB
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Computer.DiskSpace.FreeInGB">
                <summary>
                The free space in GB
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Computer.DiskSpace.SizeInTB">
                <summary>
                The total capacity in TB
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Computer.DiskSpace.FreeInTB">
                <summary>
                The free space in TB
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Computer.DiskSpace.SizeInPB">
                <summary>
                The total capacity in PB
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Computer.DiskSpace.FreeInPB">
                <summary>
                The free space in PB
                </summary>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Computer.DriveType">
                <summary>
                What kind of drive are you?
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Computer.DriveType.Unknown">
                <summary>
                The drive type is not actually known
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Computer.DriveType.NoRootDirectory">
                <summary>
                The drive has no root directory
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Computer.DriveType.RemovableDisk">
                <summary>
                The drive is a removable disk
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Computer.DriveType.LocalDisk">
                <summary>
                The drive is a local disk
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Computer.DriveType.NetworkDrive">
                <summary>
                The drive is a network drive
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Computer.DriveType.CompactDisk">
                <summary>
                The drive is a compact disk
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Computer.DriveType.RAMDisk">
                <summary>
                The drive is a RAM disk
                </summary>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Computer.PageFileSetting">
                <summary>
                Data container, listing pagefile settings.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Computer.PageFileSetting.ComputerName">
                <summary>
                The name of the computer
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Computer.PageFileSetting.AutoPageFile">
                <summary>
                Whether Automatic PageFile management is enabled
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Computer.PageFileSetting.FileName">
                <summary>
                The pagefile name
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Computer.PageFileSetting.Status">
                <summary>
                The pagefile status
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Computer.PageFileSetting.SystemManaged">
                <summary>
                Whether the pagefile is system managed
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Computer.PageFileSetting.LastModified">
                <summary>
                When were the settings last changed
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Computer.PageFileSetting.LastAccessed">
                <summary>
                When were the settings last accessed
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Computer.PageFileSetting.AllocatedBaseSize">
                <summary>
                The base allocated pagefile size in MB
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Computer.PageFileSetting.InitialSize">
                <summary>
                The initial pagefile size in MB
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Computer.PageFileSetting.MaximumSize">
                <summary>
                The maximum pagefile size in MB
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Computer.PageFileSetting.PeakUsage">
                <summary>
                The maximum percent of the pagefile limit that has been used
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Computer.PageFileSetting.CurrentUsage">
                <summary>
                The currently used percentage of the pagefile limit that is in use.
                </summary>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Configuration.Config">
                <summary>
                Configuration Manager as well as individual configuration object.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Configuration.Config.Name">
                <summary>
                The Name of the setting
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Configuration.Config.FullName">
                <summary>
                The full name of the configuration entry, comprised of both Module and Name.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Configuration.Config.Module">
                <summary>
                The module of the setting. Helps being able to group configurations.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Configuration.Config.Description">
                <summary>
                A description of the specific setting
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Configuration.Config.Type">
                <summary>
                The data type of the value stored in the configuration element.
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Configuration.Config.Value">
                <summary>
                The value stored in the configuration element
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Configuration.Config.SafeValue">
                <summary>
                The value stored in the configuration element, but without deserializing objects.
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Configuration.Config.Unchanged">
                <summary>
                Whether the value of the configuration setting has been changed since its initialization.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Configuration.Config.Handler">
                <summary>
                The handler script that is run whenever the configuration value is set.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Configuration.Config.Validation">
                <summary>
                Validates the user input
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Configuration.Config.Hidden">
                <summary>
                Setting this to true will cause the element to not be discovered unless using the '-Force' parameter on "Get-DbaConfig"
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Configuration.Config.Initialized">
                <summary>
                Whether the setting has been initialized. This handles module imports and avoids modules overwriting settings when imported in multiple runspaces.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Configuration.Config.PolicySet">
                <summary>
                Whether this setting was set by policy
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Configuration.Config.PolicyEnforced">
                <summary>
                Whether this setting was set by policy and forbids changes to the configuration.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Configuration.Config.SimpleExport">
                <summary>
                Enabling this causes export to json to use simple json serialization for data transmission.
                This is suitable for simple data that is not sensitive to conversion losses.
                Simple export leads to exports more easily readable to the human eye.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Configuration.Config.ModuleExport">
                <summary>
                Whether this setting should be exported to a module specific file when exporting to json by modulename.
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Configuration.Config.RegistryData">
                <summary>
                The finalized value to put into the registry value when using policy to set this setting.
                Deprecated property.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Configuration.Config.DefaultValue">
                <summary>
                The default value the configuration item was set to when initializing
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Configuration.Config.SetPersistedValue(Sqlcollaborative.Dbatools.Configuration.ConfigurationValueType,System.String)">
                <summary>
                Applies the persisted value to the configuration item.
                This method should only be called by PSFramework internals
                </summary>
                <param name="Type">The type of data being specified</param>
                <param name="ValueString">The value string to register</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Configuration.Config.ResetValue">
                <summary>
                Resets the configuration value to its configured default value
                </summary>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Configuration.ConfigScope">
                <summary>
                The location where a setting was applied
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Configuration.ConfigScope.UserDefault">
                <summary>
                The configuration is set as default value for the user
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Configuration.ConfigScope.UserMandatory">
                <summary>
                The configuration is enforced for the user
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Configuration.ConfigScope.SystemDefault">
                <summary>
                The configuration is set as default value for all users on the system
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Configuration.ConfigScope.SystemMandatory">
                <summary>
                The configuration is enforced for all users on the system.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Configuration.ConfigScope.FileUserLocal">
                <summary>
                The configuration is stored as Json in the per user local machine config directory.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Configuration.ConfigScope.FileUserShared">
                <summary>
                The configuration is stored as Json in the per user config directory shared across machines.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Configuration.ConfigScope.FileSystem">
                <summary>
                The configuration is stored as Json in the local computer config directory.
                </summary>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Configuration.ConfigurationHost">
                <summary>
                Host class providing static configuration settings that are constant across all runspaces within the process.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Configuration.ConfigurationHost.Configurations">
                <summary>
                Hashtable containing all the configuration entries
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Configuration.ConfigurationHost.Validation">
                <summary>
                Hashtable containing all the registered validations
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Configuration.ConfigurationHost.ImportFromRegistryDone">
                <summary>
                Whether the import from registry has been completed. Prevents multiple imports and overwrites when importing the module multiple times.
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Configuration.ConfigurationHost.ConvertToPersistedValue(System.Object)">
                <summary>
                Converts any object into its persisted state.
                </summary>
                <param name="Item">The item to convert.</param>
                <returns>Its persisted state representation.</returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Configuration.ConfigurationHost.ConvertFromPersistedValue(System.String,Sqlcollaborative.Dbatools.Configuration.ConfigurationValueType)">
                <summary>
                Converts a persisted value back to its original data type
                </summary>
                <param name="PersistedValue">The value in its persisted state</param>
                <param name="Type">The type of the persisted value</param>
                <returns>The natural state of the value originally persisted</returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Configuration.ConfigurationHost.ConvertFromPersistedValue(System.String)">
                <summary>
                Converts a persisted value back to its original data type
                </summary>
                <param name="TypeQualifiedPersistedValue">The value in its persisted state, with a prefixed type identifier.</param>
                <returns>The natural state of the value originally persisted</returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Configuration.ConfigurationHost.Utf8ToBase64(System.String)">
                <summary>
                Converts a plain text into a base64 string
                </summary>
                <param name="Value">The string to convert</param>
                <returns>base64 encoded version of string.</returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Configuration.ConfigurationHost.Base64ToUtf8(System.String)">
                <summary>
                Converts a base64 encoded string into plain text
                </summary>
                <param name="Value">The string to convert</param>
                <returns>Plain Text string</returns>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Configuration.ConfigurationValue">
                <summary>
                Contains all information about a configuration item's value
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Configuration.ConfigurationValue.Value">
                <summary>
                The runtime value of the setting.
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Configuration.ConfigurationValue.PersistedValue">
                <summary>
                The value in its persisted state
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Configuration.ConfigurationValue.PersistedType">
                <summary>
                The kind of 
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Configuration.ConfigurationValue.TypeQualifiedPersistedValue">
                <summary>
                The type qualified representation of the persisted value
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Configuration.ConfigurationValue.SafeValue">
                <summary>
                Ensures wanton Get-PSFConfig will not deserialize persisted objects that might have registered deserialization in their module.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Configuration.ConfigurationValue._Value">
                <summary>
                Internal storage for the Value property
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Configuration.ConfigurationValue._PersistedValue">
                <summary>
                Internal storage for the PersistedValue property
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Configuration.ConfigurationValue.ToString">
                <summary>
                The string representation of its actual value
                </summary>
                <returns>Returns the type-qualified string representation of its value</returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Configuration.ConfigurationValue.#ctor(System.String,Sqlcollaborative.Dbatools.Configuration.ConfigurationValueType)">
                <summary>
                Creates a value object from persisted data
                </summary>
                <param name="PersistedValue">The value that will be persisted</param>
                <param name="PersistedType">The type of the value to be persisted</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Configuration.ConfigurationValue.#ctor(System.Object)">
                <summary>
                Creates a value object from runtime data
                </summary>
                <param name="Value">The value that will be stored</param>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Configuration.ConfigurationValueType">
                <summary>
                The data types supported by the configuration system.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Configuration.ConfigurationValueType.Unknown">
                <summary>
                An unknown type, should be prevented
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Configuration.ConfigurationValueType.Null">
                <summary>
                The value is as empty as the void.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Configuration.ConfigurationValueType.Bool">
                <summary>
                The value is of a true/false kind
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Configuration.ConfigurationValueType.Int">
                <summary>
                The value is a regular integer
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Configuration.ConfigurationValueType.Double">
                <summary>
                The value is a double numeric value
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Configuration.ConfigurationValueType.Long">
                <summary>
                The value is a long type
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Configuration.ConfigurationValueType.String">
                <summary>
                The value is a common string
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Configuration.ConfigurationValueType.Timespan">
                <summary>
                The value is a regular timespan
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Configuration.ConfigurationValueType.Datetime">
                <summary>
                The value is a plain datetime
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Configuration.ConfigurationValueType.ConsoleColor">
                <summary>
                The value is a fancy console color
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Configuration.ConfigurationValueType.Array">
                <summary>
                The value is an array full of booty
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Configuration.ConfigurationValueType.Hashtable">
                <summary>
                The value is a hashtable
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Configuration.ConfigurationValueType.Object">
                <summary>
                The value is something indeterminate, but possibly complex
                </summary>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Connection.ConnectionHost">
                <summary>
                Provides static tools for managing connections
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Connection.ConnectionHost.Connections">
                <summary>
                List of all registered connections.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Connection.ConnectionHost.BadConnectionTimeout">
                <summary>
                The time interval that must pass, before a connection using a known to not work connection protocol is reattempted
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Connection.ConnectionHost.DisableCache">
                <summary>
                Globally disables all caching done by the Computer Management functions.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Connection.ConnectionHost.DisableBadCredentialCache">
                <summary>
                Disables the caching of bad credentials. dbatools caches bad logon credentials for wmi/cim and will not reuse them.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Connection.ConnectionHost.DisableCredentialAutoRegister">
                <summary>
                Disables the automatic registration of working credentials. dbatools will caches the last working credential when connecting using wmi/cim and will use those rather than using known bad credentials
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Connection.ConnectionHost.OverrideExplicitCredential">
                <summary>
                Enabling this will force the use of the last credentials known to work, rather than even trying explicit credentials.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Connection.ConnectionHost.EnableCredentialFailover">
                <summary>
                Enables automatic failover to working credentials, when passed credentials either are known, or turn out to not work.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Connection.ConnectionHost.DisableCimPersistence">
                <summary>
                Globally disables the persistence of Cim sessions used to connect to a target system.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Connection.ConnectionHost.DisableConnectionCimRM">
                <summary>
                Whether the CM connection using Cim over WinRM is disabled globally
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Connection.ConnectionHost.DisableConnectionCimDCOM">
                <summary>
                Whether the CM connection using Cim over DCOM is disabled globally
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Connection.ConnectionHost.DisableConnectionWMI">
                <summary>
                Whether the CM connection using WMI is disabled globally
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Connection.ConnectionHost.DisableConnectionPowerShellRemoting">
                <summary>
                Whether the CM connection using PowerShell Remoting is disabled globally
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Connection.ConnectionHost.SqlConnectionTimeout">
                <summary>
                The number of seconds before a sql connection attempt times out
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Connection.ConnectionHost.PSSessions">
                <summary>
                List of all session containers used to maintain a cache
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Connection.ConnectionHost.PSSessionGet(System.Guid,System.String)">
                <summary>
                Returns a registered session for a given computer on a given runspace. Returns null if nothing is registered.
                </summary>
                <param name="Runspace">The host runspace that opened the session</param>
                <param name="ComputerName">The computer connected to</param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Connection.ConnectionHost.PSSessionSet(System.Guid,System.String,System.Management.Automation.Runspaces.PSSession)">
                <summary>
                Registeres a remote session under the owning runspace in its respective computer name
                </summary>
                <param name="Runspace">The runspace that owns the session</param>
                <param name="ComputerName">The computer the session connects to</param>
                <param name="Session">The session object</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Connection.ConnectionHost.PSSessionPurgeExpired">
                <summary>
                Searches the cache for an expired remoting session and purges it. After purging it from the list, it still needs to be closed!
                </summary>
                <returns>The session purged that then needs to be closed</returns>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Connection.ConnectionHost.PSSessionCountExpired">
                <summary>
                The number of expired sessions 
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Connection.ConnectionHost.PSSessionTimeout">
                <summary>
                The time until established connections will be considered expired (if available)
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Connection.ConnectionHost.PSSessionCacheEnabled">
                <summary>
                Whether sessions should be cached at all
                </summary>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Connection.ManagementConnection">
                <summary>
                Contains management connection information for a windows server
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Connection.ManagementConnection.ComputerName">
                <summary>
                The computer to connect to
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Connection.ManagementConnection.DisableBadCredentialCache">
                <summary>
                Locally disables the caching of bad credentials
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Connection.ManagementConnection.DisableCredentialAutoRegister">
                <summary>
                Locally disables the caching of working credentials
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Connection.ManagementConnection.OverrideExplicitCredential">
                <summary>
                Locally overrides explicit credentials with working ones that were cached
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Connection.ManagementConnection.EnableCredentialFailover">
                <summary>
                Locally enables automatic failover to working credentials, when passed credentials either are known, or turn out to not work.
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Connection.ManagementConnection.DisableCimPersistence">
                <summary>
                Locally disables the persistence of Cim sessions used to connect to a target system.
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Connection.ManagementConnection.DisabledConnectionTypes">
                <summary>
                Connectiontypes that will never be used
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Connection.ManagementConnection.RestoreDefaultConfiguration">
                <summary>
                Restores all deviations from public policy back to default
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Connection.ManagementConnection.OverrideConnectionPolicy">
                <summary>
                Whether this connection adhers to the global connection lockdowns or not
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Connection.ManagementConnection.CimRM">
                <summary>
                Did the last connection attempt using CimRM work?
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Connection.ManagementConnection.LastCimRM">
                <summary>
                When was the last connection attempt using CimRM?
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Connection.ManagementConnection.CimDCOM">
                <summary>
                Did the last connection attempt using CimDCOM work?
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Connection.ManagementConnection.LastCimDCOM">
                <summary>
                When was the last connection attempt using CimRM?
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Connection.ManagementConnection.Wmi">
                <summary>
                Did the last connection attempt using Wmi work?
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Connection.ManagementConnection.LastWmi">
                <summary>
                When was the last connection attempt using CimRM?
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Connection.ManagementConnection.PowerShellRemoting">
                <summary>
                Did the last connection attempt using PowerShellRemoting work?
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Connection.ManagementConnection.LastPowerShellRemoting">
                <summary>
                When was the last connection attempt using CimRM?
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Connection.ManagementConnection.ReportSuccess(Sqlcollaborative.Dbatools.Connection.ManagementConnectionType)">
                <summary>
                Report the successful connection against the computer of this connection
                </summary>
                <param name="Type">What connection type succeeded?</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Connection.ManagementConnection.ReportFailure(Sqlcollaborative.Dbatools.Connection.ManagementConnectionType)">
                <summary>
                Report the failure of connecting to the target computer
                </summary>
                <param name="Type">What connection type failed?</param>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Connection.ManagementConnection.Credentials">
                <summary>
                Any registered credentials to use on the connection.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Connection.ManagementConnection.WindowsCredentialsAreBad">
                <summary>
                Whether the default windows credentials are known to not work against the target.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Connection.ManagementConnection.UseWindowsCredentials">
                <summary>
                Whether windows credentials are known to be good. Do not build conditions on them being false, just on true.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Connection.ManagementConnection.KnownBadCredentials">
                <summary>
                Credentials known to not work. They will not be used when specified.
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Connection.ManagementConnection.AddBadCredential(System.Management.Automation.PSCredential)">
                <summary>
                Adds a credentials object to the list of credentials known to not work.
                </summary>
                <param name="Credential">The bad credential that must be punished</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Connection.ManagementConnection.AddGoodCredential(System.Management.Automation.PSCredential)">
                <summary>
                Reports a credentials object as being legit.
                </summary>
                <param name="Credential">The functioning credential that we may want to use again</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Connection.ManagementConnection.GetCredential(System.Management.Automation.PSCredential)">
                <summary>
                Calculates, which credentials to use. Will consider input, compare it with know not-working credentials or use the configured working credentials for that.
                </summary>
                <param name="Credential">Any credential object a user may have explicitly specified.</param>
                <returns>The Credentials to use</returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Connection.ManagementConnection.IsBadCredential(System.Management.Automation.PSCredential)">
                <summary>
                Tests whether the input credential is on the list known, bad credentials
                </summary>
                <param name="Credential">The credential to test</param>
                <returns>True if the credential is known to not work, False if it is not yet known to not work</returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Connection.ManagementConnection.RemoveBadCredential(System.Management.Automation.PSCredential)">
                <summary>
                Removes an item from the list of known bad credentials
                </summary>
                <param name="Credential">The credential to remove</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Connection.ManagementConnection.GetConnectionType(Sqlcollaborative.Dbatools.Connection.ManagementConnectionType,System.Boolean)">
                <summary>
                Returns the next connection type to try.
                </summary>
                <param name="ExcludedTypes">Exclude any type already tried and failed</param>
                <param name="Force">Overrides the timeout on bad connections</param>
                <returns>The next type to try.</returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Connection.ManagementConnection.GetConnectionTypesTimed(System.DateTime)">
                <summary>
                Returns a list of all available connection types whose inherent timeout has expired.
                </summary>
                <param name="Timestamp">All last connection failures older than this point in time are considered to be expired</param>
                <returns>A list of all valid connection types</returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Connection.ManagementConnection.GetConnectionTypesTimed(System.TimeSpan)">
                <summary>
                Returns a list of all available connection types whose inherent timeout has expired.
                </summary>
                <param name="Timespan">All last connection failures older than this far back into the past are considered to be expired</param>
                <returns>A list of all valid connection types</returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Connection.ManagementConnection.#ctor">
                <summary>
                Creates a new, empty connection object. Necessary for serialization.
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Connection.ManagementConnection.#ctor(System.String)">
                <summary>
                Creates a new default connection object, containing only its computer's name and default results.
                </summary>
                <param name="ComputerName">The computer targeted. Will be forced to lowercase.</param>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Connection.ManagementConnection.CimWinRMOptions">
                <summary>
                The options ot use when establishing a CIM Session
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Connection.ManagementConnection.GetDefaultCimWsmanOptions">
                <summary>
                Returns the default wsman options object
                </summary>
                <returns>Something very default-y</returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Connection.ManagementConnection.GetCimRMInstance(System.Management.Automation.PSCredential,System.String,System.String)">
                <summary>
                Get all cim instances of the appropriate class using WinRM
                </summary>
                <param name="Credential">The credentiuls to use for the connection.</param>
                <param name="Class">The class to query.</param>
                <param name="Namespace">The namespace to look in (defaults to root\cimv2).</param>
                <returns>Hopefully a mountainload of CimInstances</returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Connection.ManagementConnection.QueryCimRMInstance(System.Management.Automation.PSCredential,System.String,System.String,System.String)">
                <summary>
                Get all cim instances matching the query using WinRM
                </summary>
                <param name="Credential">The credentiuls to use for the connection.</param>
                <param name="Query">The query to use requesting information.</param>
                <param name="Dialect">Defaults to WQL.</param>
                <param name="Namespace">The namespace to look in (defaults to root\cimv2).</param>
                <returns></returns>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Connection.ManagementConnection.CimDComOptions">
                <summary>
                The options ot use when establishing a CIM Session
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Connection.ManagementConnection.GetDefaultCimDcomOptions">
                <summary>
                Returns the default DCom options object
                </summary>
                <returns>Something very default-y</returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Connection.ManagementConnection.GetCimDComInstance(System.Management.Automation.PSCredential,System.String,System.String)">
                <summary>
                Get all cim instances of the appropriate class using DCOM
                </summary>
                <param name="Credential">The credentiuls to use for the connection.</param>
                <param name="Class">The class to query</param>
                <param name="Namespace">The namespace to look in (defaults to root\cimv2)</param>
                <returns>Hopefully a mountainload of CimInstances</returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Connection.ManagementConnection.QueryCimDCOMInstance(System.Management.Automation.PSCredential,System.String,System.String,System.String)">
                <summary>
                Get all cim instances matching the query using DCOM
                </summary>
                <param name="Credential">The credentiuls to use for the connection.</param>
                <param name="Query">The query to use requesting information.</param>
                <param name="Dialect">Defaults to WQL.</param>
                <param name="Namespace">The namespace to look in (defaults to root\cimv2).</param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Connection.ManagementConnection.ToString">
                <summary>
                Simple string representation
                </summary>
                <returns>Returns the computerName it is connection for</returns>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Connection.ManagementConnectionProtocolState">
                <summary>
                The various types of state a connection-protocol may have
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Connection.ManagementConnectionProtocolState.Unknown">
                <summary>
                The default initial state, before any tests are performed
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Connection.ManagementConnectionProtocolState.Success">
                <summary>
                A successful connection was last established
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Connection.ManagementConnectionProtocolState.Error">
                <summary>
                Connecting using the relevant protocol failed last it was tried
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Connection.ManagementConnectionProtocolState.Disabled">
                <summary>
                The relevant protocol has been disabled and should not be used
                </summary>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Connection.ManagementConnectionType">
                <summary>
                The various ways to connect to a windows server fopr management purposes.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Connection.ManagementConnectionType.None">
                <summary>
                No Connection-Type
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Connection.ManagementConnectionType.CimRM">
                <summary>
                Cim over a WinRM connection
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Connection.ManagementConnectionType.CimDCOM">
                <summary>
                Cim over a DCOM connection
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Connection.ManagementConnectionType.Wmi">
                <summary>
                WMI Connection
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Connection.ManagementConnectionType.PowerShellRemoting">
                <summary>
                Connecting with PowerShell remoting and performing WMI queries locally
                </summary>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Connection.PSSessionContainer">
                <summary>
                The container that lists all sessions for a given runspace
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Connection.PSSessionContainer.Runspace">
                <summary>
                The runspace that owns the sessions
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Connection.PSSessionContainer.CountExpired">
                <summary>
                The count of expired sessions registered
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Connection.PSSessionContainer.Sessions">
                <summary>
                List of sessions and their associated computer names
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Connection.PSSessionContainer.ConnectionTimestamps">
                <summary>
                List of timestamps, when the last command was run against them
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Connection.PSSessionContainer.#ctor(System.Guid)">
                <summary>
                Creates a list of sessions the current runspace is connected to.
                </summary>
                <param name="Runspace">The Guid of the runspace that is the owner of the registered sessions</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Connection.PSSessionContainer.Get(System.String)">
                <summary>
                Returns the requested session.
                </summary>
                <param name="ComputerName">The name of the host whose connection to retrieve</param>
                <returns>The established connection to the host, null if none exists.</returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Connection.PSSessionContainer.Set(System.String,System.Management.Automation.Runspaces.PSSession)">
                <summary>
                Sets a session and writes its timestamp to the cache
                </summary>
                <param name="ComputerName">The hostname it connects to.</param>
                <param name="Session">The session that is being registered.</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Connection.PSSessionContainer.GetExpiredNames">
                <summary>
                Returns the name of hostnames with expired sessions
                </summary>
                <returns>THe hostnames whose session has expired</returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Connection.PSSessionContainer.PurgeExpiredSession">
                <summary>
                Removes an expired session from the cache, an returns it, so it can be properly closed.
                </summary>
                <returns>Returns a session to disconnect</returns>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Connection.SqlConnectionProtocol">
                <summary>
                The protocol to connect over via SMO
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Connection.SqlConnectionProtocol.Any">
                <summary>
                Connect using any protocol available
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Connection.SqlConnectionProtocol.TCP">
                <summary>
                Connect using TCP/IP
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Connection.SqlConnectionProtocol.NP">
                <summary>
                Connect using named pipes or shared memory
                </summary>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Database.BackupHistory">
                <summary>
                Object containing the information about the history of mankind ... or a database backup. WHo knows.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Database.BackupHistory.ComputerName">
                <summary>
                The name of the computer running MSSQL Server
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Database.BackupHistory.InstanceName">
                <summary>
                The Instance that was queried
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Database.BackupHistory.SqlInstance">
                <summary>
                The full Instance name as seen from outside
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Database.BackupHistory.Database">
                <summary>
                The Database that was backed up
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Database.BackupHistory.UserName">
                <summary>
                The user that is running the backup
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Database.BackupHistory.Start">
                <summary>
                When was the backup started
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Database.BackupHistory.End">
                <summary>
                When did the backup end
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Database.BackupHistory.Duration">
                <summary>
                What was the longest duration among the backups
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Database.BackupHistory.Path">
                <summary>
                Where is the backup stored
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Database.BackupHistory.TotalSize">
                <summary>
                What is the total size of the backup
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Database.BackupHistory.CompressedBackupSize">
                <summary>
                What is the total compressesed size of the backup
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Database.BackupHistory.CompressionRatio">
                <summary>
                What is the ratio of total size to compressed size of the backup
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Database.BackupHistory.Type">
                <summary>
                The kind of backup this was
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Database.BackupHistory.BackupSetId">
                <summary>
                The ID for the Backup job
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Database.BackupHistory.DeviceType">
                <summary>
                What kind of backup-device was the backup stored to
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Database.BackupHistory.Software">
                <summary>
                What is the name of the backup software?
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Database.BackupHistory.FullName">
                <summary>
                The full name of the backup
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Database.BackupHistory.FileList">
                <summary>
                The files that are part of this backup
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Database.BackupHistory.Position">
                <summary>
                The position of the backup
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Database.BackupHistory.FirstLsn">
                <summary>
                The first Log Sequence Number
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Database.BackupHistory.DatabaseBackupLsn">
                <summary>
                The Log Squence Number that marks the beginning of the backup
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Database.BackupHistory.CheckpointLsn">
                <summary>
                The checkpoint's Log Sequence Number
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Database.BackupHistory.LastLsn">
                <summary>
                The last Log Sequence Number
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Database.BackupHistory.SoftwareVersionMajor">
                <summary>
                The primary version number of the Sql Server
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Database.BackupHistory.IsCopyOnly">
                <summary>
                Was the backup performed with the CopyOnlyOption
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Database.BackupHistory.LastRecoveryForkGUID">
                <summary>
                Recovery Fork backup was takeon
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Database.BackupHistory.RecoveryModel">
                <summary>
                Recovery Model of the database when backup was taken
                </summary>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Database.Dependency">
                <summary>
                Class containing all dependency information over a database object
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Database.Dependency.ComputerName">
                <summary>
                The name of the SQL server from whence the query came
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Database.Dependency.ServiceName">
                <summary>
                Name of the service running the database containing the dependency
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Database.Dependency.SqlInstance">
                <summary>
                The Instance the database containing the dependency is running in.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Database.Dependency.Dependent">
                <summary>
                The name of the dependent
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Database.Dependency.Type">
                <summary>
                The kind of object the dependent is
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Database.Dependency.Owner">
                <summary>
                The owner of the dependent (usually the Database)
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Database.Dependency.IsSchemaBound">
                <summary>
                Whether the dependency is Schemabound. If it is, then the creation statement order is of utmost importance.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Database.Dependency.Parent">
                <summary>
                The immediate parent of the dependent. Useful in multi-tier dependencies.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Database.Dependency.ParentType">
                <summary>
                The type of object the immediate parent is.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Database.Dependency.Script">
                <summary>
                The script used to create the object.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Database.Dependency.Tier">
                <summary>
                The tier in the dependency hierarchy tree. Used to determine, which dependency must be applied in which order.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Database.Dependency.Object">
                <summary>
                The smo object of the dependent.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Database.Dependency.Urn">
                <summary>
                The Uniform Resource Name of the dependent.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Database.Dependency.OriginalResource">
                <summary>
                The object of the original resource, from which the dependency hierachy has been calculated.
                </summary>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.dbaSystem.DbaErrorRecord">
                <summary>
                An error record written by dbatools
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.dbaSystem.DbaErrorRecord.CategoryInfo">
                <summary>
                The category of the error
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.dbaSystem.DbaErrorRecord.ErrorDetails">
                <summary>
                The details on the error
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.dbaSystem.DbaErrorRecord.Exception">
                <summary>
                The actual exception thrown
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.dbaSystem.DbaErrorRecord.FullyQualifiedErrorId">
                <summary>
                The specific error identity, used to identify the target
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.dbaSystem.DbaErrorRecord.InvocationInfo">
                <summary>
                The details of how this was called.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.dbaSystem.DbaErrorRecord.ScriptStackTrace">
                <summary>
                The script's stacktrace
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.dbaSystem.DbaErrorRecord.TargetObject">
                <summary>
                The object being processed
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.dbaSystem.DbaErrorRecord.FunctionName">
                <summary>
                The name of the function throwing the error
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.dbaSystem.DbaErrorRecord.Timestamp">
                <summary>
                When was the error thrown
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.dbaSystem.DbaErrorRecord.Message">
                <summary>
                The message that was written in a userfriendly manner
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.dbaSystem.DbaErrorRecord.Runspace">
                <summary>
                The runspace the error occured on.
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.dbaSystem.DbaErrorRecord.#ctor">
                <summary>
                Create an empty record
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.dbaSystem.DbaErrorRecord.#ctor(System.Management.Automation.ErrorRecord,System.String,System.DateTime,System.String)">
                <summary>
                Create a filled out error record
                </summary>
                <param name="Record">The original error record</param>
                <param name="FunctionName">The function that wrote the error</param>
                <param name="Timestamp">When was the error generated</param>
                <param name="Message">What message was passed when writing the error</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.dbaSystem.DbaErrorRecord.#ctor(System.Management.Automation.ErrorRecord,System.String,System.DateTime,System.String,System.Guid)">
                <summary>
                Create a filled out error record
                </summary>
                <param name="Record">The original error record</param>
                <param name="FunctionName">The function that wrote the error</param>
                <param name="Timestamp">When was the error generated</param>
                <param name="Message">What message was passed when writing the error</param>
                <param name="Runspace">The ID of the runspace writing the error. Used to separate output between different runspaces in the same process.</param>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.dbaSystem.DebugHost">
                <summary>
                Hosts static debugging values and methods
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.dbaSystem.DebugHost.ImportTimeEntries">
                <summary>
                Lists the duration for the last import of dbatools.
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.dbaSystem.DebugHost.ImportTime">
                <summary>
                Returns the calculated time each phase took during the last import of dbatool.
                </summary>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.dbaSystem.StartTimeEntry">
                <summary>
                Entry containing the information of a step during the import sequence
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.dbaSystem.StartTimeEntry.Action">
                <summary>
                The action that has been taken
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.dbaSystem.StartTimeEntry.Timestamp">
                <summary>
                When was the action taken?
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.dbaSystem.StartTimeEntry.Runspace">
                <summary>
                The runspace the entry was written on
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.dbaSystem.StartTimeEntry.#ctor(System.String,System.DateTime,System.Guid)">
                <summary>
                Creates a new StartTimeEntry
                </summary>
                <param name="Action">The action that has been taken</param>
                <param name="Timestamp">When was the action taken?</param>
                <param name="Runspace">The runspace the entry was written on</param>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.dbaSystem.StartTimeResult">
                <summary>
                The processed result how long a given step took
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.dbaSystem.StartTimeResult.Action">
                <summary>
                What action was taken?
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.dbaSystem.StartTimeResult.Duration">
                <summary>
                How long did things take?
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.dbaSystem.StartTimeResult.Start">
                <summary>
                When did this action start?
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.dbaSystem.StartTimeResult.End">
                <summary>
                When did this action end?
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.dbaSystem.StartTimeResult.#ctor(System.String,System.DateTime,System.DateTime)">
                <summary>
                Creates a new StartTimeResult with all values preconfigured
                </summary>
                <param name="Action">The action that was taken</param>
                <param name="Start">When did the action start?</param>
                <param name="End">When did the action end?</param>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.dbaSystem.SystemHost">
                <summary>
                Provides system-wide static resources regarding the dbatools system runtime in general
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.dbaSystem.SystemHost.UnattendedMode">
                <summary>
                When this is set to true, functions must assume dbatools is in unattended mode. May not ask for user input of any kind.
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.dbaSystem.SystemHost.ModuleBase">
                <summary>
                Path where the module was located when imported
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.dbaSystem.SystemHost.ModuleImported">
                <summary>
                Flag whether the module has ever been imported in the current process. If that is true, several things (such as importing libraries) is no longer necessary and will be skipped on import.
                </summary>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Discovery.DbaBrowserReply">
                <summary>
                The reply the browser service gave
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Discovery.DbaBrowserReply.MachineName">
                <summary>
                The machine name of the computer
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Discovery.DbaBrowserReply.ComputerName">
                <summary>
                the computername of the computer
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Discovery.DbaBrowserReply.SqlInstance">
                <summary>
                The instance running on the computer
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Discovery.DbaBrowserReply.InstanceName">
                <summary>
                The name of the instance, running on the computer
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Discovery.DbaBrowserReply.TCPPort">
                <summary>
                The port number the instance is running under
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Discovery.DbaBrowserReply.Version">
                <summary>
                The version of the SQL Server
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Discovery.DbaBrowserReply.IsClustered">
                <summary>
                Whether the instance is part of a cluster or no.
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Discovery.DbaBrowserReply.ToString">
                <summary>
                Override in order to make it look neater in PowerShell
                </summary>
                <returns></returns>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Discovery.DbaInstanceAvailability">
                <summary>
                Indiciator for whether an instance is known to be available or not
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Discovery.DbaInstanceAvailability.Unknown">
                <summary>
                It is not known, whether the instance is available or not
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Discovery.DbaInstanceAvailability.Available">
                <summary>
                The instance is known to be available
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Discovery.DbaInstanceAvailability.Unavailable">
                <summary>
                The instance is known to be not available
                </summary>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Discovery.DbaInstanceConfidenceLevel">
                <summary>
                How high is our confidence that this is a valid instance?
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Discovery.DbaInstanceConfidenceLevel.None">
                <summary>
                No confidence at all. There is virtually no way for this to be an instance
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Discovery.DbaInstanceConfidenceLevel.Low">
                <summary>
                We have a few indications, but couldn't follow them up
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Discovery.DbaInstanceConfidenceLevel.Medium">
                <summary>
                We're fairly sure this is legit, but can't guarantee it
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Discovery.DbaInstanceConfidenceLevel.High">
                <summary>
                This absolutely is an instance
                </summary>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Discovery.DbaInstanceDiscoveryType">
                <summary>
                What discovery mechanisms to use
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Discovery.DbaInstanceDiscoveryType.IPRange">
                <summary>
                We shall sweep the network for instances, by targeting every IP within a range.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Discovery.DbaInstanceDiscoveryType.Domain">
                <summary>
                We shall search for SQL SPNs in active directory
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Discovery.DbaInstanceDiscoveryType.DataSourceEnumeration">
                <summary>
                We shall use the SSMS Data Sizrce Enumeration mechanism and hope for the best
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Discovery.DbaInstanceDiscoveryType.All">
                <summary>
                We shall use all tools in our control to find stuff
                </summary>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Discovery.DbaInstanceReport">
                <summary>
                The report on a discovered instance
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Discovery.DbaInstanceReport.MachineName">
                <summary>
                The computername of the underlying machine. Usually equal to the computername, but may differ in case of clusters
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Discovery.DbaInstanceReport.ComputerName">
                <summary>
                The computername of the target
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Discovery.DbaInstanceReport.InstanceName">
                <summary>
                The name of the instance
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Discovery.DbaInstanceReport.FullName">
                <summary>
                The full server instance name
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Discovery.DbaInstanceReport.SqlInstance">
                <summary>
                The full name usable to connect via SMO
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Discovery.DbaInstanceReport.Port">
                <summary>
                The port number the server listens on
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Discovery.DbaInstanceReport.Timestamp">
                <summary>
                When the scan was concluded
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Discovery.DbaInstanceReport.TcpConnected">
                <summary>
                Was a TCP connect successful?
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Discovery.DbaInstanceReport.SqlConnected">
                <summary>
                Was a connection via SQL successful (even if we got access denied)
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Discovery.DbaInstanceReport.DnsResolution">
                <summary>
                The DNS Resolution object
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Discovery.DbaInstanceReport.Ping">
                <summary>
                The ping resolution object
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Discovery.DbaInstanceReport.BrowseReply">
                <summary>
                The reply received from the browse request
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Discovery.DbaInstanceReport.Services">
                <summary>
                The windows services for the instance
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Discovery.DbaInstanceReport.SystemServices">
                <summary>
                The SQL Server services that do not belong to that instance alone
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Discovery.DbaInstanceReport.SPNs">
                <summary>
                Service Principal Names found
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Discovery.DbaInstanceReport.PortsScanned">
                <summary>
                The ports that have been scanned
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Discovery.DbaInstanceReport.Availability">
                <summary>
                What we know about its availability
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Discovery.DbaInstanceReport.Confidence">
                <summary>
                How confident we are, that this is a real instance
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Discovery.DbaInstanceReport.ScanTypes">
                <summary>
                What we used to scan the instance
                </summary>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Discovery.DbaInstanceScanType">
                <summary>
                The mechanisms we use to determine, whether a given host contains a legit instance
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Discovery.DbaInstanceScanType.TCPPort">
                <summary>
                Try connecting to specific ports
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Discovery.DbaInstanceScanType.SqlConnect">
                <summary>
                Try to connect to discovered instances (improves confidence)
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Discovery.DbaInstanceScanType.SqlService">
                <summary>
                Check the windows services on the target
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Discovery.DbaInstanceScanType.DNSResolve">
                <summary>
                Try resolving a computername in DNS
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Discovery.DbaInstanceScanType.SPN">
                <summary>
                Scan the SPNs for the targeted computer
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Discovery.DbaInstanceScanType.Browser">
                <summary>
                Try contacting the local browser service and demand answers
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Discovery.DbaInstanceScanType.Ping">
                <summary>
                See whether you can ping the host
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Discovery.DbaInstanceScanType.All">
                <summary>
                Do EVERYTHING
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Discovery.DbaInstanceScanType.Default">
                <summary>
                Do all the things we consider sane defaults
                </summary>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Discovery.DbaPortReport">
                <summary>
                We tried to connect to a port, how did it go?
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Discovery.DbaPortReport.ComputerName">
                <summary>
                The name of the computer connected to
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Discovery.DbaPortReport.Port">
                <summary>
                The number of the port we tried to connect to.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Discovery.DbaPortReport.IsOpen">
                <summary>
                Whether the port was open
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Discovery.DbaPortReport.#ctor">
                <summary>
                Creates an empty report (serialization uses this)
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Discovery.DbaPortReport.#ctor(System.String,System.Int32,System.Boolean)">
                <summary>
                Creates a filled in report
                </summary>
                <param name="ComputerName">The name of the computer connected to</param>
                <param name="Port">The port we tried to connect to</param>
                <param name="IsOpen">Whether things worked out</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Discovery.DbaPortReport.ToString">
                <summary>
                Displays port connection reports in a user friendly manner
                </summary>
                <returns></returns>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Exceptions.BloodyHellGiveMeSomethingToWorkWithException">
                <summary>
                An exception that is thrown by parameter classes when given empty input
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Exceptions.BloodyHellGiveMeSomethingToWorkWithException.ParameterClass">
                <summary>
                The parameter class that did the throwing
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Exceptions.BloodyHellGiveMeSomethingToWorkWithException.#ctor(System.String,System.Exception)">
                <summary>
                Creates an exception with a message and a nested exception
                </summary>
                <param name="Message">The message to tell</param>
                <param name="Inner">The inner exception to nest</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Exceptions.BloodyHellGiveMeSomethingToWorkWithException.#ctor(System.String,System.String)">
                <summary>
                Creates an exception with a message and a ParameterClass
                </summary>
                <param name="Message">The message to tell</param>
                <param name="ParameterClass">The Parameter Class that threw the exception</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Exceptions.BloodyHellGiveMeSomethingToWorkWithException.#ctor(System.String,System.Exception,System.String)">
                <summary>
                Creates an exception with a message, a nested exception and a ParameterClass
                </summary>
                <param name="Message">The message to tell</param>
                <param name="Inner">The inner exception to nest</param>
                <param name="ParameterClass">The Parameter Class that threw the exception</param>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.General.ExecutionMode">
                <summary>
                What kind of mode do you want to run a command in?
                This allows the user to choose how a dbatools function handles a bump in the execution where terminating directly may not be actually mandated.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.General.ExecutionMode.Strict">
                <summary>
                When encountering issues, terminate, or skip the currently processed input, rather than continue.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.General.ExecutionMode.Lazy">
                <summary>
                Continue as able with a best-effort attempt. Simple verbose output should do the rest.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.General.ExecutionMode.Report">
                <summary>
                Continue, but provide output that can be used to identify the operations that had issues.
                </summary>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Maintenance.MaintenanceHost">
                <summary>
                Host class providing access to resources need to perform dbatools maintenance
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Maintenance.MaintenanceHost.Tasks">
                <summary>
                The register of available tasks.
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Maintenance.MaintenanceHost.HasDueTasks">
                <summary>
                Whether there are any due tasks
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Maintenance.MaintenanceHost.GetNextTask(System.String[])">
                <summary>
                Returns the next task to perform. Returns null when there are no more tasks to perform
                </summary>
                <param name="Exclusions">List of tasks not to return, even if they are ready to execute again. This avoids one misconfigured task starving all lower priority tasks</param>
                <returns>The next task to perform.</returns>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Maintenance.MaintenancePriority">
                <summary>
                How high the priority of the task. Higher priority tasks take precedence over low priority tasks.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Maintenance.MaintenancePriority.Trivial">
                <summary>
                This task is completely trivial and can be done whenever there is some spare time for it
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Maintenance.MaintenancePriority.Low">
                <summary>
                The task is not very significant, but should be dealt with at some point
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Maintenance.MaintenancePriority.Medium">
                <summary>
                Average priority task
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Maintenance.MaintenancePriority.High">
                <summary>
                An important task that will take precedence over most other tasks
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Maintenance.MaintenancePriority.Critical">
                <summary>
                A task so critical, that it should be considered to move it to synchronous execution instead.
                </summary>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Maintenance.MaintenanceTask">
                <summary>
                An individual task assigned to the maintenance engine
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Maintenance.MaintenanceTask.Name">
                <summary>
                The name of the task to execute. No duplciates are possible.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Maintenance.MaintenanceTask.Once">
                <summary>
                Whether the task should be done once only
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Maintenance.MaintenanceTask.Interval">
                <summary>
                The interval at which the task should be performed
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Maintenance.MaintenanceTask.Delay">
                <summary>
                If the task need not be performed right away, it can be delayed, in order to prioritize more important initialization tasks
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Maintenance.MaintenanceTask.Registered">
                <summary>
                When was the task first registered. Duplicate registration calls will not increment this value.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Maintenance.MaintenanceTask.LastExecution">
                <summary>
                When was the task last executed.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Maintenance.MaintenanceTask.Priority">
                <summary>
                How important is this task?
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Maintenance.MaintenanceTask.ScriptBlock">
                <summary>
                The task code to execute
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Maintenance.MaintenanceTask.IsDue">
                <summary>
                Whether the task is due and should be executed
                </summary>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Message.DbatoolsException">
                <summary>
                Wrapper class that can emulate any exception for purpose of serialization without blowing up the storage space consumed
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Message.DbatoolsException.GetException">
                <summary>
                Returns the original exception object that we interpreted. This is on purpose not a property, as we want to avoid messing with serialization size.
                </summary>
                <returns>The original exception that got thrown</returns>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.DbatoolsException.Message">
                <summary>
                The actual Exception Message
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.DbatoolsException.Source">
                <summary>
                The original source of the Exception
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.DbatoolsException.StackTrace">
                <summary>
                Where on the callstack did the exception occur?
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.DbatoolsException.TargetSite">
                <summary>
                What was the target site on the code that caused it. This property has been altered to avoid export issues, if a string representation is not sufficient, access the original exception using GetException()
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.DbatoolsException.HResult">
                <summary>
                The HResult of the exception. Useful in debugging native code errors.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.DbatoolsException.HelpLink">
                <summary>
                Link to a proper help article.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.DbatoolsException.Data">
                <summary>
                Additional data that has been appended
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.DbatoolsException.InnerException">
                <summary>
                The inner exception in a chain of exceptions.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.DbatoolsException.ExceptionTypeName">
                <summary>
                The full namespace name of the exception that has been wrapped.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.DbatoolsException.ExceptionData">
                <summary>
                Contains additional properties other exceptions might contain.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.DbatoolsException.CategoryInfo">
                <summary>
                The category of the error
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.DbatoolsException.ErrorDetails">
                <summary>
                The details on the error
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.DbatoolsException.FullyQualifiedErrorId">
                <summary>
                The specific error identity, used to identify the target
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.DbatoolsException.InvocationInfo">
                <summary>
                The details of how this was called.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.DbatoolsException.ScriptStackTrace">
                <summary>
                The script's stacktrace
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.DbatoolsException.TargetObject">
                <summary>
                The object being processed
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.DbatoolsException.FunctionName">
                <summary>
                The name of the function throwing the error
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.DbatoolsException.Timestamp">
                <summary>
                When was the error thrown
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.DbatoolsException.Runspace">
                <summary>
                The runspace the error occured on.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.DbatoolsException.ComputerName">
                <summary>
                The computer the error occured on.
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Message.DbatoolsException.#ctor">
                <summary>
                Creates an empty exception object. Mostly for serialization support
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Message.DbatoolsException.#ctor(System.Exception)">
                <summary>
                Creates an exception based on an original exception object
                </summary>
                <param name="Except">The exception to wrap around</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Message.DbatoolsException.#ctor(System.Management.Automation.ErrorRecord)">
                <summary>
                Creates a rich information exception object based on a full error record as recorded by PowerShell
                </summary>
                <param name="Record">The error record to copy from</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Message.DbatoolsException.#ctor(System.Exception,System.String,System.DateTime,System.String,System.Guid,System.String)">
                <summary>
                Creates a new exception object with rich meta information from the PowerShell runtime.
                </summary>
                <param name="Except">The exception thrown</param>
                <param name="FunctionName">The name of the function in which the error occured</param>
                <param name="Timestamp">When did the error occur</param>
                <param name="Message">The message to add to the exception</param>
                <param name="Runspace">The ID of the runspace from which the exception was thrown. Useful in multi-runspace scenarios.</param>
                <param name="ComputerName">The computer the error occured on.</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Message.DbatoolsException.#ctor(System.Management.Automation.ErrorRecord,System.String,System.DateTime,System.String,System.Guid,System.String)">
                <summary>
                Creates a new exception object with rich meta information from the PowerShell runtime.
                </summary>
                <param name="Record">The error record written</param>
                <param name="FunctionName">The name of the function in which the error occured</param>
                <param name="Timestamp">When did the error occur</param>
                <param name="Message">The message to add to the exception</param>
                <param name="Runspace">The ID of the runspace from which the exception was thrown. Useful in multi-runspace scenarios.</param>
                <param name="ComputerName">The computer the error occured on.</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Message.DbatoolsException.ToString">
                <summary>
                Returns a string representation of the exception.
                </summary>
                <returns></returns>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Message.DbatoolsExceptionRecord">
                <summary>
                Carrier class, designed to hold an arbitrary number of exceptions. Used for exporting to XML in nice per-incident packages.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.DbatoolsExceptionRecord.Runspace">
                <summary>
                Runspace where shit happened.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.DbatoolsExceptionRecord.ComputerName">
                <summary>
                The computer name the exception was written on
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.DbatoolsExceptionRecord.Timestamp">
                <summary>
                When did things go bad?
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.DbatoolsExceptionRecord.FunctionName">
                <summary>
                Name of the function, where fail happened.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.DbatoolsExceptionRecord.ModuleName">
                <summary>
                The module of the function where fail happened
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.DbatoolsExceptionRecord.Tags">
                <summary>
                The tags that were applied to the failure
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.DbatoolsExceptionRecord.Message">
                <summary>
                The message the poor user was shown.
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Message.DbatoolsExceptionRecord.ExceptionType">
                <summary>
                Displays the name of the exception, the make scanning exceptions easier.
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Message.DbatoolsExceptionRecord.TargetObject">
                <summary>
                The target object of the first exception in the list, if any
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.DbatoolsExceptionRecord.Exceptions">
                <summary>
                List of Exceptions that are part of the incident (usually - but not always - only one).
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Message.DbatoolsExceptionRecord.#ctor">
                <summary>
                Creates an empty container. Ideal for the homeworker who loves doing it all himself.
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Message.DbatoolsExceptionRecord.#ctor(Sqlcollaborative.Dbatools.Message.DbatoolsException)">
                <summary>
                Creates a container filled with the first exception.
                </summary>
                <param name="Exception"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Message.DbatoolsExceptionRecord.#ctor(System.Guid,System.String,System.DateTime,System.String,System.String,System.Collections.Generic.List{System.String},System.String)">
                <summary>
                Creates a container filled with the meta information but untouched by exceptions
                </summary>
                <param name="Runspace">The runspace where it all happened</param>
                <param name="ComputerName">The computer the error was recorded</param>
                <param name="Timestamp">When did it happen?</param>
                <param name="FunctionName">Where did it happen?</param>
                <param name="ModuleName">The name of the module where fail happened</param>
                <param name="Tags">The tags that were assigned to the failure</param>
                <param name="Message">What did the witness have to say?</param>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Message.LogEntry">
                <summary>
                An individual entry for the message log
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.LogEntry.Message">
                <summary>
                The message logged
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.LogEntry.Type">
                <summary>
                What kind of entry was this?
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.LogEntry.Timestamp">
                <summary>
                When was the message logged?
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.LogEntry.FunctionName">
                <summary>
                What function wrote the message
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.LogEntry.ModuleName">
                <summary>
                The name of the module of the function that wrote the message
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.LogEntry.Tags">
                <summary>
                The tags applied to the message
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.LogEntry.Level">
                <summary>
                What level was the message?
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.LogEntry.Runspace">
                <summary>
                What runspace was the message written from?
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.LogEntry.ComputerName">
                <summary>
                The computer the message was generated on
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.LogEntry.TargetObject">
                <summary>
                The object that was the focus of this message.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.LogEntry.File">
                <summary>
                The file from which the message was written.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.LogEntry.Line">
                <summary>
                The line on which the message was written.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.LogEntry.CallStack">
                <summary>
                The callstack when the message was written.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.LogEntry.Username">
                <summary>
                The user that did the writing.
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Message.LogEntry.#ctor">
                <summary>
                Creates an empty log entry
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Message.LogEntry.#ctor(System.String,Sqlcollaborative.Dbatools.Message.LogEntryType,System.DateTime,System.String,System.String,System.Collections.Generic.List{System.String},Sqlcollaborative.Dbatools.Message.MessageLevel,System.Guid,System.String,System.Object,System.String,System.Int32,System.Collections.Generic.IEnumerable{System.Management.Automation.CallStackFrame},System.String)">
                <summary>
                Creates a filled out log entry
                </summary>
                <param name="Message">The message that was logged</param>
                <param name="Type">The type(s) of message written</param>
                <param name="Timestamp">When was the message logged</param>
                <param name="FunctionName">What function wrote the message</param>
                <param name="ModuleName">Name of the module the function writing this message came from</param>
                <param name="Tags">Tags that were applied to the message</param>
                <param name="Level">What level was the message written at.</param>
                <param name="Runspace">The ID of the runspace that wrote the message.</param>
                <param name="ComputerName">The computer the message was generated on.</param>
                <param name="TargetObject">The object this message was all about.</param>
                <param name="File">The file of the code that wrote the message.</param>
                <param name="Line">The line on which the message was written.</param>
                <param name="CallStack">The callstack that triggered the write.</param>
                <param name="Username">The user responsible for running the code that is writing the message.</param>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Message.LogEntryType">
                <summary>
                The kind of information the logged entry was.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.LogEntryType.None">
                <summary>
                This entry wasn't written to any stream
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.LogEntryType.Information">
                <summary>
                A message that was written to the current host equivalent, if available also to the information stream
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.LogEntryType.Verbose">
                <summary>
                A message that was written to the verbose stream
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.LogEntryType.Debug">
                <summary>
                A message that was written to the Debug stream
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.LogEntryType.Warning">
                <summary>
                A message written to the warning stream
                </summary>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Message.LogHost">
                <summary>
                Provides static information storage for logging related settings, as well as housing the logging queues.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.LogHost.MaxErrorCount">
                <summary>
                The maximum numbers of error records maintained in-memory.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.LogHost.MaxMessageCount">
                <summary>
                The maximum number of messages that can be maintained in the in-memory message queue
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.LogHost.MaxMessagefileBytes">
                <summary>
                The maximum size of a given logfile. When reaching this limit, the file will be abandoned and a new log created. Set to 0 to not limit the size.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.LogHost.MaxMessagefileCount">
                <summary>
                The maximum number of logfiles maintained at a time. Exceeding this number will cause the oldest to be culled. Set to 0 to disable the limit.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.LogHost.MaxErrorFileBytes">
                <summary>
                The maximum size all error files combined may have. When this number is exceeded, the oldest entry is culled.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.LogHost.MaxTotalFolderSize">
                <summary>
                This is the upper limit of length all items in the log folder may have combined across all processes.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.LogHost.LoggingPath">
                <summary>
                Path to where the logfiles live.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.LogHost.MaxLogFileAge">
                <summary>
                Any logfile older than this will automatically be cleansed
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.LogHost.MessageLogFileEnabled">
                <summary>
                Governs, whether a log file for the system messages is written
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.LogHost.MessageLogEnabled">
                <summary>
                Governs, whether a log of recent messages is kept in memory
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.LogHost.ErrorLogFileEnabled">
                <summary>
                Governs, whether log files for errors are written
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.LogHost.ErrorLogEnabled">
                <summary>
                Governs, whether a log of recent errors is kept in memory
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.LogHost.OutQueueError">
                <summary>
                The outbound queue for errors. These will be processed and written to xml
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.LogHost.OutQueueLog">
                <summary>
                The outbound queue for logs. These will be processed and written to logfile
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Message.LogHost.GetErrors">
                <summary>
                Retrieves a copy of the Error stack
                </summary>
                <returns>All errors thrown by functions using the message or flowcontrol system</returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Message.LogHost.GetLog">
                <summary>
                Retrieves a copy of the message log
                </summary>
                <returns>All messages logged this session.</returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Message.LogHost.WriteErrorEntry(System.Management.Automation.ErrorRecord[],System.String,System.String,System.Collections.Generic.List{System.String},System.DateTime,System.String,System.Guid,System.String)">
                <summary>
                Write an error record to the log
                </summary>
                <param name="Record">The actual error record as powershell wrote it</param>
                <param name="FunctionName">The name of the function writing the error</param>
                <param name="ModuleName">The name of the module the function writing the error came from</param>
                <param name="Tags">The tags that were assigned to the error event</param>
                <param name="Timestamp">When was the error written</param>
                <param name="Message">What message was passed to the user</param>
                <param name="Runspace">The runspace the message was written from</param>
                <param name="ComputerName">The computer the error was written on</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Message.LogHost.WriteLogEntry(System.String,Sqlcollaborative.Dbatools.Message.LogEntryType,System.DateTime,System.String,System.String,System.Collections.Generic.List{System.String},Sqlcollaborative.Dbatools.Message.MessageLevel,System.Guid,System.String,System.String,System.Int32,System.Collections.Generic.IEnumerable{System.Management.Automation.CallStackFrame},System.String,System.Object)">
                <summary>
                Write a new entry to the log
                </summary>
                <param name="Message">The message to log</param>
                <param name="Type">The type of the message logged</param>
                <param name="Timestamp">When was the message generated</param>
                <param name="FunctionName">What function wrote the message</param>
                <param name="ModuleName">What module did the function writing this message come from?</param>
                <param name="Tags">The tags that were applied to the message</param>
                <param name="Level">At what level was the function written</param>
                <param name="Runspace">The runspace the message is coming from</param>
                <param name="ComputerName">The computer the message was generated on</param>
                <param name="File">The file from which the message was written</param>
                <param name="Line">The line on which the message was written</param>
                <param name="TargetObject">The object associated with a given message.</param>
                <param name="CallStack">The callstack at the moment the message was written.</param>
                <param name="Username">The name of the user under which the code being executed</param>
                <returns>The entry that is being written</returns>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Message.MessageEventSubscription">
                <summary>
                Condition and logic to be executed on message events
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.MessageEventSubscription.Name">
                <summary>
                Name of the event subscription, must be unique.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.MessageEventSubscription.ScriptBlock">
                <summary>
                Scriptblock to execute if the condition is met
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.MessageEventSubscription._MessageFilter">
                <summary>
                The internally stored filter value for Message
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Message.MessageEventSubscription.MessageFilter">
                <summary>
                The value the Message is filtered by
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Message.MessageEventSubscription.MessageFilterSet">
                <summary>
                Whether filtering by Message was enabled
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.MessageEventSubscription._ModuleNameFilter">
                <summary>
                The internally stored filter value for ModuleName
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Message.MessageEventSubscription.ModuleNameFilter">
                <summary>
                The value the ModuleName is filtered by
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Message.MessageEventSubscription.ModuleNameFilterSet">
                <summary>
                Whether filtering by ModuleName was enabled
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.MessageEventSubscription._FunctionNameFilter">
                <summary>
                The internally stored filter value for FunctionName
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Message.MessageEventSubscription.FunctionNameFilter">
                <summary>
                The value the FunctionName is filtered by
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Message.MessageEventSubscription.FunctionNameFilterSet">
                <summary>
                Whether filtering by FunctionName was enabled
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.MessageEventSubscription._TargetFilter">
                <summary>
                The internally stored filter value for Target
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Message.MessageEventSubscription.TargetFilter">
                <summary>
                The value the Target is filtered by
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Message.MessageEventSubscription.TargetFilterSet">
                <summary>
                Whether filtering by Target was enabled
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.MessageEventSubscription._LevelFilter">
                <summary>
                The internally stored filter value for Level
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Message.MessageEventSubscription.LevelFilter">
                <summary>
                The value the Level is filtered by
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Message.MessageEventSubscription.LevelFilterSet">
                <summary>
                Whether filtering by Level was enabled
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.MessageEventSubscription._TagFilter">
                <summary>
                The internally stored filter value for Tag
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Message.MessageEventSubscription.TagFilter">
                <summary>
                The value the Tag is filtered by
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Message.MessageEventSubscription.TagFilterSet">
                <summary>
                Whether filtering by Tag was enabled
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.MessageEventSubscription._RunspaceFilter">
                <summary>
                The internally stored filter value for Runspace
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Message.MessageEventSubscription.RunspaceFilter">
                <summary>
                The value the Runspace is filtered by
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Message.MessageEventSubscription.RunspaceFilterSet">
                <summary>
                Whether filtering by Runspace was enabled
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Message.MessageEventSubscription.Applies(Sqlcollaborative.Dbatools.Message.LogEntry)">
                <summary>
                Checks, whether a given entry matches the filter defined in this subscription
                </summary>
                <param name="Entry">The entry to validate</param>
                <returns>Whether the subscription should react to this entry</returns>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Message.MessageHost">
                <summary>
                Provides static resources to the messaging subsystem
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.MessageHost.MaximumInformation">
                <summary>
                The maximum message level to still display to the user directly.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.MessageHost.MaximumVerbose">
                <summary>
                The maxium message level where verbose information is still written.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.MessageHost.MaximumDebug">
                <summary>
                The maximum message level where debug information is still written.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.MessageHost.MinimumInformation">
                <summary>
                The minimum required message level for messages that will be shown to the user.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.MessageHost.MinimumVerbose">
                <summary>
                The minimum required message level where verbose information is written.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.MessageHost.MinimumDebug">
                <summary>
                The minimum required message level where debug information is written.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.MessageHost.InfoColor">
                <summary>
                The color stuff gets written to the console in
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.MessageHost.InfoColorEmphasis">
                <summary>
                The color important stuff gets written to the console in
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.MessageHost.InfoColorSubtle">
                <summary>
                The color background stuff gets written to the console in
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.MessageHost.DeveloperColor">
                <summary>
                The color stuff gets written to the console in, when developer mode is enabled and the message would not have been written after all
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.MessageHost.DeveloperMode">
                <summary>
                Enables the developer mode. In this all messages are written to the console, in order to make it easier to troubleshoot issues.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.MessageHost.NestedLevelDecrement">
                <summary>
                Message levels can decrease by nested level. This causes messages to have an increasingly reduced level as the size of the callstack increases. 
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.MessageHost.DisableVerbosity">
                <summary>
                Globally override all verbosity
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.MessageHost.EnableMessageTimestamp">
                <summary>
                Include message timestamps in verbose message output
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.MessageHost.EnableMessageDisplayCommand">
                <summary>
                Include the message display command in the verbose message output
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.MessageHost.EnableMessageBreadcrumbs">
                <summary>
                Include the entire callstack in the verbose message output
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.MessageHost.TransformErrorQueueSize">
                <summary>
                The size of the transform error queue. When adding more than this, the oldest entry will be discarded
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.MessageHost.ExceptionTransforms">
                <summary>
                Provides the option to transform exceptions based on the original exception type
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.MessageHost.TargetTransforms">
                <summary>
                Provides the option to transform target objects based on type. This is sometimes important when working with live state objects that should not be serialized.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.MessageHost.TransformErrors">
                <summary>
                The list of transformation errors that occured.
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Message.MessageHost.GetTransformErrors">
                <summary>
                Returns the current queue of failed transformations
                </summary>
                <returns>The list of transformations that failed</returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Message.MessageHost.WriteTransformError(System.Management.Automation.ErrorRecord,System.String,System.String,System.Object,Sqlcollaborative.Dbatools.Message.TransformType,System.Guid)">
                <summary>
                Writes a new transform error
                </summary>
                <param name="Record">The record of what went wrong</param>
                <param name="FunctionName">The name of the function writing the transformed message</param>
                <param name="ModuleName">The module the function writing the transformed message is part of</param>
                <param name="Object">The object that should have been transformed</param>
                <param name="Type">The type of transform that was attempted</param>
                <param name="Runspace">The runspace it all happened on</param>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.MessageHost.ExceptionTransformList">
                <summary>
                List of custom transforms for exceptions
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.MessageHost.TargetTransformlist">
                <summary>
                List of custom transforms for targets
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.MessageHost.MessageLevelModifiers">
                <summary>
                List of all modifiers that apply to message levels
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.MessageHost.Events">
                <summary>
                List of events that subscribe to messages being written
                </summary>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Message.MessageLevel">
                <summary>
                The various levels of verbosity available.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.MessageLevel.Critical">
                <summary>
                Very important message, should be shown to the user as a high priority
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.MessageLevel.Important">
                <summary>
                Important message, the user should read this
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.MessageLevel.Output">
                <summary>
                Important message, the user should read this
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.MessageLevel.Significant">
                <summary>
                Message relevant to the user.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.MessageLevel.VeryVerbose">
                <summary>
                Not important to the regular user, still of some interest to the curious
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.MessageLevel.Verbose">
                <summary>
                Background process information, in case the user wants some detailed information on what is currently happening.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.MessageLevel.SomewhatVerbose">
                <summary>
                A footnote in current processing, rarely of interest to the user
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.MessageLevel.System">
                <summary>
                A message of some interest from an internal system persepctive, but largely irrelevant to the user.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.MessageLevel.Debug">
                <summary>
                Something only of interest to a debugger
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.MessageLevel.InternalComment">
                <summary>
                This message barely made the cut from being culled. Of purely development internal interest, and even there is 'interest' a strong word for it.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.MessageLevel.Warning">
                <summary>
                This message is a warning, sure sign something went badly wrong
                </summary>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Message.MessageLevelModifier">
                <summary>
                A modification to a given message's level
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.MessageLevelModifier.Name">
                <summary>
                Name of the modifier. Prevents duplication in a multi-runspace scenario.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.MessageLevelModifier.Modifier">
                <summary>
                The amount to modify the level by
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.MessageLevelModifier.IncludeFunctionName">
                <summary>
                Apply modifier only to messages from this function.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.MessageLevelModifier.ExcludeFunctionName">
                <summary>
                Apply modifier not when the message is written by this function.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.MessageLevelModifier.IncludeModuleName">
                <summary>
                Apply modifier only to messages from this module
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.MessageLevelModifier.ExcludeModuleName">
                <summary>
                Do not apply modifier to messages from this module
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.MessageLevelModifier.IncludeTags">
                <summary>
                Only apply this modifier to a message that includes at least one of these tags
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.MessageLevelModifier.ExcludeTags">
                <summary>
                Do not apply this modifier to a message that includes any of the following tags
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Message.MessageLevelModifier.AppliesTo(System.String,System.String,System.Collections.Generic.List{System.String})">
                <summary>
                Tests, whether a message a message should be modified by this modiier
                </summary>
                <param name="FunctionName">The name of the function writing the message</param>
                <param name="ModuleName">The name of the module, the function writing this message comes from</param>
                <param name="Tags">The tags of the message written</param>
                <returns>Whether the message applies</returns>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Message.TransformCondition">
                <summary>
                A condition, under which the object shall be transaformed
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.TransformCondition.TypeName">
                <summary>
                Name of the type. All similar types (as determined by the '-like' operator) will be transformed.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.TransformCondition.ModuleName">
                <summary>
                The name of the module to consider, using the -Like operator
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.TransformCondition.FunctionName">
                <summary>
                The name of the function name to consider, using the -Like operator
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.TransformCondition.ScriptBlock">
                <summary>
                The scriptblock that performs the transformation
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.TransformCondition.Type">
                <summary>
                What kind of transformation is being performed?
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Message.TransformCondition.#ctor(System.String,System.String,System.String,System.Management.Automation.ScriptBlock,Sqlcollaborative.Dbatools.Message.TransformType)">
                <summary>
                Initializes a transform condition
                </summary>
                <param name="TypeName">Only objects of similar name will be transformed</param>
                <param name="ModuleName">Only objects coming from similar modules will be considered</param>
                <param name="FunctionName">Only objects coming from similar functions will be considered</param>
                <param name="ScriptBlock">The scriptblock used for the transformation</param>
                <param name="Type">What kind of transformation this is</param>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Message.TransformError">
                <summary>
                An error occured during a message transformation
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.TransformError.Record">
                <summary>
                The error record of what went wrong
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.TransformError.FunctionName">
                <summary>
                The name of the function writing the message that failed to transform
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.TransformError.ModuleName">
                <summary>
                The name of the module the command writing the message came from
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.TransformError.Timestamp">
                <summary>
                When did it all happen?
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.TransformError.Object">
                <summary>
                The object that was supposed to be transformed
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.TransformError.Type">
                <summary>
                The kind of transform that failed
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.TransformError.Runspace">
                <summary>
                The runspace it all happened on
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Message.TransformError.#ctor(System.Management.Automation.ErrorRecord,System.String,System.String,System.Object,Sqlcollaborative.Dbatools.Message.TransformType,System.Guid)">
                <summary>
                Creates a new transform error
                </summary>
                <param name="Record">The record of what went wrong</param>
                <param name="FunctionName">The name of the function writing the transformed message</param>
                <param name="ModuleName">The module the function writing the transformed message is part of</param>
                <param name="Object">The object that should have been transformed</param>
                <param name="Type">The type of transform that was attempted</param>
                <param name="Runspace">The runspace it all happened on</param>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Message.TransformList">
                <summary>
                List engine, managing the lists for a message transformation type
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Message.TransformList.GetAll">
                <summary>
                Returns all entries in the list.
                </summary>
                <returns>The list of transforms contained within</returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Message.TransformList.IsListed(Sqlcollaborative.Dbatools.Message.TransformCondition)">
                <summary>
                Returns whether the actual object is part of the list
                </summary>
                <param name="Condition">The object to test for list membership</param>
                <returns>Whether the object is listed</returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Message.TransformList.IsContained(Sqlcollaborative.Dbatools.Message.TransformCondition)">
                <summary>
                Returns whether a condition with equal conditions already exists
                </summary>
                <param name="Condition">The condition to test</param>
                <returns>Whether the referenced condition is already listed</returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Message.TransformList.Add(Sqlcollaborative.Dbatools.Message.TransformCondition)">
                <summary>
                Adds a condition to the list, if there is no equivalent condition present.
                </summary>
                <param name="Condition">The condition to add</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Message.TransformList.Remove(Sqlcollaborative.Dbatools.Message.TransformCondition)">
                <summary>
                Removes a condition from the lsit of conditional transforms
                </summary>
                <param name="Condition">The condition to remove</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Message.TransformList.Get(System.String,System.String,System.String)">
                <summary>
                Returns the first transform whose filter is similar enough to work out.
                </summary>
                <param name="TypeName">The name of the type to check for a transform</param>
                <param name="ModuleName">The module of the command that wrote the message with the transformable object</param>
                <param name="Functionname">The command that wrote the message with the transformable object</param>
                <returns>Either a transform or null, if no fitting transform was found</returns>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Message.TransformType">
                <summary>
                The messaging system provides these kinds of transformations for input.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.TransformType.Target">
                <summary>
                A target transform can transform the target object specified. Used for live-state objects that should not be serialized on a second thread.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Message.TransformType.Exception">
                <summary>
                An exception transform allows automatic transformation of exceptions. Primarily used to unwrap exceptions from an API that wraps all exceptions.
                </summary>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Parameter.DbaCmConnectionParameter">
                <summary>
                Input converter for Computer Management Information
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Parameter.DbaCmConnectionParameter.Connection">
                <summary>
                The resolved connection object
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Parameter.DbaCmConnectionParameter.Success">
                <summary>
                Whether input processing was successful
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Parameter.DbaCmConnectionParameter.InputObject">
                <summary>
                The object actually passed to the class
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Parameter.DbaCmConnectionParameter.op_Implicit(Sqlcollaborative.Dbatools.Parameter.DbaCmConnectionParameter)~Sqlcollaborative.Dbatools.Connection.ManagementConnection">
                <summary>
                Implicitly convert all connection parameter objects to the connection-type
                </summary>
                <param name="Input">The parameter object to convert</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Parameter.DbaCmConnectionParameter.#ctor(System.String)">
                <summary>
                Creates a new DbaWmConnectionParameter based on an input-name
                </summary>
                <param name="ComputerName">The name of the computer the connection is stored for.</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Parameter.DbaCmConnectionParameter.#ctor(Sqlcollaborative.Dbatools.Connection.ManagementConnection)">
                <summary>
                Creates a new DbaWmConnectionParameter based on an already existing connection object.
                </summary>
                <param name="Connection">The connection to accept</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Parameter.DbaCmConnectionParameter.#ctor(System.Object)">
                <summary>
                Tries to convert a generic input object into a true input.
                </summary>
                <param name="Input">Any damn object in the world</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Parameter.DbaCmConnectionParameter.#ctor(Sqlcollaborative.Dbatools.Parameter.DbaInstanceParameter)">
                <summary>
                Creates a new DbaCmConnectionParameter based on an instance parameter
                </summary>
                <param name="Instance">The instance to interpret</param>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Parameter.DbaCredentialParameter">
                <summary>
                Parameter class that handles the various kinds of credential input
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Parameter.DbaCredentialParameter.Credential">
                <summary>
                The credential object received
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Parameter.DbaCredentialParameter.UserName">
                <summary>
                The name of the credential object
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Parameter.DbaCredentialParameter.Password">
                <summary>
                The password of the credential object
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Parameter.DbaCredentialParameter.#ctor(System.Management.Automation.PSCredential)">
                <summary>
                Creates a credential parameter from a PSCredential object
                </summary>
                <param name="Credential">A PSCredential object</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Parameter.DbaCredentialParameter.#ctor(System.Net.NetworkCredential)">
                <summary>
                Creates a credential parameter from a NetworkCredential object
                </summary>
                <param name="Credential">The credentials to use</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Parameter.DbaCredentialParameter.#ctor(System.Object)">
                <summary>
                Creates a credential parameter from anything it nows how to handle
                </summary>
                <param name="Credential">The object to convert</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Parameter.DbaCredentialParameter.op_Implicit(Sqlcollaborative.Dbatools.Parameter.DbaCredentialParameter)~System.Management.Automation.PSCredential">
                <summary>
                Implicitly converts from DbaCredentialParameter to PSCredential
                </summary>
                <param name="Input">The DbaCredentialParameter to convert</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Parameter.DbaCredentialParameter.op_Implicit(System.Management.Automation.PSCredential)~Sqlcollaborative.Dbatools.Parameter.DbaCredentialParameter">
                <summary>
                Implicitly converts a PSCredential object to DbaCredenitalParameter
                </summary>
                <param name="Input">The PSCredential to convert</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Parameter.DbaCredentialParameter.op_Implicit(Sqlcollaborative.Dbatools.Parameter.DbaCredentialParameter)~System.Net.NetworkCredential">
                <summary>
                Implicitly converts from DbaCredentialParameter to NetworkCredential
                </summary>
                <param name="Input">The DbaCredentialParameter to convert</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Parameter.DbaCredentialParameter.op_Implicit(System.Net.NetworkCredential)~Sqlcollaborative.Dbatools.Parameter.DbaCredentialParameter">
                <summary>
                Implicitly converts a NetworkCredential object to DbaCredenitalParameter
                </summary>
                <param name="Input">The NetworkCredential to convert</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Parameter.DbaCredentialParameter.GetNetworkCredential">
                <summary>
                Legacy wrapper. While there exists implicit conversion, this allows using the object as before, avoiding errors for unknown method.
                </summary>
                <returns>A network credential object with the same credentials as the original object</returns>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Parameter.DbaCredentialParameter.CredentialStore">
                <summary>
                Cached credentials, if the user stors them under a name.
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Parameter.DbaCredentialParameter.GetTypeCode">
                <summary>
                
                </summary>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Parameter.DbaCredentialParameter.ToBoolean(System.IFormatProvider)">
                <summary>
                
                </summary>
                <param name="Format"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Parameter.DbaCredentialParameter.ToChar(System.IFormatProvider)">
                <summary>
                
                </summary>
                <param name="Format"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Parameter.DbaCredentialParameter.ToSByte(System.IFormatProvider)">
                <summary>
                
                </summary>
                <param name="Format"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Parameter.DbaCredentialParameter.ToByte(System.IFormatProvider)">
                <summary>
                
                </summary>
                <param name="Format"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Parameter.DbaCredentialParameter.ToInt16(System.IFormatProvider)">
                <summary>
                
                </summary>
                <param name="Format"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Parameter.DbaCredentialParameter.ToUInt16(System.IFormatProvider)">
                <summary>
                
                </summary>
                <param name="Format"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Parameter.DbaCredentialParameter.ToInt32(System.IFormatProvider)">
                <summary>
                
                </summary>
                <param name="Format"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Parameter.DbaCredentialParameter.ToUInt32(System.IFormatProvider)">
                <summary>
                
                </summary>
                <param name="Format"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Parameter.DbaCredentialParameter.ToInt64(System.IFormatProvider)">
                <summary>
                
                </summary>
                <param name="Format"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Parameter.DbaCredentialParameter.ToUInt64(System.IFormatProvider)">
                <summary>
                
                </summary>
                <param name="Format"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Parameter.DbaCredentialParameter.ToSingle(System.IFormatProvider)">
                <summary>
                
                </summary>
                <param name="Format"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Parameter.DbaCredentialParameter.ToDouble(System.IFormatProvider)">
                <summary>
                
                </summary>
                <param name="Format"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Parameter.DbaCredentialParameter.ToDecimal(System.IFormatProvider)">
                <summary>
                
                </summary>
                <param name="Format"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Parameter.DbaCredentialParameter.ToDateTime(System.IFormatProvider)">
                <summary>
                
                </summary>
                <param name="Format"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Parameter.DbaCredentialParameter.ToString(System.IFormatProvider)">
                <summary>
                
                </summary>
                <param name="Format"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Parameter.DbaCredentialParameter.ToType(System.Type,System.IFormatProvider)">
                <summary>
                Tries to convert the credential parameter to one of its supported types
                </summary>
                <param name="TargetType">The type to convert to</param>
                <param name="Format">Irrelevant</param>
                <returns></returns>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Parameter.DbaDatabaseParameter">
                <summary>
                Parameter class that accepts anything pointing at a database
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Parameter.DbaDatabaseParameter.InputObject">
                <summary>
                The original object passed to the parameter
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Parameter.DbaDatabaseParameter.Database">
                <summary>
                The SMO Database Object
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Parameter.DbaDatabaseParameter.Name">
                <summary>
                The name of the database
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Parameter.DbaDatabaseParameter.#ctor(System.String)">
                <summary>
                Accepts the name of a database and converts it to a DbaDatabaseParameter
                </summary>
                <param name="Name"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Parameter.DbaDatabaseParameter.#ctor(System.Object)">
                <summary>
                Accepts anything and tries to convert it to a live SMO Database object
                </summary>
                <param name="Item">The item to convert</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Parameter.DbaDatabaseParameter.ToString">
                <summary>
                Overrides the regular tostring to show something pleasant and useful
                </summary>
                <returns>The name of the database</returns>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Parameter.DbaDatabaseSmoParameter">
                <summary>
                Parameter class that only accepts live SMO Databases
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Parameter.DbaDatabaseSmoParameter.InputObject">
                <summary>
                The original object passed to the parameter
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Parameter.DbaDatabaseSmoParameter.Database">
                <summary>
                The SMO Database Object
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Parameter.DbaDatabaseSmoParameter.Name">
                <summary>
                The name of the database
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Parameter.DbaDatabaseSmoParameter.#ctor(System.Object)">
                <summary>
                Accepts anything and tries to convert it to a live SMO Database object
                </summary>
                <param name="Item">The item to convert</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Parameter.DbaDatabaseSmoParameter.ToString">
                <summary>
                Overrides the regular tostring to show something pleasant and useful
                </summary>
                <returns>The name of the database</returns>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Parameter.DbaInstanceInputType">
                <summary>
                What kind of object was bound to the parameter class?
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Parameter.DbaInstanceInputType.Default">
                <summary>
                Anything, really. An unspecific not reusable type was bound
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Parameter.DbaInstanceInputType.Linked">
                <summary>
                A live smo linked server object was bound
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Parameter.DbaInstanceInputType.Server">
                <summary>
                A live smo server object was bound
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Parameter.DbaInstanceInputType.RegisteredServer">
                <summary>
                A Central Management Server RegisteredServer SMO object was bound
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Parameter.DbaInstanceInputType.ConnectionString">
                <summary>
                An actual connection string was specified. Connection strings are directly reused for SMO connections
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Parameter.DbaInstanceInputType.ConnectionStringLocalDB">
                <summary>
                A connection string pointing at a local, file-based DB
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Parameter.DbaInstanceInputType.SqlConnection">
                <summary>
                An already established sql connection to was created outside of SMO
                </summary>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Parameter.DbaInstanceParameter">
                <summary>
                Input converter for instance information
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Parameter.DbaInstanceParameter.ComputerName">
                <summary>
                Name of the computer as resolvable by DNS
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Parameter.DbaInstanceParameter.InstanceName">
                <summary>
                Name of the instance on the target server
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Parameter.DbaInstanceParameter.Port">
                <summary>
                The port over which to connect to the server. Only present if non-default
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Parameter.DbaInstanceParameter.NetworkProtocol">
                <summary>
                The network protocol to connect over
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Parameter.DbaInstanceParameter.IsLocalHost">
                <summary>
                Verifies, whether the specified computer is localhost or not.
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Parameter.DbaInstanceParameter.FullName">
                <summary>
                Full name of the instance, including the server-name
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Parameter.DbaInstanceParameter.FullSmoName">
                <summary>
                Full name of the instance, including the server-name, used when connecting via SMO
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Parameter.DbaInstanceParameter.SqlComputerName">
                <summary>
                Name of the computer as used in an SQL Statement
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Parameter.DbaInstanceParameter.SqlInstanceName">
                <summary>
                Name of the instance as used in an SQL Statement
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Parameter.DbaInstanceParameter.SqlFullName">
                <summary>
                Full name of the instance, including the server-name as used in an SQL statement
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Parameter.DbaInstanceParameter.IsConnectionString">
                <summary>
                Whether the input is a connection string
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Parameter.DbaInstanceParameter.InputObject">
                <summary>
                The original object passed to the parameter class.
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Parameter.DbaInstanceParameter.Type">
                <summary>
                What kind of object was bound to the parameter class? For efficiency's purposes.
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Parameter.DbaInstanceParameter.LinkedLive">
                <summary>
                Returns, whether a live SMO object was bound for the purpose of accessing LinkedServer functionality
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Parameter.DbaInstanceParameter.LinkedServer">
                <summary>
                Returns the available Linked Server objects from live objects only
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Parameter.DbaInstanceParameter.op_Implicit(Sqlcollaborative.Dbatools.Parameter.DbaInstanceParameter)~System.String">
                <summary>
                Converts the parameter class to its full name
                </summary>
                <param name="Input">The parameter class object to convert</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Parameter.DbaInstanceParameter.#ctor(System.String)">
                <summary>
                Creates a DBA Instance Parameter from string
                </summary>
                <param name="Name">The name of the instance</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Parameter.DbaInstanceParameter.#ctor(System.Net.IPAddress)">
                <summary>
                Creates a DBA Instance Parameter from an IPAddress
                </summary>
                <param name="Address"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Parameter.DbaInstanceParameter.#ctor(System.Net.NetworkInformation.PingReply)">
                <summary>
                Creates a DBA Instance Parameter from the reply to a ping
                </summary>
                <param name="Ping">The result of a ping</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Parameter.DbaInstanceParameter.#ctor(System.Net.IPHostEntry)">
                <summary>
                Creates a DBA Instance Parameter from the result of a dns resolution
                </summary>
                <param name="Entry">The result of a dns resolution, to be used for targetting the default instance</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Parameter.DbaInstanceParameter.#ctor(System.Data.SqlClient.SqlConnection)">
                <summary>
                Creates a DBA Instance Parameter from an established SQL Connection
                </summary>
                <param name="Connection">The connection to reuse</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Parameter.DbaInstanceParameter.#ctor(Sqlcollaborative.Dbatools.Discovery.DbaInstanceReport)">
                <summary>
                Accept and understand discovery reports.
                </summary>
                <param name="Report">The report to interpret</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Parameter.DbaInstanceParameter.#ctor(System.Object)">
                <summary>
                Creates a DBA Instance parameter from any object
                </summary>
                <param name="Input">Object to parse</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Parameter.DbaInstanceParameter.ToString">
                <summary>
                Overrides the regular <c>ToString()</c> to show something pleasant and useful
                </summary>
                <returns>The <see cref="P:Sqlcollaborative.Dbatools.Parameter.DbaInstanceParameter.FullSmoName"/></returns>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Parameter.DbaSelectParameter">
                <summary>
                Class that automatically parses input chosen for the -Property parameter of Select-PSUObject
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Parameter.DbaSelectParameter.InputObject">
                <summary>
                The original input object
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Parameter.DbaSelectParameter.Value">
                <summary>
                The value as Select-Object wants it
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Parameter.DbaSelectParameter.#ctor(System.String)">
                <summary>
                Builds a property parameter from string
                </summary>
                <param name="Value">The string to interpret</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Parameter.DbaSelectParameter.#ctor(System.Collections.Hashtable)">
                <summary>
                Builds a select parameter from a hashtable (pretty straightforward)
                </summary>
                <param name="Hash">The hashtable to accept</param>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Parameter.ParameterContractAttribute">
                <summary>
                The attribute used to define the elements of a ParameterClass contract
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Parameter.ParameterContractAttribute.Type">
                <summary>
                Returns the type of the element this attribute is supposed to be attached to.
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Parameter.ParameterContractAttribute.Behavior">
                <summary>
                Returns the behavior to expect from the contracted element. This sets the expectations on how this element is likely to act.
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Parameter.ParameterContractAttribute.#ctor(Sqlcollaborative.Dbatools.Parameter.ParameterContractType,Sqlcollaborative.Dbatools.Parameter.ParameterContractBehavior)">
                <summary>
                Ceates a perfectly common parameter contract attribute. For use with all parameter classes' public elements.
                </summary>
                <param name="Type"></param>
                <param name="Behavior"></param>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Parameter.ParameterContractBehavior">
                <summary>
                Defines how this element will behave
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Parameter.ParameterContractBehavior.NotContracted">
                <summary>
                This elements is not actually part of the contract. Generally you wouldn't want to add the attribute at all in that case. However, in some places it helps avoiding confusion.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Parameter.ParameterContractBehavior.Mandatory">
                <summary>
                This element may never be null and must be considered in all assignments. Even if the element is de facto not nullable, all constructors must assign it.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Parameter.ParameterContractBehavior.Optional">
                <summary>
                This element may contain data, but is not required to. In case of a method, it may simply do nothing
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Parameter.ParameterContractBehavior.Failable">
                <summary>
                This method may throw an error when executing and should always be handled with try/catch. Use this on methods that use external calls.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Parameter.ParameterContractBehavior.Arbiter">
                <summary>
                The content of the thus marked field determines the dependent's state. Generally, only if the arbiter is true, will the dependent elements be mandatory. This behavior may only be assigned to boolean fields.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Parameter.ParameterContractBehavior.Conditional">
                <summary>
                This behavior can be assigned together with the 'Mandatory' behavior. It means the field is only mandatory if an arbiter field is present and set to true.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Parameter.ParameterContractBehavior.Conversion">
                <summary>
                Converts content. Generally applied only to operators, but some methods may also convert information.
                </summary>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Parameter.ParameterContractType">
                <summary>
                Defines what kind of element is granted the contract
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Parameter.ParameterContractType.Field">
                <summary>
                The contracted element is a field containing a value
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Parameter.ParameterContractType.Method">
                <summary>
                The contracted element is a method, performing an action
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Parameter.ParameterContractType.Operator">
                <summary>
                The contracted element is an operator, facilitating type conversion. Generally into a dedicated object type this parameterclass abstracts.
                </summary>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Runspace.DbaRunspaceState">
                <summary>
                Contains the state a managed, unique runspace can be in.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Runspace.DbaRunspaceState.Running">
                <summary>
                The runspace is up and running
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Runspace.DbaRunspaceState.Stopping">
                <summary>
                The runspace has received the stop order, but has not yet obeyed it
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Runspace.DbaRunspaceState.Stopped">
                <summary>
                The runspace has followed its order to stop and is currently disabled
                </summary>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Runspace.RunspaceContainer">
                <summary>
                Class that contains the logic necessary to manage a unique runspace
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Runspace.RunspaceContainer.Name">
                <summary>
                The name of the runspace.
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Runspace.RunspaceContainer.RunspaceGuid">
                <summary>
                The Guid of the running Runspace
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Runspace.RunspaceContainer.SetScript(System.Management.Automation.ScriptBlock)">
                <summary>
                Sets the script to execute in the runspace. Will NOT take immediate effect. Only after restarting the runspace will it be used.
                </summary>
                <param name="Script">The scriptblock to execute</param>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Runspace.RunspaceContainer.State">
                <summary>
                The state the runspace currently is in.
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Runspace.RunspaceContainer.Start">
                <summary>
                Starts the Runspace.
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Runspace.RunspaceContainer.SetName(System.Management.Automation.Runspaces.Runspace)">
                <summary>
                Sets the name on a runspace. This WILL FAIL for PowerShell v3!
                </summary>
                <param name="Runspace">The runspace to be named</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Runspace.RunspaceContainer.Stop">
                <summary>
                Gracefully stops the Runspace
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Runspace.RunspaceContainer.Kill">
                <summary>
                Very ungracefully kills the runspace. Use only in the most dire emergency.
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Runspace.RunspaceContainer.SignalStopped">
                <summary>
                Signals the registered runspace has stopped execution
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Runspace.RunspaceContainer.#ctor(System.String,System.Management.Automation.ScriptBlock)">
                <summary>
                Creates a new runspace container with the basic information needed
                </summary>
                <param name="Name">The name of the Runspace</param>
                <param name="Script">The code using the runspace logic</param>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Runspace.RunspaceHost">
                <summary>
                Provides hosting for all registered runspaces
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Runspace.RunspaceHost.StopTimeoutSeconds">
                <summary>
                The number of seconds before a Stop command is interrupted and instead the runspace is gracelessly shut down.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Runspace.RunspaceHost.Runspaces">
                <summary>
                The dictionary containing the definitive list of unique Runspace
                </summary>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.TabExpansion.InstanceAccess">
                <summary>
                Contains information on access to an instance
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.TabExpansion.InstanceAccess.InstanceName">
                <summary>
                The name of the instance to access
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.TabExpansion.InstanceAccess.IsSysAdmin">
                <summary>
                Whether the account had sysadmin privileges. On multiple user usage, the cache will prefer sysadmin accounts.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.TabExpansion.InstanceAccess.ConnectionObject">
                <summary>
                The actual connection object to connect with to the server
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.TabExpansion.InstanceAccess.LastAccess">
                <summary>
                When was the instance last accessed using dbatools
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.TabExpansion.InstanceAccess.LastUpdate">
                <summary>
                When was the instance's TEPP cache last updated
                </summary>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.TabExpansion.ScriptContainer">
                <summary>
                Regular container to store scripts in, that are used in TEPP
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.TabExpansion.ScriptContainer.Name">
                <summary>
                The name of the scriptblock
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.TabExpansion.ScriptContainer.ScriptBlock">
                <summary>
                The scriptblock doing the logic
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.TabExpansion.ScriptContainer.LastExecution">
                <summary>
                The last time the scriptblock was called. Must be updated by the scriptblock itself
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.TabExpansion.ScriptContainer.LastDuration">
                <summary>
                The time it took to run the last time
                </summary>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.TabExpansion.TabCompletionSet">
                <summary>
                Contains information used to transmit Tepp Assignment
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.TabExpansion.TabCompletionSet.Command">
                <summary>
                The name of the command to complete. "*" if all commands that have the parameter should be selected instead
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.TabExpansion.TabCompletionSet.Parameter">
                <summary>
                The parameter to complete
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.TabExpansion.TabCompletionSet.Script">
                <summary>
                The name of the script to complete with
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.TabExpansion.TabCompletionSet.#ctor(System.String,System.String,System.String)">
                <summary>
                Creates a new tab completion set object with all information prefilled
                </summary>
                <param name="Command">The name of the command to complete. "*" if all commands that have the parameter should be selected instead</param>
                <param name="Parameter">The parameter to complete</param>
                <param name="Script">The name of the script to complete with</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.TabExpansion.TabCompletionSet.Applies(System.String,System.String)">
                <summary>
                Tests, whether the completion set applies to the specified parameter / command combination
                </summary>
                <param name="Command">The command to test</param>
                <param name="Parameter">The parameter of the command to test</param>
                <returns>Whether this completion set applies to the specified combination of parameter / command</returns>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.TabExpansion.TabExpansionHost">
                <summary>
                Class that handles the static fields supporting the dbatools TabExpansion implementation
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.TabExpansion.TabExpansionHost.Scripts">
                <summary>
                Field containing the scripts that were registered.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.TabExpansion.TabExpansionHost.Cache">
                <summary>
                The cache used by scripts utilizing TabExpansionPlusPlus in dbatools
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.TabExpansion.TabExpansionHost.InstanceAccess">
                <summary>
                List of instances and when they were last accessed
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.TabExpansion.TabExpansionHost.TeppGatherScriptsFast">
                <summary>
                Scripts that build the cache and are suitable for synchronous execution
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.TabExpansion.TabExpansionHost.TeppGatherScriptsSlow">
                <summary>
                Scripts that build the cache and are not suitable for synchronous execution
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.TabExpansion.TabExpansionHost.DbatoolsCommands">
                <summary>
                A list of all commands imported into dbatools
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.TabExpansion.TabExpansionHost.TabCompletionSets">
                <summary>
                List of completion sets that should be processed into Tepp Assignments. Only populate this list on first import.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.TabExpansion.TabExpansionHost.TeppAssignment">
                <summary>
                Maps a TEPP scriptblock to a command and parameter
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.TabExpansion.TabExpansionHost.SetInstance(System.String,System.Object,System.Boolean)">
                <summary>
                Registers a new instance or updates an already existing one. Should only be called from Connect-SqlInstance and Connect-DbaSqlServer
                </summary>
                <param name="InstanceName">Name of the instance connected to</param>
                <param name="Connection">To connection object containing the relevant information for accessing the instance</param>
                <param name="IsSysAdmin">Whether the account connecting to the instnace has SA privileges</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.TabExpansion.TabExpansionHost.GetTeppScript(System.String,System.String)">
                <summary>
                Returns the assigned scriptblock for a given parameter
                </summary>
                <param name="Command">The command that should be completed</param>
                <param name="Parameter">The parameter completion is provided for</param>
                <returns>Either the relevant script container or null</returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.TabExpansion.TabExpansionHost.SetTeppScript(System.String,System.String,System.String)">
                <summary>
                Assigns a registered script to the parameter of a command
                </summary>
                <param name="Command">The command for which to complete</param>
                <param name="Parameter">The parameter for which to complete</param>
                <param name="Script">To name of the script with which to complete</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.TabExpansion.TabExpansionHost.AddTabCompletionSet(System.String,System.String,System.String)">
                <summary>
                Adds a completion set to the list of items to process
                </summary>
                <param name="Command">The command to complete for (accepts wildcard matching)</param>
                <param name="Parameter">The parameter to complete for (accepts wildcard matching)</param>
                <param name="Script">The script to register</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.TabExpansion.TabExpansionHost.CalculateTabExpansion">
                <summary>
                Processes the content of TabCompletionSets and Scripts into TappAssignments based on the DbatoolsCommands list.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.TabExpansion.TabExpansionHost.TeppDisabled">
                <summary>
                Whether TEPP in its entirety is disabled
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.TabExpansion.TabExpansionHost.TeppAsyncDisabled">
                <summary>
                Whether asynchronous TEPP updating should be disabled
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.TabExpansion.TabExpansionHost.TeppSyncDisabled">
                <summary>
                Whether synchronous TEPP updating should be disabled
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.TabExpansion.TabExpansionHost.TeppUpdateInterval">
                <summary>
                The interval in which asynchronous TEPP cache updates are performed
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.TabExpansion.TabExpansionHost.TeppUpdateTimeout">
                <summary>
                After this timespan of no requests to a server, the updates to its cache are disabled.
                </summary>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.TypeConversion.DbaCredentialParameterConverter">
                <summary>
                Converts to and from DbaCredentialparameter
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.TypeConversion.DbaCredentialParameterConverter.CanConvertTo(System.Object,System.Type)">
                <summary>
                Verifies, whether a conversion for the object to the target type is possible
                </summary>
                <param name="SourceValue">The object to convert</param>
                <param name="DestinationType">The type to convert to</param>
                <returns>Whether it's possible, duh!</returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.TypeConversion.DbaCredentialParameterConverter.ConvertTo(System.Object,System.Type,System.IFormatProvider,System.Boolean)">
                <summary>
                Converts from DbaCredentialparameter to whatever destination type is attempted
                </summary>
                <param name="sourceValue">The source object. Better be a DbaCredentialparameter!</param>
                <param name="destinationType">Should be a supported destination type</param>
                <param name="formatProvider">Irrelevant</param>
                <param name="ignoreCase">Irrelevant</param>
                <returns>The target content type</returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.TypeConversion.DbaCredentialParameterConverter.CanConvertFrom(System.Object,System.Type)">
                <summary>
                Verifies, whether a conversion for the object from the source type to DbaCredentialParameter is possible
                </summary>
                <param name="SourceValue">The object to convert</param>
                <param name="DestinationType">The source type to convert to</param>
                <returns>Whether it's possible, duh!</returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.TypeConversion.DbaCredentialParameterConverter.ConvertFrom(System.Object,System.Type,System.IFormatProvider,System.Boolean)">
                <summary>
                Converts a source object to DbaCredentialparameter
                </summary>
                <param name="sourceValue">The source object</param>
                <param name="destinationType">The destination type. Must be DbaCredentialParameter, or red stuff happens</param>
                <param name="formatProvider">Irrelevant</param>
                <param name="ignoreCase">Irrelevant</param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.TypeConversion.DbaCredentialParameterConverter.IsSupportedType(System.Type)">
                <summary>
                Returns, whether a given type is supported for conversion
                </summary>
                <param name="type">The type to validate</param>
                <returns>Whether it's a supported conversion</returns>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Utility.DateTimeExtension">
                <summary>
                Extends DateTime
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DateTimeExtension.CompareTo(System.DateTime,Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase)">
                <summary>
                Adds a compareTo method to DateTime to compare with DbaDateTimeBase
                </summary>
                <param name="Base">The extended DateTime object</param>
                <param name="comparedTo">The DbaDateTimeBase to compare with</param>
                <returns></returns>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Utility.DbaDate">
                <summary>
                A dbatools-internal datetime wrapper for neater display
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDate.#ctor(System.DateTime)">
                <summary>
                Constructs a generic timestamp object wrapper from an input timestamp object.
                </summary>
                <param name="Timestamp">The timestamp to wrap</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDate.#ctor(System.String)">
                <summary>
                Parses a string into a datetime object.
                </summary>
                <param name="Time">The time-string to parse</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDate.#ctor(System.Int64)">
                <summary>
                
                </summary>
                <param name="ticks"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDate.#ctor(System.Int64,System.DateTimeKind)">
                <summary>
                
                </summary>
                <param name="ticks"></param>
                <param name="kind"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDate.#ctor(System.Int32,System.Int32,System.Int32)">
                <summary>
                
                </summary>
                <param name="year"></param>
                <param name="month"></param>
                <param name="day"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDate.#ctor(System.Int32,System.Int32,System.Int32,System.Globalization.Calendar)">
                <summary>
                
                </summary>
                <param name="year"></param>
                <param name="month"></param>
                <param name="day"></param>
                <param name="calendar"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDate.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)">
                <summary>
                
                </summary>
                <param name="year"></param>
                <param name="month"></param>
                <param name="day"></param>
                <param name="hour"></param>
                <param name="minute"></param>
                <param name="second"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDate.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.DateTimeKind)">
                <summary>
                
                </summary>
                <param name="year"></param>
                <param name="month"></param>
                <param name="day"></param>
                <param name="hour"></param>
                <param name="minute"></param>
                <param name="second"></param>
                <param name="kind"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDate.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Globalization.Calendar)">
                <summary>
                
                </summary>
                <param name="year"></param>
                <param name="month"></param>
                <param name="day"></param>
                <param name="hour"></param>
                <param name="minute"></param>
                <param name="second"></param>
                <param name="calendar"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDate.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)">
                <summary>
                
                </summary>
                <param name="year"></param>
                <param name="month"></param>
                <param name="day"></param>
                <param name="hour"></param>
                <param name="minute"></param>
                <param name="second"></param>
                <param name="millisecond"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDate.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.DateTimeKind)">
                <summary>
                
                </summary>
                <param name="year"></param>
                <param name="month"></param>
                <param name="day"></param>
                <param name="hour"></param>
                <param name="minute"></param>
                <param name="second"></param>
                <param name="millisecond"></param>
                <param name="kind"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDate.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Globalization.Calendar)">
                <summary>
                
                </summary>
                <param name="year"></param>
                <param name="month"></param>
                <param name="day"></param>
                <param name="hour"></param>
                <param name="minute"></param>
                <param name="second"></param>
                <param name="millisecond"></param>
                <param name="calendar"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDate.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Globalization.Calendar,System.DateTimeKind)">
                <summary>
                
                </summary>
                <param name="year"></param>
                <param name="month"></param>
                <param name="day"></param>
                <param name="hour"></param>
                <param name="minute"></param>
                <param name="second"></param>
                <param name="millisecond"></param>
                <param name="calendar"></param>
                <param name="kind"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDate.ToString">
                <summary>
                Provids the default-formated string, using the defined default formatting.
                </summary>
                <returns>Formatted datetime-string</returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDate.op_Implicit(Sqlcollaborative.Dbatools.Utility.DbaDate)~System.DateTime">
                <summary>
                Implicitly convert to DateTime
                </summary>
                <param name="Base">The source object to convert</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDate.op_Implicit(System.DateTime)~Sqlcollaborative.Dbatools.Utility.DbaDate">
                <summary>
                Implicitly convert from DateTime
                </summary>
                <param name="Base">The object to convert</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDate.op_Implicit(Sqlcollaborative.Dbatools.Utility.DbaDate)~Sqlcollaborative.Dbatools.Utility.DbaDateTime">
                <summary>
                Implicitly convert to DbaDate
                </summary>
                <param name="Base">The source object to convert</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDate.op_Implicit(Sqlcollaborative.Dbatools.Utility.DbaDate)~Sqlcollaborative.Dbatools.Utility.DbaTime">
                <summary>
                Implicitly convert to DbaTime
                </summary>
                <param name="Base">The source object to convert</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDate.Generate(System.DateTime)">
                <summary>
                Generates a DbaDate object based off DateTime object. Will be null if Base is the start value (Tickes == 0).
                </summary>
                <param name="Base">The Datetime to base it off</param>
                <returns>The object to generate (or null)</returns>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Utility.DbaDateTime">
                <summary>
                A dbatools-internal datetime wrapper for neater display
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTime.#ctor(System.DateTime)">
                <summary>
                Constructs a generic timestamp object wrapper from an input timestamp object.
                </summary>
                <param name="Timestamp">The timestamp to wrap</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTime.#ctor(System.String)">
                <summary>
                Parses a string into a datetime object.
                </summary>
                <param name="Time">The time-string to parse</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTime.#ctor(System.Int64)">
                <summary>
                
                </summary>
                <param name="ticks"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTime.#ctor(System.Int64,System.DateTimeKind)">
                <summary>
                
                </summary>
                <param name="ticks"></param>
                <param name="kind"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTime.#ctor(System.Int32,System.Int32,System.Int32)">
                <summary>
                
                </summary>
                <param name="year"></param>
                <param name="month"></param>
                <param name="day"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTime.#ctor(System.Int32,System.Int32,System.Int32,System.Globalization.Calendar)">
                <summary>
                
                </summary>
                <param name="year"></param>
                <param name="month"></param>
                <param name="day"></param>
                <param name="calendar"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTime.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)">
                <summary>
                
                </summary>
                <param name="year"></param>
                <param name="month"></param>
                <param name="day"></param>
                <param name="hour"></param>
                <param name="minute"></param>
                <param name="second"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTime.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.DateTimeKind)">
                <summary>
                
                </summary>
                <param name="year"></param>
                <param name="month"></param>
                <param name="day"></param>
                <param name="hour"></param>
                <param name="minute"></param>
                <param name="second"></param>
                <param name="kind"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTime.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Globalization.Calendar)">
                <summary>
                
                </summary>
                <param name="year"></param>
                <param name="month"></param>
                <param name="day"></param>
                <param name="hour"></param>
                <param name="minute"></param>
                <param name="second"></param>
                <param name="calendar"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTime.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)">
                <summary>
                
                </summary>
                <param name="year"></param>
                <param name="month"></param>
                <param name="day"></param>
                <param name="hour"></param>
                <param name="minute"></param>
                <param name="second"></param>
                <param name="millisecond"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTime.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.DateTimeKind)">
                <summary>
                
                </summary>
                <param name="year"></param>
                <param name="month"></param>
                <param name="day"></param>
                <param name="hour"></param>
                <param name="minute"></param>
                <param name="second"></param>
                <param name="millisecond"></param>
                <param name="kind"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTime.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Globalization.Calendar)">
                <summary>
                
                </summary>
                <param name="year"></param>
                <param name="month"></param>
                <param name="day"></param>
                <param name="hour"></param>
                <param name="minute"></param>
                <param name="second"></param>
                <param name="millisecond"></param>
                <param name="calendar"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTime.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Globalization.Calendar,System.DateTimeKind)">
                <summary>
                
                </summary>
                <param name="year"></param>
                <param name="month"></param>
                <param name="day"></param>
                <param name="hour"></param>
                <param name="minute"></param>
                <param name="second"></param>
                <param name="millisecond"></param>
                <param name="calendar"></param>
                <param name="kind"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTime.ToString">
                <summary>
                Provids the default-formated string, using the defined default formatting.
                </summary>
                <returns>Formatted datetime-string</returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTime.op_Implicit(Sqlcollaborative.Dbatools.Utility.DbaDateTime)~System.DateTime">
                <summary>
                Implicitly convert to DateTime
                </summary>
                <param name="Base">The source object to convert</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTime.op_Implicit(System.DateTime)~Sqlcollaborative.Dbatools.Utility.DbaDateTime">
                <summary>
                Implicitly convert from DateTime
                </summary>
                <param name="Base">The object to convert</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTime.op_Implicit(Sqlcollaborative.Dbatools.Utility.DbaDateTime)~Sqlcollaborative.Dbatools.Utility.DbaDate">
                <summary>
                Implicitly convert to DbaDate
                </summary>
                <param name="Base">The source object to convert</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTime.op_Implicit(Sqlcollaborative.Dbatools.Utility.DbaDateTime)~Sqlcollaborative.Dbatools.Utility.DbaTime">
                <summary>
                Implicitly convert to DbaTime
                </summary>
                <param name="Base">The source object to convert</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTime.Generate(System.DateTime)">
                <summary>
                Generates a DbaDateTime object based off DateTime object. Will be null if Base is the start value (Tickes == 0).
                </summary>
                <param name="Base">The Datetime to base it off</param>
                <returns>The object to generate (or null)</returns>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase">
                <summary>
                Base class for wrapping around a DateTime object
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase._timestamp">
                <summary>
                The core resource, containing the actual timestamp
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.Date">
                <summary>
                Gets the date component of this instance.
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.Day">
                <summary>
                Gets the day of the month represented by this instance.
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.DayOfWeek">
                <summary>
                Gets the day of the week represented by this instance.
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.DayOfYear">
                <summary>
                Gets the day of the year represented by this instance.
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.Hour">
                <summary>
                Gets the hour component of the date represented by this instance.
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.Kind">
                <summary>
                Gets a value that indicates whether the time represented by this instance is based on local time, Coordinated Universal Time (UTC), or neither.
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.Millisecond">
                <summary>
                Gets the milliseconds component of the date represented by this instance.
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.Minute">
                <summary>
                Gets the minute component of the date represented by this instance.
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.Month">
                <summary>
                Gets the month component of the date represented by this instance.
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.Second">
                <summary>
                Gets the seconds component of the date represented by this instance.
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.Ticks">
                <summary>
                Gets the number of ticks that represent the date and time of this instance.
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.TimeOfDay">
                <summary>
                Gets the time of day for this instance.
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.Year">
                <summary>
                Gets the year component of the date represented by this instance.
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.#ctor">
                <summary>
                Constructor that should never be called, since this class should never be instantiated. It's there for implicit calls on child classes.
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.#ctor(System.DateTime)">
                <summary>
                Constructs a generic timestamp object wrapper from an input timestamp object.
                </summary>
                <param name="Timestamp">The timestamp to wrap</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.#ctor(System.String)">
                <summary>
                Parses a string into a datetime object.
                </summary>
                <param name="Time">The time-string to parse</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.#ctor(System.Int64)">
                <summary>
                
                </summary>
                <param name="ticks"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.#ctor(System.Int64,System.DateTimeKind)">
                <summary>
                
                </summary>
                <param name="ticks"></param>
                <param name="kind"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.#ctor(System.Int32,System.Int32,System.Int32)">
                <summary>
                
                </summary>
                <param name="year"></param>
                <param name="month"></param>
                <param name="day"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.#ctor(System.Int32,System.Int32,System.Int32,System.Globalization.Calendar)">
                <summary>
                
                </summary>
                <param name="year"></param>
                <param name="month"></param>
                <param name="day"></param>
                <param name="calendar"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)">
                <summary>
                
                </summary>
                <param name="year"></param>
                <param name="month"></param>
                <param name="day"></param>
                <param name="hour"></param>
                <param name="minute"></param>
                <param name="second"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.DateTimeKind)">
                <summary>
                
                </summary>
                <param name="year"></param>
                <param name="month"></param>
                <param name="day"></param>
                <param name="hour"></param>
                <param name="minute"></param>
                <param name="second"></param>
                <param name="kind"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Globalization.Calendar)">
                <summary>
                
                </summary>
                <param name="year"></param>
                <param name="month"></param>
                <param name="day"></param>
                <param name="hour"></param>
                <param name="minute"></param>
                <param name="second"></param>
                <param name="calendar"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)">
                <summary>
                
                </summary>
                <param name="year"></param>
                <param name="month"></param>
                <param name="day"></param>
                <param name="hour"></param>
                <param name="minute"></param>
                <param name="second"></param>
                <param name="millisecond"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.DateTimeKind)">
                <summary>
                
                </summary>
                <param name="year"></param>
                <param name="month"></param>
                <param name="day"></param>
                <param name="hour"></param>
                <param name="minute"></param>
                <param name="second"></param>
                <param name="millisecond"></param>
                <param name="kind"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Globalization.Calendar)">
                <summary>
                
                </summary>
                <param name="year"></param>
                <param name="month"></param>
                <param name="day"></param>
                <param name="hour"></param>
                <param name="minute"></param>
                <param name="second"></param>
                <param name="millisecond"></param>
                <param name="calendar"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Globalization.Calendar,System.DateTimeKind)">
                <summary>
                
                </summary>
                <param name="year"></param>
                <param name="month"></param>
                <param name="day"></param>
                <param name="hour"></param>
                <param name="minute"></param>
                <param name="second"></param>
                <param name="millisecond"></param>
                <param name="calendar"></param>
                <param name="kind"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.Add(System.TimeSpan)">
                <summary>
                
                </summary>
                <param name="value"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.AddDays(System.Double)">
                <summary>
                
                </summary>
                <param name="value"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.AddHours(System.Double)">
                <summary>
                
                </summary>
                <param name="value"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.AddMilliseconds(System.Double)">
                <summary>
                
                </summary>
                <param name="value"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.AddMinutes(System.Double)">
                <summary>
                
                </summary>
                <param name="value"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.AddMonths(System.Int32)">
                <summary>
                
                </summary>
                <param name="months"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.AddSeconds(System.Double)">
                <summary>
                
                </summary>
                <param name="value"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.AddTicks(System.Int64)">
                <summary>
                
                </summary>
                <param name="value"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.AddYears(System.Int32)">
                <summary>
                
                </summary>
                <param name="value"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.CompareTo(System.Object)">
                <summary>
                
                </summary>
                <param name="value"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.CompareTo(System.DateTime)">
                <summary>
                
                </summary>
                <param name="value"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.Equals(System.Object)">
                <summary>
                
                </summary>
                <param name="value"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.Equals(System.DateTime)">
                <summary>
                
                </summary>
                <param name="value"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.GetDateTimeFormats">
                <summary>
                
                </summary>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.GetDateTimeFormats(System.IFormatProvider)">
                <summary>
                
                </summary>
                <param name="provider"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.GetDateTimeFormats(System.Char)">
                <summary>
                
                </summary>
                <param name="format"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.GetDateTimeFormats(System.Char,System.IFormatProvider)">
                <summary>
                
                </summary>
                <param name="format"></param>
                <param name="provider"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.GetBaseObject">
                <summary>
                Retrieve base DateTime object, this is a wrapper for
                </summary>
                <returns>Base DateTime object</returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.GetHashCode">
                <summary>
                
                </summary>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.GetTypeCode">
                <summary>
                
                </summary>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.IsDaylightSavingTime">
                <summary>
                
                </summary>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.Subtract(System.DateTime)">
                <summary>
                
                </summary>
                <param name="value"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.Subtract(System.TimeSpan)">
                <summary>
                
                </summary>
                <param name="value"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.ToBinary">
                <summary>
                
                </summary>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.ToFileTime">
                <summary>
                
                </summary>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.ToFileTimeUtc">
                <summary>
                
                </summary>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.ToLocalTime">
                <summary>
                
                </summary>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.ToLongDateString">
                <summary>
                
                </summary>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.ToLongTimeString">
                <summary>
                
                </summary>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.ToOADate">
                <summary>
                
                </summary>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.ToShortDateString">
                <summary>
                
                </summary>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.ToShortTimeString">
                <summary>
                
                </summary>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.ToString(System.String)">
                <summary>
                
                </summary>
                <param name="format"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.ToString(System.IFormatProvider)">
                <summary>
                
                </summary>
                <param name="provider"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.ToString(System.String,System.IFormatProvider)">
                <summary>
                
                </summary>
                <param name="format"></param>
                <param name="provider"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.ToUniversalTime">
                <summary>
                
                </summary>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.ParseDateTime(System.String)">
                <summary>
                Parses input string into datetime
                </summary>
                <param name="Value">The string to parse</param>
                <returns>The resultant datetime.</returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.op_Addition(Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase,System.TimeSpan)">
                <summary>
                
                </summary>
                <param name="Timestamp"></param>
                <param name="Duration"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.op_Subtraction(Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase,System.TimeSpan)">
                <summary>
                
                </summary>
                <param name="Timestamp"></param>
                <param name="Duration"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.op_Equality(Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase,Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase)">
                <summary>
                
                </summary>
                <param name="Timestamp1"></param>
                <param name="Timestamp2"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.op_Inequality(Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase,Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase)">
                <summary>
                
                </summary>
                <param name="Timestamp1"></param>
                <param name="Timestamp2"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.op_GreaterThan(Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase,Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase)">
                <summary>
                
                </summary>
                <param name="Timestamp1"></param>
                <param name="Timestamp2"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.op_LessThan(Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase,Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase)">
                <summary>
                
                </summary>
                <param name="Timestamp1"></param>
                <param name="Timestamp2"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.op_GreaterThanOrEqual(Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase,Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase)">
                <summary>
                
                </summary>
                <param name="Timestamp1"></param>
                <param name="Timestamp2"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.op_LessThanOrEqual(Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase,Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase)">
                <summary>
                
                </summary>
                <param name="Timestamp1"></param>
                <param name="Timestamp2"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.op_Implicit(Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase)~System.DateTime">
                <summary>
                Implicitly convert DbaDateTimeBase to DateTime
                </summary>
                <param name="Base">The source object to convert</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase.op_Implicit(System.DateTime)~Sqlcollaborative.Dbatools.Utility.DbaDateTimeBase">
                <summary>
                Implicitly convert DateTime to DbaDateTimeBase
                </summary>
                <param name="Base">The object to convert</param>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Utility.DbaTime">
                <summary>
                A dbatools-internal datetime wrapper for neater display
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaTime.#ctor(System.DateTime)">
                <summary>
                Constructs a generic timestamp object wrapper from an input timestamp object.
                </summary>
                <param name="Timestamp">The timestamp to wrap</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaTime.#ctor(System.String)">
                <summary>
                Parses a string into a datetime object.
                </summary>
                <param name="Time">The time-string to parse</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaTime.#ctor(System.Int64)">
                <summary>
                
                </summary>
                <param name="ticks"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaTime.#ctor(System.Int64,System.DateTimeKind)">
                <summary>
                
                </summary>
                <param name="ticks"></param>
                <param name="kind"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaTime.#ctor(System.Int32,System.Int32,System.Int32)">
                <summary>
                
                </summary>
                <param name="year"></param>
                <param name="month"></param>
                <param name="day"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaTime.#ctor(System.Int32,System.Int32,System.Int32,System.Globalization.Calendar)">
                <summary>
                
                </summary>
                <param name="year"></param>
                <param name="month"></param>
                <param name="day"></param>
                <param name="calendar"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaTime.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)">
                <summary>
                
                </summary>
                <param name="year"></param>
                <param name="month"></param>
                <param name="day"></param>
                <param name="hour"></param>
                <param name="minute"></param>
                <param name="second"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaTime.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.DateTimeKind)">
                <summary>
                
                </summary>
                <param name="year"></param>
                <param name="month"></param>
                <param name="day"></param>
                <param name="hour"></param>
                <param name="minute"></param>
                <param name="second"></param>
                <param name="kind"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaTime.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Globalization.Calendar)">
                <summary>
                
                </summary>
                <param name="year"></param>
                <param name="month"></param>
                <param name="day"></param>
                <param name="hour"></param>
                <param name="minute"></param>
                <param name="second"></param>
                <param name="calendar"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaTime.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)">
                <summary>
                
                </summary>
                <param name="year"></param>
                <param name="month"></param>
                <param name="day"></param>
                <param name="hour"></param>
                <param name="minute"></param>
                <param name="second"></param>
                <param name="millisecond"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaTime.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.DateTimeKind)">
                <summary>
                
                </summary>
                <param name="year"></param>
                <param name="month"></param>
                <param name="day"></param>
                <param name="hour"></param>
                <param name="minute"></param>
                <param name="second"></param>
                <param name="millisecond"></param>
                <param name="kind"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaTime.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Globalization.Calendar)">
                <summary>
                
                </summary>
                <param name="year"></param>
                <param name="month"></param>
                <param name="day"></param>
                <param name="hour"></param>
                <param name="minute"></param>
                <param name="second"></param>
                <param name="millisecond"></param>
                <param name="calendar"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaTime.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Globalization.Calendar,System.DateTimeKind)">
                <summary>
                
                </summary>
                <param name="year"></param>
                <param name="month"></param>
                <param name="day"></param>
                <param name="hour"></param>
                <param name="minute"></param>
                <param name="second"></param>
                <param name="millisecond"></param>
                <param name="calendar"></param>
                <param name="kind"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaTime.ToString">
                <summary>
                Provids the default-formated string, using the defined default formatting.
                </summary>
                <returns>Formatted datetime-string</returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaTime.op_Implicit(Sqlcollaborative.Dbatools.Utility.DbaTime)~System.DateTime">
                <summary>
                Implicitly convert to DateTime
                </summary>
                <param name="Base">The source object to convert</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaTime.op_Implicit(System.DateTime)~Sqlcollaborative.Dbatools.Utility.DbaTime">
                <summary>
                Implicitly convert from DateTime
                </summary>
                <param name="Base">The object to convert</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaTime.op_Implicit(Sqlcollaborative.Dbatools.Utility.DbaTime)~Sqlcollaborative.Dbatools.Utility.DbaDate">
                <summary>
                Implicitly convert to DbaDate
                </summary>
                <param name="Base">The source object to convert</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaTime.op_Implicit(Sqlcollaborative.Dbatools.Utility.DbaTime)~Sqlcollaborative.Dbatools.Utility.DbaDateTime">
                <summary>
                Implicitly convert to DbaTime
                </summary>
                <param name="Base">The source object to convert</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaTime.op_Implicit(Sqlcollaborative.Dbatools.Utility.DbaTime)~System.String">
                <summary>
                Implicitly convert to string
                </summary>
                <param name="Base">Object to convert</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaTime.Generate(System.DateTime)">
                <summary>
                Generates a DbaDateTime object based off DateTime object. Will be null if Base is the start value (Tickes == 0).
                </summary>
                <param name="Base">The Datetime to base it off</param>
                <returns>The object to generate (or null)</returns>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Utility.DbaTimeSpan">
                <summary>
                A wrapper class, encapsuling a regular TimeSpan object. Used to provide custom timespan display.
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Utility.DbaTimeSpan.Days">
                <summary>
                Gets the days component of the time interval represented by the current TimeSpan structure.
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Utility.DbaTimeSpan.Hours">
                <summary>
                Gets the hours component of the time interval represented by the current TimeSpan structure.
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Utility.DbaTimeSpan.Milliseconds">
                <summary>
                Gets the milliseconds component of the time interval represented by the current TimeSpan structure.
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Utility.DbaTimeSpan.Minutes">
                <summary>
                Gets the minutes component of the time interval represented by the current TimeSpan structure.
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Utility.DbaTimeSpan.Seconds">
                <summary>
                Gets the seconds component of the time interval represented by the current TimeSpan structure.
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Utility.DbaTimeSpan.Ticks">
                <summary>
                Gets the number of ticks that represent the value of the current TimeSpan structure.
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Utility.DbaTimeSpan.TotalDays">
                <summary>
                Gets the value of the current TimeSpan structure expressed in whole and fractional days.
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Utility.DbaTimeSpan.TotalHours">
                <summary>
                Gets the value of the current TimeSpan structure expressed in whole and fractional hours.
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Utility.DbaTimeSpan.TotalMilliseconds">
                <summary>
                Gets the value of the current TimeSpan structure expressed in whole and fractional milliseconds.
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Utility.DbaTimeSpan.TotalMinutes">
                <summary>
                Gets the value of the current TimeSpan structure expressed in whole and fractional minutes.
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Utility.DbaTimeSpan.TotalSeconds">
                <summary>
                Gets the value of the current TimeSpan structure expressed in whole and fractional seconds.
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaTimeSpan.#ctor(System.TimeSpan)">
                <summary>
                
                </summary>
                <param name="Timespan"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaTimeSpan.#ctor(System.String)">
                <summary>
                Converts a string into a timespan
                </summary>
                <param name="Timespan">The string to convert</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaTimeSpan.#ctor(System.Int64)">
                <summary>
                
                </summary>
                <param name="ticks"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaTimeSpan.#ctor(System.Int32,System.Int32,System.Int32)">
                <summary>
                
                </summary>
                <param name="hours"></param>
                <param name="minutes"></param>
                <param name="seconds"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaTimeSpan.#ctor(System.Int32,System.Int32,System.Int32,System.Int32)">
                <summary>
                
                </summary>
                <param name="days"></param>
                <param name="hours"></param>
                <param name="minutes"></param>
                <param name="seconds"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaTimeSpan.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)">
                <summary>
                
                </summary>
                <param name="days"></param>
                <param name="hours"></param>
                <param name="minutes"></param>
                <param name="seconds"></param>
                <param name="milliseconds"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaTimeSpan.ParseTimeSpan(System.String)">
                <summary>
                Parses an input string as timespan
                </summary>
                <param name="Value">The string to interpret</param>
                <returns>The interpreted timespan value</returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaTimeSpan.Add(System.TimeSpan)">
                <summary>
                
                </summary>
                <param name="ts"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaTimeSpan.CompareTo(System.Object)">
                <summary>
                
                </summary>
                <param name="value"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaTimeSpan.CompareTo(System.TimeSpan)">
                <summary>
                
                </summary>
                <param name="value"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaTimeSpan.CompareTo(Sqlcollaborative.Dbatools.Utility.DbaTimeSpan)">
                <summary>
                
                </summary>
                <param name="value"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaTimeSpan.Duration">
                <summary>
                
                </summary>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaTimeSpan.Equals(System.Object)">
                <summary>
                
                </summary>
                <param name="value"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaTimeSpan.Equals(System.TimeSpan)">
                <summary>
                
                </summary>
                <param name="obj"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaTimeSpan.GetBaseObject">
                <summary>
                Returns the wrapped base object
                </summary>
                <returns>The base object</returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaTimeSpan.GetHashCode">
                <summary>
                
                </summary>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaTimeSpan.Negate">
                <summary>
                
                </summary>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaTimeSpan.Subtract(System.TimeSpan)">
                <summary>
                
                </summary>
                <param name="ts"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaTimeSpan.ToString">
                <summary>
                Returns the default string representation of the TimeSpan object
                </summary>
                <returns>The string representation of the DbaTimeSpan object</returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaTimeSpan.ToString(System.String)">
                <summary>
                
                </summary>
                <param name="format"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaTimeSpan.ToString(System.String,System.IFormatProvider)">
                <summary>
                
                </summary>
                <param name="format"></param>
                <param name="formatProvider"></param>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaTimeSpan.op_Implicit(Sqlcollaborative.Dbatools.Utility.DbaTimeSpan)~System.TimeSpan">
                <summary>
                Implicitly converts a DbaTimeSpan object into a TimeSpan object
                </summary>
                <param name="Base">The original object to revert</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaTimeSpan.op_Implicit(System.TimeSpan)~Sqlcollaborative.Dbatools.Utility.DbaTimeSpan">
                <summary>
                Implicitly converts a TimeSpan object into a DbaTimeSpan object
                </summary>
                <param name="Base">The original object to wrap</param>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Utility.DbaTimeSpanPretty">
                <summary>
                Makes timespan great again
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaTimeSpanPretty.FromMilliseconds(System.Double)">
                <summary>
                Creates a new, pretty timespan object from milliseconds
                </summary>
                <param name="Milliseconds">The milliseconds to convert from.</param>
                <returns>A pretty timespan object</returns>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Utility.DbaTimeSpanPretty.Digits">
                <summary>
                The number of digits a pretty timespan should round to.
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaTimeSpanPretty.#ctor(System.TimeSpan)">
                <summary>
                
                </summary>
                <param name="Timespan"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaTimeSpanPretty.#ctor(System.String)">
                <summary>
                Converts a string into a timespan
                </summary>
                <param name="Timespan">The string to convert</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaTimeSpanPretty.#ctor(System.Int64)">
                <summary>
                
                </summary>
                <param name="ticks"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaTimeSpanPretty.#ctor(System.Int32,System.Int32,System.Int32)">
                <summary>
                
                </summary>
                <param name="hours"></param>
                <param name="minutes"></param>
                <param name="seconds"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaTimeSpanPretty.#ctor(System.Int32,System.Int32,System.Int32,System.Int32)">
                <summary>
                
                </summary>
                <param name="days"></param>
                <param name="hours"></param>
                <param name="minutes"></param>
                <param name="seconds"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaTimeSpanPretty.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)">
                <summary>
                
                </summary>
                <param name="days"></param>
                <param name="hours"></param>
                <param name="minutes"></param>
                <param name="seconds"></param>
                <param name="milliseconds"></param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaTimeSpanPretty.ToString">
                <summary>
                Creates extra-nice timespan formats
                </summary>
                <returns>Humanly readable timespans</returns>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Utility.DbaValidatePatternAttribute">
                <summary>
                Validates that each parameter argument matches the RegexPattern
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Utility.DbaValidatePatternAttribute.RegexPattern">
                <summary>
                Gets the Regex pattern to be used in the validation
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Utility.DbaValidatePatternAttribute.Options">
                <summary>
                Gets or sets the Regex options to be used in the validation
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Utility.DbaValidatePatternAttribute.ErrorMessage">
                 <summary>
                 Gets or sets the custom error message pattern that is displayed to the user.
                
                 The text representation of the object being validated and the validating regex is passed as
                 the first and second formatting parameters to the ErrorMessage formatting pattern.
                 <example>
                 [ValidatePattern("\s+", ErrorMessage="The text '{0}' did not pass validation of regex '{1}'")]
                 </example>
                 </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaValidatePatternAttribute.ValidateElement(System.Object)">
                <summary>
                Validates that each parameter argument matches the RegexPattern
                </summary>
                <param name="element">object to validate</param>
                <exception cref="T:System.Management.Automation.ValidationMetadataException">if <paramref name="element"/> is not a string
                 that matches the pattern
                 and for invalid arguments</exception>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaValidatePatternAttribute.#ctor(System.String)">
                <summary>
                Initializes a new instance of the PsfValidatePatternAttribute class
                </summary>
                <param name="regexPattern">Pattern string to match</param>
                <exception cref="T:System.ArgumentException">for invalid arguments</exception>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Utility.DbaValidateScriptAttribute">
                <summary>
                Class for validating against a script block.
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Utility.DbaValidateScriptAttribute.ErrorMessage">
                 <summary>
                 Gets or sets the custom error message that is displayed to the user.
                
                 The item being validated and the validating scriptblock is passed as the first and second
                 formatting argument.
                
                 <example>
                 [ValidateScript("$_ % 2", ErrorMessage = "The item '{0}' did not pass validation of script '{1}'")]
                 </example>
                 </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Utility.DbaValidateScriptAttribute.ScriptBlock">
                <summary>
                Gets the scriptblock to be used in the validation
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaValidateScriptAttribute.ValidateElement(System.Object)">
                <summary>
                Validates that each parameter argument matches the scriptblock
                </summary>
                <param name="element">object to validate</param>
                <exception cref="T:System.Management.Automation.ValidationMetadataException">if <paramref name="element"/> is invalid</exception>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.DbaValidateScriptAttribute.#ctor(System.Management.Automation.ScriptBlock)">
                <summary>
                Initializes a new instance of the ValidateScriptBlockAttribute class
                </summary>
                <param name="scriptBlock">Scriptblock to match</param>
                <exception cref="T:System.ArgumentException">for invalid arguments</exception>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Utility.RegexHelper">
                <summary>
                Static class that holds useful regex patterns, ready for use
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Utility.RegexHelper.HostName">
                <summary>
                Pattern that checks for a valid hostname
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Utility.RegexHelper.HostNameEx">
                <summary>
                Pattern that checks for valid hostnames within a larger text
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Utility.RegexHelper.IPv4">
                <summary>
                Pattern that checks for a valid IPv4 address
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Utility.RegexHelper.IPv4Ex">
                <summary>
                Pattern that checks for valid IPv4 addresses within a larger text
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Utility.RegexHelper.IPv6">
                <summary>
                Will match a valid IPv6 address
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Utility.RegexHelper.IPv6Ex">
                <summary>
                Will match any IPv6 address within a larger text
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Utility.RegexHelper.ComputerTarget">
                <summary>
                Will match any string that in its entirety represents a valid target for dns- or ip-based targeting. Combination of HostName, IPv4 and IPv6
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Utility.RegexHelper.Guid">
                <summary>
                Will match a valid Guid
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Utility.RegexHelper.GuidEx">
                <summary>
                Will match any number of valid Guids in a larger text
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Utility.RegexHelper.InstanceName">
                <summary>
                Will match a mostly valid instance name.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Utility.RegexHelper.InstanceNameEx">
                <summary>
                Will match any instance of a mostly valid instance name.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Utility.RegexHelper.SqlReservedKeyword">
                <summary>
                Matches a word against the list of officially reserved keywords
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Utility.RegexHelper.SqlReservedKeywordEx">
                <summary>
                Will match any reserved keyword in a larger text
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Utility.RegexHelper.SqlReservedKeywordOdbc">
                <summary>
                Matches a word against the list of officially reserved keywords for odbc
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Utility.RegexHelper.SqlReservedKeywordOdbcEx">
                <summary>
                Will match any reserved odbc-keyword in a larger text
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Utility.RegexHelper.SqlReservedKeywordFuture">
                <summary>
                Matches a word against the list of keywords that are likely to become reserved in the future
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Utility.RegexHelper.SqlReservedKeywordFutureEx">
                <summary>
                Will match against the list of keywords that are likely to become reserved in the future and are used in a larger text
                </summary>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Utility.Size">
                <summary>
                Class that reports File size.
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Utility.Size.Byte">
                <summary>
                Number of bytes contained in whatever object uses this object as a property
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Utility.Size.Kilobyte">
                <summary>
                Kilobyte representation of the bytes
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Utility.Size.Megabyte">
                <summary>
                Megabyte representation of the bytes
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Utility.Size.Gigabyte">
                <summary>
                Gigabyte representation of the bytes
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Utility.Size.Terabyte">
                <summary>
                Terabyte representation of the bytes
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Utility.Size.Digits">
                <summary>
                Number if digits behind the dot.
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Utility.Size.Style">
                <summary>
                How the size object should be displayed.
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.Size.ToString">
                <summary>
                Shows the default string representation of size
                </summary>
                <returns></returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.Size.Equals(System.Object)">
                <summary>
                Simple equality test
                </summary>
                <param name="obj">The object to test it against</param>
                <returns>True if equal, false elsewise</returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.Size.GetHashCode">
                <inheritdoc cref="M:System.Int64.GetHashCode"/>
                <remarks>The hashcode of the underlying size</remarks>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.Size.#ctor">
                <summary>
                Creates an empty size.
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.Size.#ctor(System.Int64)">
                <summary>
                Creates a size with some content
                </summary>
                <param name="Byte">The length in bytes to set the size to</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.Size.CompareTo(Sqlcollaborative.Dbatools.Utility.Size)">
                <inheritdoc cref="M:System.IComparable`1.CompareTo(`0)"/>
                <remarks>For sorting</remarks>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.Size.CompareTo(System.Object)">
                <inheritdoc cref="M:System.IComparable.CompareTo(System.Object)"/>
                <remarks>For sorting</remarks>
                <exception cref="T:System.ArgumentException">If you compare with something invalid.</exception>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.Size.op_Addition(Sqlcollaborative.Dbatools.Utility.Size,Sqlcollaborative.Dbatools.Utility.Size)">
                <summary>
                Adds two sizes
                </summary>
                <param name="a">The first size to add</param>
                <param name="b">The second size to add</param>
                <returns>The sum of both sizes</returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.Size.op_Subtraction(Sqlcollaborative.Dbatools.Utility.Size,Sqlcollaborative.Dbatools.Utility.Size)">
                <summary>
                Substracts two sizes
                </summary>
                <param name="a">The first size to substract</param>
                <param name="b">The second size to substract</param>
                <returns>The difference between both sizes</returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.Size.op_Multiply(Sqlcollaborative.Dbatools.Utility.Size,System.Double)">
                <summary>
                Multiplies two sizes with each other
                </summary>
                <param name="a">The size to multiply</param>
                <param name="b">The size to multiply with</param>
                <returns>A multiplied size.</returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.Size.op_Division(Sqlcollaborative.Dbatools.Utility.Size,System.Double)">
                <summary>
                Divides one size by another. 
                </summary>
                <param name="a">The size to divide</param>
                <param name="b">The size to divide with</param>
                <returns>Divided size (note: Cut off)</returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.Size.op_Multiply(Sqlcollaborative.Dbatools.Utility.Size,Sqlcollaborative.Dbatools.Utility.Size)">
                <summary>
                Multiplies two sizes with each other
                </summary>
                <param name="a">The size to multiply</param>
                <param name="b">The size to multiply with</param>
                <returns>A multiplied size.</returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.Size.op_Division(Sqlcollaborative.Dbatools.Utility.Size,Sqlcollaborative.Dbatools.Utility.Size)">
                <summary>
                Divides one size by another.
                </summary>
                <param name="a">The size to divide</param>
                <param name="b">The size to divide with</param>
                <returns>Divided size (note: Cut off)</returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.Size.op_Implicit(System.Int32)~Sqlcollaborative.Dbatools.Utility.Size">
                <summary>
                Implicitly converts int to size
                </summary>
                <param name="a">The number to convert</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.Size.op_Implicit(System.Decimal)~Sqlcollaborative.Dbatools.Utility.Size">
                <summary>
                Implicitly converts int to size
                </summary>
                <param name="a">The number to convert</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.Size.op_Implicit(Sqlcollaborative.Dbatools.Utility.Size)~System.Int32">
                <summary>
                Implicitly converts size to int
                </summary>
                <param name="a">The size to convert</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.Size.op_Implicit(System.Int64)~Sqlcollaborative.Dbatools.Utility.Size">
                <summary>
                Implicitly converts long to size
                </summary>
                <param name="a">The number to convert</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.Size.op_Implicit(Sqlcollaborative.Dbatools.Utility.Size)~System.Int64">
                <summary>
                Implicitly converts size to long
                </summary>
                <param name="a">The size to convert</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.Size.op_Implicit(System.String)~Sqlcollaborative.Dbatools.Utility.Size">
                <summary>
                Implicitly converts string to size
                </summary>
                <param name="a">The string to convert</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.Size.op_Implicit(System.Double)~Sqlcollaborative.Dbatools.Utility.Size">
                <summary>
                Implicitly converts double to size
                </summary>
                <param name="a">The number to convert</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.Size.op_Implicit(Sqlcollaborative.Dbatools.Utility.Size)~System.Double">
                <summary>
                Implicitly converts size to double
                </summary>
                <param name="a">The size to convert</param>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Utility.SizeStyle">
                <summary>
                How size objects should be displayed
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Utility.SizeStyle.Dynamic">
                <summary>
                The size object is styled dependend on the number stored within.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Utility.SizeStyle.Plain">
                <summary>
                The size object is shown as a plain number
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Utility.SizeStyle.Byte">
                <summary>
                The size object is styled as a byte number
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Utility.SizeStyle.Kilobyte">
                <summary>
                The size object is styled as a kilobyte number
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Utility.SizeStyle.Megabyte">
                <summary>
                The size object is styled as a megabyte number
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Utility.SizeStyle.Gigabyte">
                <summary>
                The size object is styled as a Gigabyte number
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Utility.SizeStyle.Terabyte">
                <summary>
                The size object is styled as a Terabyte number
                </summary>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Utility.UtilityHost">
                <summary>
                Provides static resources to utility-namespaced stuff
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Utility.UtilityHost.DisableCustomDateTime">
                <summary>
                Restores all DateTime objects to their default display behavior
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Utility.UtilityHost.DisableCustomTimeSpan">
                <summary>
                Restores all timespan objects to their default display behavior.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Utility.UtilityHost.FormatDate">
                <summary>
                Formating string for date-style datetime objects.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Utility.UtilityHost.FormatDateTime">
                <summary>
                Formating string for datetime-style datetime objects
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Utility.UtilityHost.FormatTime">
                <summary>
                Formating string for time-style datetime objects
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Utility.UtilityHost.SizeDigits">
                <summary>
                The number of digits a size object shows by default
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Utility.UtilityHost.SizeStyle">
                <summary>
                The way size objects are usually displayed
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.UtilityHost.IsLike(System.String,System.String,System.Boolean)">
                <summary>
                Implement's VB's Like operator logic.
                </summary>
                <param name="CaseSensitive">Whether the comparison is case sensitive</param>
                <param name="Pattern">The pattern the string is compared with</param>
                <param name="String">The string that is being compared with a pattern</param>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.UtilityHost.CompressString(System.String)">
                <summary>
                Compress string using default zip algorithms
                </summary>
                <param name="String">The string to compress</param>
                <returns>Returns a compressed string.</returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.UtilityHost.ExpandString(System.String)">
                <summary>
                Expand a string using default zig algorithms
                </summary>
                <param name="CompressedString">The compressed string to expand</param>
                <returns>Returns an expanded string.</returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.UtilityHost.CharListToSet(System.String)">
                <summary>
                Converts a string of characters to a HashSet of characters. If the string
                contains character ranges, such as A-Z, all characters in the range are
                also added to the returned set of characters.
                </summary>
                <param name="charList">Character list string</param>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Utility.UtilityHost.Callstack">
                <summary>
                Returns the current callstack
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Utility.UtilityHost._CallstackNew">
                <summary>
                Returns the current callstack on PS4+
                </summary>
            </member>
            <member name="P:Sqlcollaborative.Dbatools.Utility.UtilityHost._CallstackOld">
                <summary>
                Returns the current callstack on PS3
                </summary>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Utility.Validation">
                <summary>
                Provides helper methods that aid in validating stuff.
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.Validation.IsLocalhost(System.String)">
                <summary>
                Tests whether a given string is the local host.
                Does NOT use DNS resolution, DNS aliases will NOT be recognized!
                </summary>
                <param name="Name">The name to test for being local host</param>
                <returns>Whether the name is localhost</returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.Validation.IsRecommendedInstanceName(System.String)">
                <summary>
                Tests whether a given string is a recommended instance name. Recommended names musst be legal, nbot on the ODBC list and not on the list of words likely to become reserved keywords in the future.
                </summary>
                <param name="InstanceName">The name to test. MAY contain server name, but will NOT test the server.</param>
                <returns>Whether the name is recommended</returns>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.Validation.IsValidComputerTarget(System.String)">
                <summary>
                Tests whether a given string is a valid target for targeting as a computer. Will first convert from idn name.
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Utility.Validation.IsValidInstanceName(System.String,System.Boolean)">
                <summary>
                Tests whether a given string is a valid instance name.
                </summary>
                <param name="InstanceName">The name to test. MAY contain server name, but will NOT test the server.</param>
                <param name="Lenient">Setting this to true will make the validation ignore default and mssqlserver as illegal names (as they are illegal names for named instances, but legal for targeting)</param>
                <returns>Whether the name is legal</returns>
            </member>
            <member name="T:Sqlcollaborative.Dbatools.Validation.LinkedServerResult">
                <summary>
                The results of testing linked server connectivity as seen from the server that was linked to.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Validation.LinkedServerResult.ComputerName">
                <summary>
                The name of the server running the tests
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Validation.LinkedServerResult.InstanceName">
                <summary>
                The name of the instance running the tests
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Validation.LinkedServerResult.SqlInstance">
                <summary>
                The full name of the instance running the tests
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Validation.LinkedServerResult.LinkedServerName">
                <summary>
                The name of the linked server, the connectivity with whom was tested
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Validation.LinkedServerResult.RemoteServer">
                <summary>
                The name of the remote computer running the linked server.
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Validation.LinkedServerResult.Connectivity">
                <summary>
                The test result
                </summary>
            </member>
            <member name="F:Sqlcollaborative.Dbatools.Validation.LinkedServerResult.Result">
                <summary>
                Text interpretation of the result. Contains error messages if the test failed.
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Validation.LinkedServerResult.#ctor">
                <summary>
                Creates an empty object
                </summary>
            </member>
            <member name="M:Sqlcollaborative.Dbatools.Validation.LinkedServerResult.#ctor(System.String,System.String,System.String,System.String,System.String,System.Boolean,System.String)">
                <summary>
                Creates a test result with prefilled values
                </summary>
                <param name="ComputerName">The name of the server running the tests</param>
                <param name="InstanceName">The name of the instance running the tests</param>
                <param name="SqlInstance">The full name of the instance running the tests</param>
                <param name="LinkedServerName">The name of the linked server, the connectivity with whom was tested</param>
                <param name="RemoteServer">The name of the remote computer running the linked server.</param>
                <param name="Connectivity">The test result</param>
                <param name="Result">Text interpretation of the result. Contains error messages if the test failed.</param>
            </member>
        </members>
    </doc>
    
  • tools\dbatools\bin\perfmontemplates\collectorsets.xml Show
    <Objs Version="1.1.0.1" xmlns="http://schemas.microsoft.com/powershell/2004/04">
      <Obj RefId="0">
        <TN RefId="0">
          <T>Deserialized.System.Management.Automation.PSCustomObject</T>
          <T>Deserialized.System.Object</T>
        </TN>
        <MS>
          <S N="Name">Long Running Queries</S>
          <S N="Source">Brad McGehee</S>
        </MS>
      </Obj>
      <Obj RefId="1">
        <TNRef RefId="0" />
        <MS>
          <S N="Name">PAL - SQL Server 2005</S>
          <S N="Source">Clint Huffman</S>
        </MS>
      </Obj>
      <Obj RefId="2">
        <TNRef RefId="0" />
        <MS>
          <S N="Name">PAL - SQL Server 2008 and R2</S>
          <S N="Source">Clint Huffman</S>
        </MS>
      </Obj>
      <Obj RefId="3">
        <TNRef RefId="0" />
        <MS>
          <S N="Name">PAL - SQL Server 2012</S>
          <S N="Source">Clint Huffman</S>
        </MS>
      </Obj>
      <Obj RefId="4">
        <TNRef RefId="0" />
        <MS>
          <S N="Name">PAL - SQL Server 2014 and Up</S>
          <S N="Source">Clint Huffman</S>
        </MS>
      </Obj>
    </Objs>
  • tools\dbatools\bin\diagnosticquery\SQLServerDiagnosticQueries_2014_201811.sql Show
    -- SQL Server 2014 Diagnostic Information Queries
    -- Glenn Berry 
    -- Last Modified: December 14, 2018
    -- https://www.sqlskills.com/blogs/glenn/
    -- http://sqlserverperformance.wordpress.com/
    -- Twitter: GlennAlanBerry
    
    -- Please listen to my Pluralsight courses
    -- https://www.pluralsight.com/author/glenn-berry
    
    -- If you want to find all of our SQLskills SQL101 blog posts, check out https://www.sqlskills.com/help/sql101/
    
    
    -- Please make sure you are using the correct version of these diagnostic queries for your version of SQL Server!
    
    
    -- If you like PowerShell, there is a very useful community solution for running these queries in an automated fashion
    -- https://dbatools.io/
    
    -- Invoke-DbaDiagnosticQuery
    -- https://dbatools.io/functions/invoke-dbadiagnosticquery/
    
    
    --******************************************************************************
    --*   Copyright (C) 2018 Glenn Berry, SQLskills.com
    --*   All rights reserved. 
    --*
    --*   For more scripts and sample code, check out 
    --*      https://www.sqlskills.com/blogs/glenn
    --*
    --*   You may alter this code for your own *non-commercial* purposes. You may
    --*   republish altered code as long as you include this copyright and give due credit. 
    --*
    --*
    --*   THIS CODE AND INFORMATION ARE PROVIDED "AS IS" WITHOUT WARRANTY OF 
    --*   ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED 
    --*   TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
    --*   PARTICULAR PURPOSE. 
    --*
    --******************************************************************************
    
    -- Check the major product version to see if it is SQL Server 2014 CTP2 or greater
    IF NOT EXISTS (SELECT * WHERE CONVERT(varchar(128), SERVERPROPERTY('ProductVersion')) LIKE '12%')
    	BEGIN
    		DECLARE @ProductVersion varchar(128) = CONVERT(varchar(128), SERVERPROPERTY('ProductVersion'));
    		RAISERROR ('Script does not match the ProductVersion [%s] of this instance. Many of these queries may not work on this version.' , 18 , 16 , @ProductVersion);
    	END
    	ELSE
    		PRINT N'You have the correct major version of SQL Server for this diagnostic information script';
    	
    
    -- Instance level queries *******************************
    
    -- SQL and OS Version information for current instance  (Query 1) (Version Info)
    SELECT @@SERVERNAME AS [Server Name], @@VERSION AS [SQL Server and OS Version Info];
    ------
    
    -- SQL Server 2014 RTM Branch Builds						SQL Server 2014 SP1 Branch Builds						SQL Server 2014 SP2 Branch Builds					SQL Server 2014 SP23 Branch Builds				
    -- Build			Description			Release Date		Build			Description		Release Date			Build			Description		Release Date		Build			Description		Release Date
    -- 11.0.9120        CTP1				6/2/2013
    -- 12.0.1524		CTP2				10/15/2013
    -- 12.0.2000        RTM					4/1/2014
    -- 12.0.2342        CU1                 4/21/2014
    -- 12.0.2370        CU2                 6/27/2014
    -- 12.0.2402		CU3					8/18/2014
    -- 12.0.2430        CU4					10/21/2014
    -- 12.0.2456		CU5					12/17/2014	---->	12.0.4100		SP1 RTM			5/4/2015
    -- 12.0.2474		CU5 + COD HF		2/3/2015   
    -- 12.0.2480		CU6					2/16/2015
    -- 12.0.2495        CU7                 4/20/2015
    -- 12.0.2546		CU8					6/19/2015			12.0.4416		SP1 CU1			6/19/2015
    -- 12.0.2553		CU9					8/17/2015			12.0.4422		SP1 CU2			8/17/2015
    -- 12.0.2556		CU10				10/19/2015          12.0.4427		SP1 CU3			10/19/2015
    -- 12.0.2560		CU11				12/21/2015			12.0.4436		SP1 CU4			12/21/2015
    -- 12.0.2564		CU12				2/22/2016			12.0.4439		SP1 CU5			2/22/2016
    -- 12.0.2568		CU13				4/18/2016			12.0.4449		SP1 CU6			4/18/2016 (Deprecated)
    --															12.0.4457		SP1 CU6 		5/30/2016 (Re-release)
    -- 12.0.2569		CU14				6/20/2016			12.0.4459		SP1 CU7			6/20/2016 ----------->	12.0.5000		SP2 RTM			 7/11/2016
    --															12.0.4468		SP1 CU8			8/15/2016				12.0.5511		SP2 CU1			 8/25/2016
    --                                                          12.0.4474		SP1 CU9		    10/17/2016				12.0.5522		SP2 CU2			10/17/2016
    --															12.0.4487		SP1 CU9 + HF	11/8/2016				12.0.5532		SP2 CU2 + HF     11/8/2016  
    --                                                          12.0.4491       SP1 CU10		12/28/2016				12.0.5537		SP2 CU3			12/28/2016
    --															12.0.4502		SP1 CU11		2/21/2017				12.0.5540		SP2 CU4			 2/21/2017
    --															12.0.4511		SP1 CU12        4/17/2017				12.0.5546		SP2 CU5			 4/17/2017
    --															12.0.4522		SP1	CU13		7/17/2017				12.0.5552		SP2 CU6			 7/17/2017
    --																													12.0.5556		SP2 CU7			 8/28/2017
    --																													12.0.5557		SP2 CU8			10/16/2017
    --																													12.0.5563		SP2 CU9			12/18/2017
    --																													12.0.5571		SP2 CU10		 1/16/2018
    --                                                                                                                  12.0.5579		SP2 CU11		 3/19/2018
    --																													12.0.5589		SP2 CU12		 6/18/2018
    --																													12.0.5590		SP2 CU13		 8/27/2018
    --																													12.0.5600		SP2 CU14	    10/15/2018
    --																																										12.0.6024	SP3 RTM		10/30/2018
    --																													12.0.5605		SP2 CU15		12/12/2018 ---->	12.0.6205	SP3 CU1	    12/12/2018	    	
    
    
    
    -- How to determine the version, edition and update level of SQL Server and its components 
    -- https://bit.ly/2oAjKgW	
    
    -- SQL Server 2014 build versions
    -- https://bit.ly/2HpmYOG
    
    -- Where to find information about the latest SQL Server builds
    -- https://bit.ly/2IGHbfY
    
    -- Recommended updates and configuration options for SQL Server 2012 and SQL Server 2014 used with high-performance workloads
    -- https://bit.ly/2Hy3zIZ
    
    -- Performance and Stability Related Fixes in Post-SQL Server 2014 RTM Builds
    -- https://bit.ly/2Hx50HU
    
    -- Performance and Stability Related Fixes in Post-SQL Server 2014 SP1 Builds
    -- https://bit.ly/2GWLx6a
    
    -- Performance and Stability Related Fixes in Post-SQL Server 2014 SP2 Builds
    -- https://bit.ly/2iJ9G4N
    
    -- Announcing updates to the SQL Server Incremental Servicing Model (ISM)
    -- https://bit.ly/1RzYITz
    
    -- Update Center for Microsoft SQL Server
    -- https://bit.ly/2pZptuQ
    
    -- Download SQL Server Management Studio (SSMS)
    -- https://bit.ly/1OcupT9
    
    -- Download and install Azure Data Studio 
    -- https://bit.ly/2vgke1A
    
    
    -- Get socket, physical core and logical core count from the SQL Server Error log. (Query 2) (Core Counts)
    -- This query might take a few seconds depending on the size of your error log
    EXEC sys.xp_readerrorlog 0, 1, N'detected', N'socket';
    ------
    
    -- This can help you determine the exact core counts used by SQL Server and whether HT is enabled or not
    -- It can also help you confirm your SQL Server licensing model
    -- Be on the lookout for this message "using 40 logical processors based on SQL Server licensing" 
    -- (when you have more than 40 logical cores) which means grandfathered Server/CAL licensing
    -- This query will return no results if your error log has been recycled since the instance was last started
    
    
    
    -- Get selected server properties (Query 3) (Server Properties)
    SELECT SERVERPROPERTY('MachineName') AS [MachineName], 
    SERVERPROPERTY('ServerName') AS [ServerName],  
    SERVERPROPERTY('InstanceName') AS [Instance], 
    SERVERPROPERTY('IsClustered') AS [IsClustered], 
    SERVERPROPERTY('ComputerNamePhysicalNetBIOS') AS [ComputerNamePhysicalNetBIOS], 
    SERVERPROPERTY('Edition') AS [Edition], 
    SERVERPROPERTY('ProductLevel') AS [ProductLevel],				-- What servicing branch (RTM/SP/CU)
    SERVERPROPERTY('ProductUpdateLevel') AS [ProductUpdateLevel],	-- Within a servicing branch, what CU# is applied
    SERVERPROPERTY('ProductVersion') AS [ProductVersion],
    SERVERPROPERTY('ProductMajorVersion') AS [ProductMajorVersion], 
    SERVERPROPERTY('ProductMinorVersion') AS [ProductMinorVersion], 
    SERVERPROPERTY('ProductBuild') AS [ProductBuild], 
    SERVERPROPERTY('ProductBuildType') AS [ProductBuildType],		      -- Is this a GDR or OD hotfix (NULL if on a CU build)
    SERVERPROPERTY('ProductUpdateReference') AS [ProductUpdateReference], -- KB article number that is applicable for this build
    SERVERPROPERTY('ProcessID') AS [ProcessID],
    SERVERPROPERTY('Collation') AS [Collation], 
    SERVERPROPERTY('IsFullTextInstalled') AS [IsFullTextInstalled], 
    SERVERPROPERTY('IsIntegratedSecurityOnly') AS [IsIntegratedSecurityOnly],
    SERVERPROPERTY('FilestreamConfiguredLevel') AS [FilestreamConfiguredLevel],
    SERVERPROPERTY('IsHadrEnabled') AS [IsHadrEnabled], 
    SERVERPROPERTY('HadrManagerStatus') AS [HadrManagerStatus],
    SERVERPROPERTY('InstanceDefaultDataPath') AS [InstanceDefaultDataPath],
    SERVERPROPERTY('InstanceDefaultLogPath') AS [InstanceDefaultLogPath],
    SERVERPROPERTY('BuildClrVersion') AS [Build CLR Version],
    SERVERPROPERTY('IsXTPSupported') AS [IsXTPSupported];
    ------
    
    -- This gives you a lot of useful information about your instance of SQL Server,
    -- such as the ProcessID for SQL Server and your collation
    -- Note: Some columns will be NULL on older SQL Server builds
    
    -- SERVERPROPERTY (Transact-SQL)
    -- https://bit.ly/2eeaXeI
    
    
    -- Get instance-level configuration values for instance  (Query 4) (Configuration Values)
    SELECT name, value, value_in_use, minimum, maximum, [description], is_dynamic, is_advanced
    FROM sys.configurations WITH (NOLOCK)
    ORDER BY name OPTION (RECOMPILE);
    ------
    
    -- Focus on these settings:
    -- backup checksum default (should be 1)
    -- backup compression default (should be 1 in most cases)
    -- clr enabled (only enable if it is needed)
    -- cost threshold for parallelism (depends on your workload)
    -- lightweight pooling (should be zero)
    -- max degree of parallelism (depends on your workload and hardware)
    -- max server memory (MB) (set to an appropriate value, not the default)
    -- optimize for ad hoc workloads (should be 1)
    -- priority boost (should be zero)
    -- remote admin connections (should be 1)
    
    
    -- Returns a list of all global trace flags that are enabled (Query 5) (Global Trace Flags)
    DBCC TRACESTATUS (-1);
    ------
    
    -- If no global trace flags are enabled, no results will be returned.
    -- It is very useful to know what global trace flags are currently enabled as part of the diagnostic process.
    
    -- Common trace flags that should be enabled in most cases
    -- TF 1117 - When growing a data file, grow all files at the same time so they remain the same size, reducing allocation contention points
    --           https://bit.ly/2GY1kOl
    -- 
    -- TF 1118 - Helps alleviate allocation contention in tempdb, SQL Server allocates full extents to each database object, 
    --           thereby eliminating the contention on SGAM pages (more important with older versions of SQL Server)
    --           Recommendations to reduce allocation contention in SQL Server tempdb database
    --           https://bit.ly/2GY1kOl
    
    -- TF 2371 - Lowers auto update statistics threshold for large tables (on tables with more than 25,000 rows)
    --           https://bit.ly/2HySkAg
    
    -- TF 3226 - Supresses logging of successful database backup messages to the SQL Server Error Log
    --           https://bit.ly/2p6MTjS
    
    -- TF 3449 - Enables use of dirty page manager (SQL Server 2014 SP1 CU7 and later)
    --			 https://bit.ly/2uj0h5M
    
    -- TF 6533 - Spatial performance improvements in SQL Server 2012 and 2014
    --           https://bit.ly/2v7C7ze
    
    -- TF 6534 - Enables use of native code to improve performance with spatial data
    --           https://bit.ly/2HrQUpU
    
    -- TF 8079 - Enables automatic soft-NUMA on systems with eight or more physical cores per NUMA node (with SQL Server 2014 SP2)
    --           https://bit.ly/29B7oR8
    
    -- DBCC TRACEON - Trace Flags (Transact-SQL)
    -- https://bit.ly/2FuSvPg
    
    
    
    -- Returns status of instant file initialization (Query 6) (IFI Status)
    EXEC sys.xp_readerrorlog 0, 1, N'Database Instant File Initialization';
    ------
    
    -- Lets you determine whether Instant File Initialization (IFI) is enabled for the instance
    -- This should be enabled in the vast majority of cases
    
    
    -- Database Instant File Initialization
    -- https://bit.ly/2nTX74y
    
    -- Misconceptions around instant file initialization
    -- https://bit.ly/2oBSKgZ
    
    
    
    -- SQL Server Process Address space info  (Query 7) (Process Memory)
    -- (shows whether locked pages is enabled, among other things)
    SELECT physical_memory_in_use_kb/1024 AS [SQL Server Memory Usage (MB)],
    	   locked_page_allocations_kb/1024 AS [SQL Server Locked Pages Allocation (MB)],
           large_page_allocations_kb/1024 AS [SQL Server Large Pages Allocation (MB)], 
    	   page_fault_count, memory_utilization_percentage, available_commit_limit_kb, 
    	   process_physical_memory_low, process_virtual_memory_low
    FROM sys.dm_os_process_memory WITH (NOLOCK) OPTION (RECOMPILE);
    ------
    
    -- You want to see 0 for process_physical_memory_low
    -- You want to see 0 for process_virtual_memory_low
    -- This indicates that you are not under internal memory pressure
    -- If locked_page_allocations_kb > 0, then LPIM is enabled
    
    -- How to enable the "locked pages" feature in SQL Server 2012
    -- https://bit.ly/2F5UjOA
    
    -- Memory Management Architecture Guide
    -- https://bit.ly/2JKkadC 
    
    
    
    -- SQL Server Services information (Query 8) (SQL Server Services Info)
    SELECT servicename, process_id, startup_type_desc, status_desc, 
    last_startup_time, service_account, is_clustered, cluster_nodename, [filename]
    FROM sys.dm_server_services WITH (NOLOCK) OPTION (RECOMPILE);
    ------
    
    -- Tells you the account being used for the SQL Server Service and the SQL Agent Service
    -- Shows the process_id, when they were last started, and their current status
    -- Also shows whether you are running on a failover cluster instance, and what node you are running on
    
    -- sys.dm_server_services (Transact-SQL)
    -- https://bit.ly/2oKa1Un
    
    
    -- Last backup information by database  (Query 9) (Last Backup By Database)
    SELECT ISNULL(d.[name], bs.[database_name]) AS [Database], d.recovery_model_desc AS [Recovery Model], 
           d.log_reuse_wait_desc AS [Log Reuse Wait Desc],
        MAX(CASE WHEN [type] = 'D' THEN bs.backup_finish_date ELSE NULL END) AS [Last Full Backup],
        MAX(CASE WHEN [type] = 'I' THEN bs.backup_finish_date ELSE NULL END) AS [Last Differential Backup],
        MAX(CASE WHEN [type] = 'L' THEN bs.backup_finish_date ELSE NULL END) AS [Last Log Backup]
    FROM sys.databases AS d WITH (NOLOCK)
    LEFT OUTER JOIN msdb.dbo.backupset AS bs WITH (NOLOCK)
    ON bs.[database_name] = d.[name] 
    AND bs.backup_finish_date > GETDATE()- 30
    WHERE d.name <> N'tempdb'
    GROUP BY ISNULL(d.[name], bs.[database_name]), d.recovery_model_desc, d.log_reuse_wait_desc, d.[name] 
    ORDER BY d.recovery_model_desc, d.[name] OPTION (RECOMPILE);
    ------
    
    -- This helps you spot runaway transaction logs and other issues with your backup schedule
    
    
    -- Get SQL Server Agent jobs and Category information (Query 10) (SQL Server Agent Jobs)
    SELECT sj.name AS [Job Name], sj.[description] AS [Job Description], SUSER_SNAME(sj.owner_sid) AS [Job Owner],
    sj.date_created AS [Date Created], sj.[enabled] AS [Job Enabled], 
    sj.notify_email_operator_id, sj.notify_level_email, sc.name AS [CategoryName],
    s.[enabled] AS [Sched Enabled], js.next_run_date, js.next_run_time
    FROM msdb.dbo.sysjobs AS sj WITH (NOLOCK)
    INNER JOIN msdb.dbo.syscategories AS sc WITH (NOLOCK)
    ON sj.category_id = sc.category_id
    LEFT OUTER JOIN msdb.dbo.sysjobschedules AS js WITH (NOLOCK)
    ON sj.job_id = js.job_id
    LEFT OUTER JOIN msdb.dbo.sysschedules AS s WITH (NOLOCK)
    ON js.schedule_id = s.schedule_id
    ORDER BY sj.name OPTION (RECOMPILE);
    ------
    
    -- Gives you some basic information about your SQL Server Agent jobs, who owns them and how they are configured
    -- Look for Agent jobs that are not owned by sa
    -- Look for jobs that have a notify_email_operator_id set to 0 (meaning no operator)
    -- Look for jobs that have a notify_level_email set to 0 (meaning no e-mail is ever sent)
    --
    -- MSDN sysjobs documentation
    -- https://bit.ly/2paDEOP 
    
    -- SQL Server Maintenance Solution
    -- https://bit.ly/1pgchQu  
    
    
    -- Get SQL Server Agent Alert Information (Query 11) (SQL Server Agent Alerts)
    SELECT name, event_source, message_id, severity, [enabled], has_notification, 
           delay_between_responses, occurrence_count, last_occurrence_date, last_occurrence_time
    FROM msdb.dbo.sysalerts WITH (NOLOCK)
    ORDER BY name OPTION (RECOMPILE);
    ------
    
    -- Gives you some basic information about your SQL Server Agent Alerts 
    -- (which are different from SQL Server Agent jobs)
    -- Read more about Agent Alerts here: https://bit.ly/2Giz0Xf 
    
    
    
    -- Windows information (Query 12) (Windows Info)
    SELECT windows_release, windows_service_pack_level, 
           windows_sku, os_language_version
    FROM sys.dm_os_windows_info WITH (NOLOCK) OPTION (RECOMPILE);
    ------
    
    -- Gives you major OS version, Service Pack, Edition, and language info for the operating system
    -- 10.0 is either Windows 10 or Windows Server 2016
    -- 6.3 is either Windows 8.1, or Windows Server 2012 R2  
    -- 6.2 is either Windows 8 or Windows Server 2012
    -- 6.1 is either Windows 7 or Windows Server 2008 R2
    -- 6.0 is either Windows Vista or Windows Server 2008
    
    -- Windows SKU codes
    -- 4 is Enterprise Edition
    -- 7 is Standard Server Edition
    -- 8 is Datacenter Server Edition
    -- 10 is Enterprise Server Edition
    -- 48 is Professional Edition
    -- 161 is Pro for Workstations
    
    -- 1033 for os_language_version is US-English
    
    -- SQL Server 2014 requires Windows Server 2008 SP2 or newer
    
    -- Hardware and Software Requirements for Installing SQL Server 2014
    -- https://bit.ly/1yRYXkQ
    
    -- Using SQL Server in Windows 8 and later versions of Windows operating system 
    -- https://bit.ly/2F7Ax0P
    
    
    
    -- SQL Server NUMA Node information  (Query 13) (SQL Server NUMA Info)
    SELECT node_id, node_state_desc, memory_node_id, processor_group, online_scheduler_count, 
           idle_scheduler_count, active_worker_count, avg_load_balance, resource_monitor_state
    FROM sys.dm_os_nodes WITH (NOLOCK) 
    WHERE node_state_desc <> N'ONLINE DAC' OPTION (RECOMPILE);
    ------
    
    -- Gives you some useful information about the composition and relative load on your NUMA nodes
    -- You want to see an equal number of schedulers on each NUMA node
    -- Watch out if SQL Server 2014 Standard Edition has been installed 
    -- on a physical or virtual machine with more than four sockets or more than 16 physical cores
    
    -- sys.dm_os_nodes (Transact-SQL)
    -- https://bit.ly/2pn5Mw8
    
    -- Balancing Your Available SQL Server Core Licenses Evenly Across NUMA Nodes
    -- https://bit.ly/2vfC4Rq
    
    
    
    -- Good basic information about OS memory amounts and state  (Query 14) (System Memory)
    SELECT total_physical_memory_kb/1024 AS [Physical Memory (MB)], 
           available_physical_memory_kb/1024 AS [Available Memory (MB)], 
           total_page_file_kb/1024 AS [Total Page File (MB)], 
    	   available_page_file_kb/1024 AS [Available Page File (MB)], 
    	   system_cache_kb/1024 AS [System Cache (MB)],
           system_memory_state_desc AS [System Memory State]
    FROM sys.dm_os_sys_memory WITH (NOLOCK) OPTION (RECOMPILE);
    ------
    
    -- You want to see "Available physical memory is high" for System Memory State
    -- This indicates that you are not under external memory pressure
    
    -- Possible System Memory State values:
    -- Available physical memory is high
    -- Physical memory usage is steady
    -- Available physical memory is low
    -- Available physical memory is running low
    -- Physical memory state is transitioning
    
    -- sys.dm_os_sys_memory (Transact-SQL)
    -- https://bit.ly/2pcV0xq
    
    
    
    -- You can skip the next two queries if you know you don't have a clustered instance
    
    
    -- Get information about your cluster nodes and their status  (Query 15) (Cluster Node Properties)
    -- (if your database server is in a failover cluster)
    SELECT NodeName, status_description, is_current_owner
    FROM sys.dm_os_cluster_nodes WITH (NOLOCK) OPTION (RECOMPILE);
    ------
    
    -- Knowing which node owns the cluster resources is critical
    -- Especially when you are installing Windows or SQL Server updates
    -- You will see no results if your instance is not clustered
    
    -- Recommended hotfixes and updates for Windows Server 2012 R2-based failover clusters
    -- https://bit.ly/1z5BfCw
    
    
    -- Get information about any AlwaysOn AG cluster this instance is a part of (Query 16) (AlwaysOn AG Cluster)
    SELECT cluster_name, quorum_type_desc, quorum_state_desc
    FROM sys.dm_hadr_cluster WITH (NOLOCK) OPTION (RECOMPILE);
    ------
    
    -- You will see no results if your instance is not using AlwaysOn AGs
    
    
    -- Good overview of AG health and status (Query 17) (AlwaysOn AG Status)
    SELECT ag.name AS [AG Name], ar.replica_server_name, ar.availability_mode_desc, adc.[database_name], 
           drs.is_local, drs.is_primary_replica, drs.synchronization_state_desc, drs.is_commit_participant, 
    	   drs.synchronization_health_desc, drs.recovery_lsn, drs.truncation_lsn, drs.last_sent_lsn, 
    	   drs.last_sent_time, drs.last_received_lsn, drs.last_received_time, drs.last_hardened_lsn, 
    	   drs.last_hardened_time, drs.last_redone_lsn, drs.last_redone_time, drs.log_send_queue_size, 
    	   drs.log_send_rate, drs.redo_queue_size, drs.redo_rate, drs.filestream_send_rate, 
    	   drs.end_of_log_lsn, drs.last_commit_lsn, drs.last_commit_time, drs.database_state_desc 
    FROM sys.dm_hadr_database_replica_states AS drs WITH (NOLOCK)
    INNER JOIN sys.availability_databases_cluster AS adc WITH (NOLOCK)
    ON drs.group_id = adc.group_id 
    AND drs.group_database_id = adc.group_database_id
    INNER JOIN sys.availability_groups AS ag WITH (NOLOCK)
    ON ag.group_id = drs.group_id
    INNER JOIN sys.availability_replicas AS ar WITH (NOLOCK)
    ON drs.group_id = ar.group_id 
    AND drs.replica_id = ar.replica_id
    ORDER BY ag.name, ar.replica_server_name, adc.[database_name] OPTION (RECOMPILE);
    
    -- You will see no results if your instance is not using AlwaysOn AGs
    
    
    -- Hardware information from SQL Server 2014  (Query 18) (Hardware Info)
    SELECT cpu_count AS [Logical CPU Count], scheduler_count, 
           hyperthread_ratio AS [Hyperthread Ratio],
           cpu_count/hyperthread_ratio AS [Physical CPU Count], 
           physical_memory_kb/1024 AS [Physical Memory (MB)], 
    	   committed_kb/1024 AS [Committed Memory (MB)],
           committed_target_kb/1024 AS [Committed Target Memory (MB)],
           max_workers_count AS [Max Workers Count], 
    	   affinity_type_desc AS [Affinity Type], 
           sqlserver_start_time AS [SQL Server Start Time],
    	   DATEDIFF(hour, sqlserver_start_time, GETDATE()) AS [SQL Server Up Time (hrs)],
    	   virtual_machine_type_desc AS [Virtual Machine Type]
    FROM sys.dm_os_sys_info WITH (NOLOCK) OPTION (RECOMPILE);
    ------
    
    -- Gives you some good basic hardware information about your database server
    -- Cannot distinguish between HT and multi-core
    -- Note: virtual_machine_type_desc of HYPERVISOR does not automatically mean you are running SQL Server inside of a VM
    -- It merely indicates that you have a hypervisor running on your host
    
    -- sys.dm_os_sys_info (Transact-SQL)
    -- https://bit.ly/2pczOYs
    
    -- Soft NUMA configuration was a new column for SQL Server 2016
    -- OFF = Soft-NUMA feature is OFF
    -- ON = SQL Server automatically determines the NUMA node sizes for Soft-NUMA
    -- MANUAL = Manually configured soft-NUMA
    
    -- Configure SQL Server to Use Soft-NUMA (SQL Server)
    -- https://bit.ly/2HTpKJt
    
    
    
    -- Get System Manufacturer and model number from SQL Server Error log (Query 19) (System Manufacturer)
    EXEC sys.xp_readerrorlog 0, 1, N'Manufacturer';
    ------ 
    
    -- This can help you determine the capabilities and capacities of your database server
    -- Can also be used to confirm if you are running in a VM
    -- This query might take a few seconds if you have not recycled your error log recently
    -- This query will return no results if your error log has been recycled since the instance was started
    
    
    -- Get pvscsi info from Windows Registry  (Query 20) (PVSCSI Driver Parameters)
    EXEC sys.xp_instance_regread N'HKEY_LOCAL_MACHINE', N'SYSTEM\CurrentControlSet\services\pvscsi\Parameters\Device', N'DriverParameter';
    ------
    
    -- This is valid for VMware VMs
    -- Recommended value for intensive I/O patterns from VMware is: RequestRingPages=32,MaxQueueDepth=254
    -- https://kb.vmware.com/s/article/2053145
    
    
    -- Get BIOS date from Windows Registry (Query 21) (BIOS Date)
    EXEC sys.xp_instance_regread N'HKEY_LOCAL_MACHINE', N'HARDWARE\DESCRIPTION\System\BIOS', N'BiosReleaseDate';
    ------
    
    -- Helps you understand whether the main system BIOS is up to date, and the possible age of the hardware
    -- Not as useful for virtualization
    
    
    -- Get processor description from Windows Registry  (Query 22) (Processor Description)
    EXEC sys.xp_instance_regread N'HKEY_LOCAL_MACHINE', N'HARDWARE\DESCRIPTION\System\CentralProcessor\0', N'ProcessorNameString';
    ------
    
    -- Gives you the model number and rated clock speed of your processor(s)
    -- Your processors may be running at less than the rated clock speed due
    -- to the Windows Power Plan or hardware power management
    
    -- You can use CPU-Z to get your actual CPU core speed and a lot of other useful information
    -- https://bit.ly/QhR6xF
    
    -- You can learn more about processor selection for SQL Server by following this link
    -- https://bit.ly/2F3aVlP
    
    
    
    -- See if buffer pool extension (BPE) is enabled (Query 23) (BPE Configuration)
    SELECT [path], state_description, current_size_in_kb, 
    CAST(current_size_in_kb/1048576.0 AS DECIMAL(10,2)) AS [Size (GB)]
    FROM sys.dm_os_buffer_pool_extension_configuration WITH (NOLOCK) OPTION (RECOMPILE);
    ------
    
    -- BPE is available in both Standard Edition and Enterprise Edition
    -- It is a more interesting feature for Standard Edition
    
    -- Buffer Pool Extension to SSDs in SQL Server 2014
    -- https://bit.ly/1bm08m8
    
    -- Buffer Pool Extension
    -- https://bit.ly/2oBuieO
    
    
    
    -- Look at buffer descriptors to see BPE usage by database (Query 24) (BPE Usage) 
    SELECT DB_NAME(database_id) AS [Database Name], COUNT(page_id) AS [Page Count],
    CAST(COUNT(*)/128.0 AS DECIMAL(10, 2)) AS [Buffer size(MB)], 
    AVG(read_microsec) AS [Avg Read Time (microseconds)]
    FROM sys.dm_os_buffer_descriptors WITH (NOLOCK)
    WHERE database_id <> 32767
    AND is_in_bpool_extension = 1
    GROUP BY DB_NAME(database_id) 
    ORDER BY [Buffer size(MB)] DESC OPTION (RECOMPILE);
    ------
    
    -- You will see no results if BPE is not enabled or if there is no BPE usage
    
    
    -- Get information on location, time and size of any memory dumps from SQL Server  (Query 25) (Memory Dump Info)
    SELECT [filename], creation_time, size_in_bytes/1048576.0 AS [Size (MB)]
    FROM sys.dm_server_memory_dumps WITH (NOLOCK) 
    ORDER BY creation_time DESC OPTION (RECOMPILE);
    ------
    
    -- This will not return any rows if you have 
    -- not had any memory dumps (which is a good thing)
    
    -- sys.dm_server_memory_dumps (Transact-SQL)
    -- https://bit.ly/2elwWll
    
    
    
    -- Look at Suspect Pages table (Query 26) (Suspect Pages)
    SELECT DB_NAME(database_id) AS [Database Name], [file_id], page_id, 
           event_type, error_count, last_update_date 
    FROM msdb.dbo.suspect_pages WITH (NOLOCK)
    ORDER BY database_id OPTION (RECOMPILE);
    ------
    
    -- event_type value descriptions
    -- 1 = 823 error caused by an operating system CRC error
    --     or 824 error other than a bad checksum or a torn page (for example, a bad page ID)
    -- 2 = Bad checksum
    -- 3 = Torn page
    -- 4 = Restored (The page was restored after it was marked bad)
    -- 5 = Repaired (DBCC repaired the page)
    -- 7 = Deallocated by DBCC
    
    -- Ideally, this query returns no results. The table is limited to 1000 rows.
    -- If you do get results here, you should do further investigation to determine the root cause
    
    -- Manage the suspect_pages Table
    -- https://bit.ly/2Fvr1c9
    
    
    -- Get number of data files in tempdb database (Query 27) (Tempdb Data Files)
    EXEC sys.xp_readerrorlog 0, 1, N'The tempdb database has';
    ------
    
    -- Get the number of data files in the tempdb database
    -- 4-8 data files that are all the same size is a good starting point
    -- This query will return no results if your error log has been recycled since the instance was last started
    -- This will be blank unless you have Service Pack 2 or later
    
    
    -- File names and paths for all user and system databases on instance  (Query 28) (Database Filenames and Paths)
    SELECT DB_NAME([database_id]) AS [Database Name], 
           [file_id], [name], physical_name, [type_desc], state_desc,
    	   is_percent_growth, growth,
    	   CONVERT(bigint, growth/128.0) AS [Growth in MB], 
           CONVERT(bigint, size/128.0) AS [Total Size in MB]
    FROM sys.master_files WITH (NOLOCK)
    ORDER BY DB_NAME([database_id]), [file_id] OPTION (RECOMPILE);
    ------
    
    -- Things to look at:
    -- Are data files and log files on different drives?
    -- Is everything on the C: drive?
    -- Is tempdb on dedicated drives?
    -- Is there only one tempdb data file?
    -- Are all of the tempdb data files the same size?
    -- Are there multiple data files for user databases?
    -- Is percent growth enabled for any files (which is bad)?
    
    
    -- Volume info for all LUNS that have database files on the current instance (Query 29) (Volume Info)
    SELECT DISTINCT vs.volume_mount_point, vs.file_system_type, vs.logical_volume_name, 
    CONVERT(DECIMAL(18,2), vs.total_bytes/1073741824.0) AS [Total Size (GB)],
    CONVERT(DECIMAL(18,2), vs.available_bytes/1073741824.0) AS [Available Size (GB)],  
    CONVERT(DECIMAL(18,2), vs.available_bytes * 1. / vs.total_bytes * 100.) AS [Space Free %],
    vs.supports_compression, vs.is_compressed, 
    vs.supports_sparse_files, vs.supports_alternate_streams
    FROM sys.master_files AS f WITH (NOLOCK)
    CROSS APPLY sys.dm_os_volume_stats(f.database_id, f.[file_id]) AS vs 
    ORDER BY vs.volume_mount_point OPTION (RECOMPILE);
    ------
    
    -- Shows you the total and free space on the LUNs where you have database files
    -- Being low on free space can negatively affect performance
    
    -- sys.dm_os_volume_stats (Transact-SQL)
    -- https://bit.ly/2oBPNNr
    
    
    
    -- Drive level latency information (Query 30) (Drive Level Latency)
    -- Based on code from Jimmy May
    SELECT tab.[Drive], tab.volume_mount_point AS [Volume Mount Point], 
    	CASE 
    		WHEN num_of_reads = 0 THEN 0 
    		ELSE (io_stall_read_ms/num_of_reads) 
    	END AS [Read Latency],
    	CASE 
    		WHEN num_of_writes = 0 THEN 0 
    		ELSE (io_stall_write_ms/num_of_writes) 
    	END AS [Write Latency],
    	CASE 
    		WHEN (num_of_reads = 0 AND num_of_writes = 0) THEN 0 
    		ELSE (io_stall/(num_of_reads + num_of_writes)) 
    	END AS [Overall Latency],
    	CASE 
    		WHEN num_of_reads = 0 THEN 0 
    		ELSE (num_of_bytes_read/num_of_reads) 
    	END AS [Avg Bytes/Read],
    	CASE 
    		WHEN num_of_writes = 0 THEN 0 
    		ELSE (num_of_bytes_written/num_of_writes) 
    	END AS [Avg Bytes/Write],
    	CASE 
    		WHEN (num_of_reads = 0 AND num_of_writes = 0) THEN 0 
    		ELSE ((num_of_bytes_read + num_of_bytes_written)/(num_of_reads + num_of_writes)) 
    	END AS [Avg Bytes/Transfer]
    FROM (SELECT LEFT(UPPER(mf.physical_name), 2) AS Drive, SUM(num_of_reads) AS num_of_reads,
    	         SUM(io_stall_read_ms) AS io_stall_read_ms, SUM(num_of_writes) AS num_of_writes,
    	         SUM(io_stall_write_ms) AS io_stall_write_ms, SUM(num_of_bytes_read) AS num_of_bytes_read,
    	         SUM(num_of_bytes_written) AS num_of_bytes_written, SUM(io_stall) AS io_stall, vs.volume_mount_point 
          FROM sys.dm_io_virtual_file_stats(NULL, NULL) AS vfs
          INNER JOIN sys.master_files AS mf WITH (NOLOCK)
          ON vfs.database_id = mf.database_id AND vfs.file_id = mf.file_id
    	  CROSS APPLY sys.dm_os_volume_stats(mf.database_id, mf.[file_id]) AS vs 
          GROUP BY LEFT(UPPER(mf.physical_name), 2), vs.volume_mount_point) AS tab
    ORDER BY [Overall Latency] OPTION (RECOMPILE);
    ------
    
    -- Shows you the drive-level latency for reads and writes, in milliseconds
    -- Latency above 30-40ms is usually a problem
    -- These latency numbers include all file activity against all SQL Server 
    -- database files on each drive since SQL Server was last started
    
    
    -- Calculates average stalls per read, per write, and per total input/output for each database file  (Query 31) (IO Latency by File)
    SELECT DB_NAME(fs.database_id) AS [Database Name], CAST(fs.io_stall_read_ms/(1.0 + fs.num_of_reads) AS NUMERIC(10,1)) AS [avg_read_latency_ms],
    CAST(fs.io_stall_write_ms/(1.0 + fs.num_of_writes) AS NUMERIC(10,1)) AS [avg_write_latency_ms],
    CAST((fs.io_stall_read_ms + fs.io_stall_write_ms)/(1.0 + fs.num_of_reads + fs.num_of_writes) AS NUMERIC(10,1)) AS [avg_io_latency_ms],
    CONVERT(DECIMAL(18,2), mf.size/128.0) AS [File Size (MB)], mf.physical_name, mf.type_desc, fs.io_stall_read_ms, fs.num_of_reads, 
    fs.io_stall_write_ms, fs.num_of_writes, fs.io_stall_read_ms + fs.io_stall_write_ms AS [io_stalls], fs.num_of_reads + fs.num_of_writes AS [total_io],
    io_stall_queued_read_ms AS [Resource Governor Total Read IO Latency (ms)], io_stall_queued_write_ms AS [Resource Governor Total Write IO Latency (ms)] 
    FROM sys.dm_io_virtual_file_stats(null,null) AS fs
    INNER JOIN sys.master_files AS mf WITH (NOLOCK)
    ON fs.database_id = mf.database_id
    AND fs.[file_id] = mf.[file_id]
    ORDER BY avg_io_latency_ms DESC OPTION (RECOMPILE);
    ------
    
    -- Helps determine which database files on the entire instance have the most I/O bottlenecks
    -- This can help you decide whether certain LUNs are overloaded and whether you might
    -- want to move some files to a different location or perhaps improve your I/O performance
    -- These latency numbers include all file activity against each SQL Server 
    -- database file since SQL Server was last started
    
    
    -- Look for I/O requests taking longer than 15 seconds in the six most recent SQL Server Error Logs (Query 32) (IO Warnings)
    CREATE TABLE #IOWarningResults(LogDate datetime, ProcessInfo sysname, LogText nvarchar(1000));
    
    	INSERT INTO #IOWarningResults 
    	EXEC xp_readerrorlog 0, 1, N'taking longer than 15 seconds';
    
    	INSERT INTO #IOWarningResults 
    	EXEC xp_readerrorlog 1, 1, N'taking longer than 15 seconds';
    
    	INSERT INTO #IOWarningResults 
    	EXEC xp_readerrorlog 2, 1, N'taking longer than 15 seconds';
    
    	INSERT INTO #IOWarningResults 
    	EXEC xp_readerrorlog 3, 1, N'taking longer than 15 seconds';
    
    	INSERT INTO #IOWarningResults 
    	EXEC xp_readerrorlog 4, 1, N'taking longer than 15 seconds';
    
    	INSERT INTO #IOWarningResults 
    	EXEC xp_readerrorlog 5, 1, N'taking longer than 15 seconds';
    
    SELECT LogDate, ProcessInfo, LogText
    FROM #IOWarningResults
    ORDER BY LogDate DESC;
    
    DROP TABLE #IOWarningResults;
    ------  
    
    -- Finding 15 second I/O warnings in the SQL Server Error Log is useful evidence of
    -- poor I/O performance (which might have many different causes)
    -- Look to see if you see any patterns in the results (same files, same drives, same time of day, etc.)
    
    -- Diagnostics in SQL Server help detect stalled and stuck I/O operations
    -- https://bit.ly/2qtaw73
    
    
    -- Resource Governor Resource Pool information (Query 33) (RG Resource Pools)
    SELECT pool_id, [Name], statistics_start_time,
           min_memory_percent, max_memory_percent,  
           max_memory_kb/1024 AS [max_memory_mb],  
           used_memory_kb/1024 AS [used_memory_mb],   
           target_memory_kb/1024 AS [target_memory_mb],
    	   min_iops_per_volume, max_iops_per_volume
    FROM sys.dm_resource_governor_resource_pools WITH (NOLOCK)
    OPTION (RECOMPILE);
    ------
    
    -- sys.dm_resource_governor_resource_pools (Transact-SQL)
    -- https://bit.ly/2MVU0Vy
    
    
    
    -- Recovery model, log reuse wait description, log file size, log usage size  (Query 34) (Database Properties)
    -- and compatibility level for all databases on instance
    SELECT db.[name] AS [Database Name], SUSER_SNAME(db.owner_sid) AS [Database Owner], db.recovery_model_desc AS [Recovery Model], 
    db.state_desc, db.containment_desc, db.log_reuse_wait_desc AS [Log Reuse Wait Description], 
    CONVERT(DECIMAL(18,2), ls.cntr_value/1024.0) AS [Log Size (MB)], CONVERT(DECIMAL(18,2), lu.cntr_value/1024.0) AS [Log Used (MB)],
    CAST(CAST(lu.cntr_value AS FLOAT) / CAST(ls.cntr_value AS FLOAT)AS DECIMAL(18,2)) * 100 AS [Log Used %], 
    db.[compatibility_level] AS [DB Compatibility Level], db.page_verify_option_desc AS [Page Verify Option], 
    db.is_auto_create_stats_on, db.is_auto_update_stats_on, db.is_auto_update_stats_async_on, db.is_parameterization_forced, 
    db.snapshot_isolation_state_desc, db.is_read_committed_snapshot_on, db.is_auto_close_on, db.is_auto_shrink_on, 
    db.target_recovery_time_in_seconds, db.is_cdc_enabled, db.is_published, db.is_distributor, db.is_encrypted,
    db.group_database_id, db.replica_id,db.is_memory_optimized_elevate_to_snapshot_on, 
    db.delayed_durability_desc, db.is_auto_create_stats_incremental_on,
    db.is_encrypted, de.encryption_state, de.percent_complete, de.key_algorithm, de.key_length      
    FROM sys.databases AS db WITH (NOLOCK)
    INNER JOIN sys.dm_os_performance_counters AS lu WITH (NOLOCK)
    ON db.name = lu.instance_name
    INNER JOIN sys.dm_os_performance_counters AS ls WITH (NOLOCK)
    ON db.name = ls.instance_name
    LEFT OUTER JOIN sys.dm_database_encryption_keys AS de WITH (NOLOCK)
    ON db.database_id = de.database_id
    WHERE lu.counter_name LIKE N'Log File(s) Used Size (KB)%' 
    AND ls.counter_name LIKE N'Log File(s) Size (KB)%'
    AND ls.cntr_value > 0 
    ORDER BY db.[name] OPTION (RECOMPILE);
    ------
    
    -- Things to look at:
    -- How many databases are on the instance?
    -- What recovery models are they using?
    -- What is the log reuse wait description?
    -- How full are the transaction logs?
    -- What compatibility level are the databases on? 
    -- What is the Page Verify Option? (should be CHECKSUM)
    -- Is Auto Update Statistics Asynchronously enabled?
    -- Make sure auto_shrink and auto_close are not enabled!
    
     
    
    -- Missing Indexes for all databases by Index Advantage  (Query 35) (Missing Indexes All Databases)
    SELECT CONVERT(decimal(18,2), user_seeks * avg_total_user_cost * (avg_user_impact * 0.01)) AS [index_advantage],
    FORMAT(migs.last_user_seek, 'yyyy-MM-dd HH:mm:ss') AS [last_user_seek], 
    mid.[statement] AS [Database.Schema.Table],
    COUNT(1) OVER(PARTITION BY mid.[statement]) AS [missing_indexes_for_table],
    COUNT(1) OVER(PARTITION BY mid.[statement], equality_columns) AS [similar_missing_indexes_for_table],
    mid.equality_columns, mid.inequality_columns, mid.included_columns,
    migs.unique_compiles, migs.user_seeks, 
    CONVERT(decimal(18,2), migs.avg_total_user_cost) AS [avg_total_user_cost], migs.avg_user_impact 
    FROM sys.dm_db_missing_index_group_stats AS migs WITH (NOLOCK)
    INNER JOIN sys.dm_db_missing_index_groups AS mig WITH (NOLOCK)
    ON migs.group_handle = mig.index_group_handle
    INNER JOIN sys.dm_db_missing_index_details AS mid WITH (NOLOCK)
    ON mig.index_handle = mid.index_handle
    ORDER BY index_advantage DESC OPTION (RECOMPILE);
    ------
    
    -- Getting missing index information for all of the databases on the instance is very useful
    -- Look at last user seek time, number of user seeks to help determine source and importance
    -- Also look at avg_user_impact and avg_total_user_cost to help determine importance
    -- SQL Server is overly eager to add included columns, so beware
    -- Do not just blindly add indexes that show up from this query!!!
    
    -- SQL Server Index Design Guide
    -- https://bit.ly/2qtZr4N
    
    
    
    -- Get VLF Counts for all databases on the instance (Query 36) (VLF Counts)
    -- (adapted from Michelle Ufford) 
    CREATE TABLE #VLFInfo (RecoveryUnitID int, FileID  int,
    					   FileSize bigint, StartOffset bigint,
    					   FSeqNo      bigint, [Status]    bigint,
    					   Parity      bigint, CreateLSN   numeric(38));
    	 
    CREATE TABLE #VLFCountResults(DatabaseName sysname, VLFCount int);
    	 
    EXEC sp_MSforeachdb N'Use [?]; 
    
    				INSERT INTO #VLFInfo 
    				EXEC sp_executesql N''DBCC LOGINFO([?])''; 
    	 
    				INSERT INTO #VLFCountResults 
    				SELECT DB_NAME(), COUNT(*) 
    				FROM #VLFInfo; 
    
    				TRUNCATE TABLE #VLFInfo;'
    	 
    SELECT DatabaseName, VLFCount  
    FROM #VLFCountResults
    ORDER BY VLFCount DESC;
    	 
    DROP TABLE #VLFInfo;
    DROP TABLE #VLFCountResults;
    ------
    
    -- High VLF counts can affect write performance to the log file 
    -- and they can make full database restores and crash recovery take much longer
    -- Try to keep your VLF counts under 200 in most cases (depending on log file size)
    
    -- Important change to VLF creation algorithm in SQL Server 2014
    -- https://bit.ly/2Hsjbg4
    
    -- SQL Server Transaction Log Architecture and Management Guide
    -- https://bit.ly/2JjmQRZ
    
    
    
    -- Get CPU utilization by database (Query 37) (CPU Usage by Database)
    WITH DB_CPU_Stats
    AS
    (SELECT pa.DatabaseID, DB_Name(pa.DatabaseID) AS [Database Name], SUM(qs.total_worker_time/1000) AS [CPU_Time_Ms]
     FROM sys.dm_exec_query_stats AS qs WITH (NOLOCK)
     CROSS APPLY (SELECT CONVERT(int, value) AS [DatabaseID] 
                  FROM sys.dm_exec_plan_attributes(qs.plan_handle)
                  WHERE attribute = N'dbid') AS pa
     GROUP BY DatabaseID)
    SELECT ROW_NUMBER() OVER(ORDER BY [CPU_Time_Ms] DESC) AS [CPU Rank],
           [Database Name], [CPU_Time_Ms] AS [CPU Time (ms)], 
           CAST([CPU_Time_Ms] * 1.0 / SUM([CPU_Time_Ms]) OVER() * 100.0 AS DECIMAL(5, 2)) AS [CPU Percent]
    FROM DB_CPU_Stats
    WHERE DatabaseID <> 32767 -- ResourceDB
    ORDER BY [CPU Rank] OPTION (RECOMPILE);
    ------
    
    -- Helps determine which database is using the most CPU resources on the instance
    
    
    -- Get I/O utilization by database (Query 38) (IO Usage By Database)
    WITH Aggregate_IO_Statistics
    AS (SELECT DB_NAME(database_id) AS [Database Name],
        CAST(SUM(num_of_bytes_read + num_of_bytes_written) / 1048576 AS DECIMAL(12, 2)) AS [ioTotalMB],
        CAST(SUM(num_of_bytes_read ) / 1048576 AS DECIMAL(12, 2)) AS [ioReadMB],
        CAST(SUM(num_of_bytes_written) / 1048576 AS DECIMAL(12, 2)) AS [ioWriteMB]
        FROM sys.dm_io_virtual_file_stats(NULL, NULL) AS [DM_IO_STATS]
        GROUP BY database_id)
    SELECT ROW_NUMBER() OVER (ORDER BY ioTotalMB DESC) AS [I/O Rank],
            [Database Name], ioTotalMB AS [Total I/O (MB)],
            CAST(ioTotalMB / SUM(ioTotalMB) OVER () * 100.0 AS DECIMAL(5, 2)) AS [Total I/O %],
            ioReadMB AS [Read I/O (MB)], 
    		CAST(ioReadMB / SUM(ioReadMB) OVER () * 100.0 AS DECIMAL(5, 2)) AS [Read I/O %],
            ioWriteMB AS [Write I/O (MB)], 
    		CAST(ioWriteMB / SUM(ioWriteMB) OVER () * 100.0 AS DECIMAL(5, 2)) AS [Write I/O %]
    FROM Aggregate_IO_Statistics
    ORDER BY [I/O Rank] OPTION (RECOMPILE);
    ------
    
    -- Helps determine which database is using the most I/O resources on the instance
    -- These numbers are cumulative since the last service restart
    -- They include all I/O activity, not just the nominal I/O workload
    
    
    -- Get total buffer usage by database for current instance  (Query 39) (Total Buffer Usage by Database)
    -- This make take some time to run on a busy instance
    WITH AggregateBufferPoolUsage
    AS
    (SELECT DB_NAME(database_id) AS [Database Name],
    CAST(COUNT(*) * 8/1024.0 AS DECIMAL (10,2))  AS [CachedSize]
    FROM sys.dm_os_buffer_descriptors WITH (NOLOCK)
    WHERE database_id <> 32767 -- ResourceDB
    GROUP BY DB_NAME(database_id))
    SELECT ROW_NUMBER() OVER(ORDER BY CachedSize DESC) AS [Buffer Pool Rank], [Database Name], CachedSize AS [Cached Size (MB)],
           CAST(CachedSize / SUM(CachedSize) OVER() * 100.0 AS DECIMAL(5,2)) AS [Buffer Pool Percent]
    FROM AggregateBufferPoolUsage
    ORDER BY [Buffer Pool Rank] OPTION (RECOMPILE);
    ------
    
    -- Tells you how much memory (in the buffer pool) 
    -- is being used by each database on the instance
    
    
    -- Clear Wait Stats with this command
    -- DBCC SQLPERF('sys.dm_os_wait_stats', CLEAR);
    
    -- Isolate top waits for server instance since last restart or wait statistics clear  (Query 40) (Top Waits)
    WITH [Waits] 
    AS (SELECT wait_type, wait_time_ms/ 1000.0 AS [WaitS],
              (wait_time_ms - signal_wait_time_ms) / 1000.0 AS [ResourceS],
               signal_wait_time_ms / 1000.0 AS [SignalS],
               waiting_tasks_count AS [WaitCount],
               100.0 *  wait_time_ms / SUM (wait_time_ms) OVER() AS [Percentage],
               ROW_NUMBER() OVER(ORDER BY wait_time_ms DESC) AS [RowNum]
        FROM sys.dm_os_wait_stats WITH (NOLOCK)
        WHERE [wait_type] NOT IN (
            N'BROKER_EVENTHANDLER', N'BROKER_RECEIVE_WAITFOR', N'BROKER_TASK_STOP',
    		N'BROKER_TO_FLUSH', N'BROKER_TRANSMITTER', N'CHECKPOINT_QUEUE',
            N'CHKPT', N'CLR_AUTO_EVENT', N'CLR_MANUAL_EVENT', N'CLR_SEMAPHORE',
            N'DBMIRROR_DBM_EVENT', N'DBMIRROR_EVENTS_QUEUE', N'DBMIRROR_WORKER_QUEUE',
    		N'DBMIRRORING_CMD', N'DIRTY_PAGE_POLL', N'DISPATCHER_QUEUE_SEMAPHORE',
            N'EXECSYNC', N'FSAGENT', N'FT_IFTS_SCHEDULER_IDLE_WAIT', N'FT_IFTSHC_MUTEX',
            N'HADR_CLUSAPI_CALL', N'HADR_FILESTREAM_IOMGR_IOCOMPLETION', N'HADR_LOGCAPTURE_WAIT', 
    		N'HADR_NOTIFICATION_DEQUEUE', N'HADR_TIMER_TASK', N'HADR_WORK_QUEUE',
            N'KSOURCE_WAKEUP', N'LAZYWRITER_SLEEP', N'LOGMGR_QUEUE', N'ONDEMAND_TASK_QUEUE',
            N'PWAIT_ALL_COMPONENTS_INITIALIZED', 
    		N'PREEMPTIVE_OS_AUTHENTICATIONOPS', N'PREEMPTIVE_OS_CREATEFILE', N'PREEMPTIVE_OS_GENERICOPS',
    		N'PREEMPTIVE_OS_LIBRARYOPS', N'PREEMPTIVE_OS_QUERYREGISTRY',
    		N'PREEMPTIVE_HADR_LEASE_MECHANISM', N'PREEMPTIVE_SP_SERVER_DIAGNOSTICS',
    		N'QDS_PERSIST_TASK_MAIN_LOOP_SLEEP',
            N'QDS_CLEANUP_STALE_QUERIES_TASK_MAIN_LOOP_SLEEP', N'QDS_SHUTDOWN_QUEUE', N'REQUEST_FOR_DEADLOCK_SEARCH',
    		N'RESOURCE_QUEUE', N'SERVER_IDLE_CHECK', N'SLEEP_BPOOL_FLUSH', N'SLEEP_DBSTARTUP',
    		N'SLEEP_DCOMSTARTUP', N'SLEEP_MASTERDBREADY', N'SLEEP_MASTERMDREADY',
            N'SLEEP_MASTERUPGRADED', N'SLEEP_MSDBSTARTUP', N'SLEEP_SYSTEMTASK', N'SLEEP_TASK',
            N'SLEEP_TEMPDBSTARTUP', N'SNI_HTTP_ACCEPT', N'SP_SERVER_DIAGNOSTICS_SLEEP',
    		N'SQLTRACE_BUFFER_FLUSH', N'SQLTRACE_INCREMENTAL_FLUSH_SLEEP', N'SQLTRACE_WAIT_ENTRIES',
    		N'WAIT_FOR_RESULTS', N'WAITFOR', N'WAITFOR_TASKSHUTDOWN', N'WAIT_XTP_HOST_WAIT',
    		N'WAIT_XTP_OFFLINE_CKPT_NEW_LOG', N'WAIT_XTP_CKPT_CLOSE', N'XE_DISPATCHER_JOIN',
            N'XE_DISPATCHER_WAIT', N'XE_TIMER_EVENT')
        AND waiting_tasks_count > 0)
    SELECT
        MAX (W1.wait_type) AS [WaitType],
    	CAST (MAX (W1.Percentage) AS DECIMAL (5,2)) AS [Wait Percentage],
    	CAST ((MAX (W1.WaitS) / MAX (W1.WaitCount)) AS DECIMAL (16,4)) AS [AvgWait_Sec],
        CAST ((MAX (W1.ResourceS) / MAX (W1.WaitCount)) AS DECIMAL (16,4)) AS [AvgRes_Sec],
        CAST ((MAX (W1.SignalS) / MAX (W1.WaitCount)) AS DECIMAL (16,4)) AS [AvgSig_Sec], 
        CAST (MAX (W1.WaitS) AS DECIMAL (16,2)) AS [Wait_Sec],
        CAST (MAX (W1.ResourceS) AS DECIMAL (16,2)) AS [Resource_Sec],
        CAST (MAX (W1.SignalS) AS DECIMAL (16,2)) AS [Signal_Sec],
        MAX (W1.WaitCount) AS [Wait Count],
    	CAST (N'https://www.sqlskills.com/help/waits/' + W1.wait_type AS XML) AS [Help/Info URL]
    FROM Waits AS W1
    INNER JOIN Waits AS W2
    ON W2.RowNum <= W1.RowNum
    GROUP BY W1.RowNum, W1.wait_type
    HAVING SUM (W2.Percentage) - MAX (W1.Percentage) < 99 -- percentage threshold
    OPTION (RECOMPILE);
    ------
    
    -- Cumulative wait stats are not as useful on an idle instance that is not under load or performance pressure
    
    -- SQL Server Wait Types Library (Paul Randal)
    -- https://bit.ly/2ePzYO2
    
    -- The SQL Server Wait Type Repository
    -- https://bit.ly/1afzfjC
    
    -- Wait statistics, or please tell me where it hurts
    -- https://bit.ly/2wsQHQE
    
    -- SQL Server 2005 Performance Tuning using the Waits and Queues
    -- https://bit.ly/1o2NFoF
    
    -- sys.dm_os_wait_stats (Transact-SQL)
    -- https://bit.ly/2Hjq9Yl
    
    
    
    -- Get a count of SQL connections by IP address (Query 41) (Connection Counts by IP Address)
    SELECT ec.client_net_address, es.[program_name], es.[host_name], es.login_name, 
    COUNT(ec.session_id) AS [connection count] 
    FROM sys.dm_exec_sessions AS es WITH (NOLOCK) 
    INNER JOIN sys.dm_exec_connections AS ec WITH (NOLOCK) 
    ON es.session_id = ec.session_id 
    GROUP BY ec.client_net_address, es.[program_name], es.[host_name], es.login_name  
    ORDER BY ec.client_net_address, es.[program_name] OPTION (RECOMPILE);
    ------
    
    -- This helps you figure where your database load is coming from
    -- and verifies connectivity from other machines
    
    -- Solving Connectivity errors to SQL Server
    -- https://bit.ly/2EgzoD0
    
    
    
    -- Get Average Task Counts (run multiple times)  (Query 42) (Avg Task Counts)
    SELECT AVG(current_tasks_count) AS [Avg Task Count], 
    AVG(work_queue_count) AS [Avg Work Queue Count],
    AVG(runnable_tasks_count) AS [Avg Runnable Task Count],
    AVG(pending_disk_io_count) AS [Avg Pending DiskIO Count]
    FROM sys.dm_os_schedulers WITH (NOLOCK)
    WHERE scheduler_id < 255 OPTION (RECOMPILE);
    ------
    
    -- Sustained values above 10 suggest further investigation in that area
    -- High Avg Task Counts are often caused by blocking/deadlocking or other resource contention
    
    -- Sustained values above 1 suggest further investigation in that area
    -- High Avg Runnable Task Counts are a good sign of CPU pressure
    -- High Avg Pending DiskIO Counts are a sign of disk pressure
    
    -- How to Do Some Very Basic SQL Server Monitoring
    -- https://bit.ly/2q3Btgt
    
    
    
    -- Detect blocking (run multiple times)  (Query 42) (Detect Blocking)
    SELECT t1.resource_type AS [lock type], DB_NAME(resource_database_id) AS [database],
    t1.resource_associated_entity_id AS [blk object],t1.request_mode AS [lock req],  -- lock requested
    t1.request_session_id AS [waiter sid], t2.wait_duration_ms AS [wait time],       -- spid of waiter  
    (SELECT [text] FROM sys.dm_exec_requests AS r WITH (NOLOCK)                      -- get sql for waiter
    CROSS APPLY sys.dm_exec_sql_text(r.[sql_handle]) 
    WHERE r.session_id = t1.request_session_id) AS [waiter_batch],
    (SELECT SUBSTRING(qt.[text],r.statement_start_offset/2, 
        (CASE WHEN r.statement_end_offset = -1 
        THEN LEN(CONVERT(nvarchar(max), qt.[text])) * 2 
        ELSE r.statement_end_offset END - r.statement_start_offset)/2) 
    FROM sys.dm_exec_requests AS r WITH (NOLOCK)
    CROSS APPLY sys.dm_exec_sql_text(r.[sql_handle]) AS qt
    WHERE r.session_id = t1.request_session_id) AS [waiter_stmt],					-- statement blocked
    t2.blocking_session_id AS [blocker sid],										-- spid of blocker
    (SELECT [text] FROM sys.sysprocesses AS p										-- get sql for blocker
    CROSS APPLY sys.dm_exec_sql_text(p.[sql_handle]) 
    WHERE p.spid = t2.blocking_session_id) AS [blocker_batch]
    FROM sys.dm_tran_locks AS t1 WITH (NOLOCK)
    INNER JOIN sys.dm_os_waiting_tasks AS t2 WITH (NOLOCK)
    ON t1.lock_owner_address = t2.resource_address OPTION (RECOMPILE);
    ------
    
    -- Helps troubleshoot blocking and deadlocking issues
    -- The results will change from second to second on a busy system
    -- You should run this query multiple times when you see signs of blocking
    
    
    
    -- Get CPU Utilization History for last 256 minutes (in one minute intervals)  (Query 44) (CPU Utilization History)
    DECLARE @ts_now bigint = (SELECT cpu_ticks/(cpu_ticks/ms_ticks) FROM sys.dm_os_sys_info WITH (NOLOCK)); 
    
    SELECT TOP(256) SQLProcessUtilization AS [SQL Server Process CPU Utilization], 
                   SystemIdle AS [System Idle Process], 
                   100 - SystemIdle - SQLProcessUtilization AS [Other Process CPU Utilization], 
                   DATEADD(ms, -1 * (@ts_now - [timestamp]), GETDATE()) AS [Event Time] 
    FROM (SELECT record.value('(./Record/@id)[1]', 'int') AS record_id, 
    			record.value('(./Record/SchedulerMonitorEvent/SystemHealth/SystemIdle)[1]', 'int') 
    			AS [SystemIdle], 
    			record.value('(./Record/SchedulerMonitorEvent/SystemHealth/ProcessUtilization)[1]', 'int') 
    			AS [SQLProcessUtilization], [timestamp] 
    	  FROM (SELECT [timestamp], CONVERT(xml, record) AS [record] 
    			FROM sys.dm_os_ring_buffers WITH (NOLOCK)
    			WHERE ring_buffer_type = N'RING_BUFFER_SCHEDULER_MONITOR' 
    			AND record LIKE N'%<SystemHealth>%') AS x) AS y 
    ORDER BY record_id DESC OPTION (RECOMPILE);
    ------
    
    -- Look at the trend over the entire period 
    -- Also look at high sustained 'Other Process' CPU Utilization values
    -- Note: This query sometimes gives inaccurate results (negative values)
    -- on high core count (> 64 cores) systems
    
    
    -- Get top total worker time queries for entire instance (Query 45) (Top Worker Time Queries)
    SELECT TOP(50) DB_NAME(t.[dbid]) AS [Database Name], 
    REPLACE(REPLACE(LEFT(t.[text], 255), CHAR(10),''), CHAR(13),'') AS [Short Query Text],  
    qs.total_worker_time AS [Total Worker Time], qs.min_worker_time AS [Min Worker Time],
    qs.total_worker_time/qs.execution_count AS [Avg Worker Time], 
    qs.max_worker_time AS [Max Worker Time], 
    qs.min_elapsed_time AS [Min Elapsed Time], 
    qs.total_elapsed_time/qs.execution_count AS [Avg Elapsed Time], 
    qs.max_elapsed_time AS [Max Elapsed Time],
    qs.min_logical_reads AS [Min Logical Reads],
    qs.total_logical_reads/qs.execution_count AS [Avg Logical Reads],
    qs.max_logical_reads AS [Max Logical Reads], 
    qs.execution_count AS [Execution Count],
    CASE WHEN CONVERT(nvarchar(max), qp.query_plan) LIKE N'%<MissingIndexes>%' THEN 1 ELSE 0 END AS [Has Missing Index], 
    qs.creation_time AS [Creation Time]
    --,t.[text] AS [Query Text], qp.query_plan AS [Query Plan] -- uncomment out these columns if not copying results to Excel
    FROM sys.dm_exec_query_stats AS qs WITH (NOLOCK)
    CROSS APPLY sys.dm_exec_sql_text(plan_handle) AS t 
    CROSS APPLY sys.dm_exec_query_plan(plan_handle) AS qp 
    ORDER BY qs.total_worker_time DESC OPTION (RECOMPILE);
    ------
    
    
    -- Helps you find the most expensive queries from a CPU perspective across the entire instance
    -- Can also help track down parameter sniffing issues
    
    
    
    -- Page Life Expectancy (PLE) value for each NUMA node in current instance  (Query 46) (PLE by NUMA Node)
    SELECT @@SERVERNAME AS [Server Name], RTRIM([object_name]) AS [Object Name], instance_name, cntr_value AS [Page Life Expectancy]
    FROM sys.dm_os_performance_counters WITH (NOLOCK)
    WHERE [object_name] LIKE N'%Buffer Node%' -- Handles named instances
    AND counter_name = N'Page life expectancy' OPTION (RECOMPILE);
    ------
    
    -- PLE is a good measurement of internal memory pressure
    -- Higher PLE is better. Watch the trend over time, not the absolute value
    -- This will only return one row for non-NUMA systems
    
    -- Page Life Expectancy isn�t what you think�
    -- https://bit.ly/2EgynLa
    
    
    -- Memory Grants Pending value for current instance  (Query 47) (Memory Grants Pending)
    SELECT @@SERVERNAME AS [Server Name], RTRIM([object_name]) AS [Object Name], cntr_value AS [Memory Grants Pending]                                                                                                       
    FROM sys.dm_os_performance_counters WITH (NOLOCK)
    WHERE [object_name] LIKE N'%Memory Manager%' -- Handles named instances
    AND counter_name = N'Memory Grants Pending' OPTION (RECOMPILE);
    ------
    
    -- Run multiple times, and run periodically if you suspect you are under memory pressure
    -- Memory Grants Pending above zero for a sustained period is a very strong indicator of internal memory pressure
    
    
    -- Memory Clerk Usage for instance  (Query 48) (Memory Clerk Usage)
    -- Look for high value for CACHESTORE_SQLCP (Ad-hoc query plans)
    SELECT TOP(10) mc.[type] AS [Memory Clerk Type], 
           CAST((SUM(mc.pages_kb)/1024.0) AS DECIMAL (15,2)) AS [Memory Usage (MB)] 
    FROM sys.dm_os_memory_clerks AS mc WITH (NOLOCK)
    GROUP BY mc.[type]  
    ORDER BY SUM(mc.pages_kb) DESC OPTION (RECOMPILE);
    ------
    
    -- MEMORYCLERK_SQLBUFFERPOOL was new for SQL Server 2012. It should be your highest consumer of memory
    
    -- CACHESTORE_SQLCP  SQL Plans         
    -- These are cached SQL statements or batches that aren't in stored procedures, functions and triggers
    -- Watch out for high values for CACHESTORE_SQLCP
    -- Enabling 'optimize for ad hoc workloads' at the instance level can help reduce this
    -- Running DBCC FREESYSTEMCACHE ('SQL Plans') periodically may be required to better control this
    
    -- CACHESTORE_OBJCP  Object Plans      
    -- These are compiled plans for stored procedures, functions and triggers
    
    
    
    -- Find single-use, ad-hoc and prepared queries that are bloating the plan cache  (Query 49) (Ad hoc Queries)
    SELECT TOP(50) DB_NAME(t.[dbid]) AS [Database Name], t.[text] AS [Query Text], 
    cp.objtype AS [Object Type], cp.cacheobjtype AS [Cache Object Type],  
    cp.size_in_bytes/1024 AS [Plan Size in KB]
    FROM sys.dm_exec_cached_plans AS cp WITH (NOLOCK)
    CROSS APPLY sys.dm_exec_sql_text(plan_handle) AS t
    WHERE cp.cacheobjtype = N'Compiled Plan' 
    AND cp.objtype IN (N'Adhoc', N'Prepared') 
    AND cp.usecounts = 1
    ORDER BY cp.size_in_bytes DESC, DB_NAME(t.[dbid]) OPTION (RECOMPILE);
    ------
    
    -- Gives you the text, type and size of single-use ad-hoc and prepared queries that waste space in the plan cache
    -- Enabling 'optimize for ad hoc workloads' for the instance can help (SQL Server 2008 and above only)
    -- Running DBCC FREESYSTEMCACHE ('SQL Plans') periodically may be required to better control this
    -- Enabling forced parameterization for the database can help, but test first!
    
    -- Plan cache, adhoc workloads and clearing the single-use plan cache bloat
    -- https://bit.ly/2EfYOkl
    
    
    -- Get top total logical reads queries for entire instance (Query 50) (Top Logical Reads Queries)
    SELECT TOP(50) DB_NAME(t.[dbid]) AS [Database Name],
    REPLACE(REPLACE(LEFT(t.[text], 255), CHAR(10),''), CHAR(13),'') AS [Short Query Text], 
    qs.total_logical_reads AS [Total Logical Reads],
    qs.min_logical_reads AS [Min Logical Reads],
    qs.total_logical_reads/qs.execution_count AS [Avg Logical Reads],
    qs.max_logical_reads AS [Max Logical Reads],   
    qs.min_worker_time AS [Min Worker Time],
    qs.total_worker_time/qs.execution_count AS [Avg Worker Time], 
    qs.max_worker_time AS [Max Worker Time], 
    qs.min_elapsed_time AS [Min Elapsed Time], 
    qs.total_elapsed_time/qs.execution_count AS [Avg Elapsed Time], 
    qs.max_elapsed_time AS [Max Elapsed Time],
    qs.execution_count AS [Execution Count], 
    CASE WHEN CONVERT(nvarchar(max), qp.query_plan) LIKE N'%<MissingIndexes>%' THEN 1 ELSE 0 END AS [Has Missing Index],
    qs.creation_time AS [Creation Time]
    --,t.[text] AS [Complete Query Text], qp.query_plan AS [Query Plan] -- uncomment out these columns if not copying results to Excel
    FROM sys.dm_exec_query_stats AS qs WITH (NOLOCK)
    CROSS APPLY sys.dm_exec_sql_text(plan_handle) AS t 
    CROSS APPLY sys.dm_exec_query_plan(plan_handle) AS qp 
    ORDER BY qs.total_logical_reads DESC OPTION (RECOMPILE);
    ------
    
    
    -- Helps you find the most expensive queries from a memory perspective across the entire instance
    -- Can also help track down parameter sniffing issues
    
    
    -- Get top average elapsed time queries for entire instance (Query 51) (Top Avg Elapsed Time Queries)
    SELECT TOP(50) DB_NAME(t.[dbid]) AS [Database Name], 
    REPLACE(REPLACE(LEFT(t.[text], 255), CHAR(10),''), CHAR(13),'') AS [Short Query Text],  
    qs.total_elapsed_time/qs.execution_count AS [Avg Elapsed Time],
    qs.min_elapsed_time, qs.max_elapsed_time, qs.last_elapsed_time,
    qs.execution_count AS [Execution Count],  
    qs.total_logical_reads/qs.execution_count AS [Avg Logical Reads], 
    qs.total_physical_reads/qs.execution_count AS [Avg Physical Reads], 
    qs.total_worker_time/qs.execution_count AS [Avg Worker Time],
    CASE WHEN CONVERT(nvarchar(max), qp.query_plan) LIKE N'%<MissingIndexes>%' THEN 1 ELSE 0 END AS [Has Missing Index],
    qs.creation_time AS [Creation Time]
    --,t.[text] AS [Complete Query Text], qp.query_plan AS [Query Plan] -- uncomment out these columns if not copying results to Excel
    FROM sys.dm_exec_query_stats AS qs WITH (NOLOCK)
    CROSS APPLY sys.dm_exec_sql_text(plan_handle) AS t 
    CROSS APPLY sys.dm_exec_query_plan(plan_handle) AS qp 
    ORDER BY qs.total_elapsed_time/qs.execution_count DESC OPTION (RECOMPILE);
    ------
    
    -- Helps you find the highest average elapsed time queries across the entire instance
    -- Can also help track down parameter sniffing issues
    
    
    
    
    -- Database specific queries *****************************************************************
    
    -- **** Please switch to a user database that you are interested in! *****
    --USE YourDatabaseName; -- make sure to change to an actual database on your instance, not the master system database
    --GO
    
    -- Individual File Sizes and space available for current database  (Query 52) (File Sizes and Space)
    SELECT f.name AS [File Name] , f.physical_name AS [Physical Name], 
    CAST((f.size/128.0) AS DECIMAL(15,2)) AS [Total Size in MB],
    CAST(f.size/128.0 - CAST(FILEPROPERTY(f.name, 'SpaceUsed') AS int)/128.0 AS DECIMAL(15,2)) 
    AS [Available Space In MB], f.[file_id], fg.name AS [Filegroup Name],
    f.is_percent_growth, f.growth, fg.is_default, fg.is_read_only
    FROM sys.database_files AS f WITH (NOLOCK) 
    LEFT OUTER JOIN sys.filegroups AS fg WITH (NOLOCK)
    ON f.data_space_id = fg.data_space_id
    ORDER BY f.[file_id] OPTION (RECOMPILE);
    ------
    
    -- Look at how large and how full the files are and where they are located
    -- Make sure the transaction log is not full!!
    
    
    -- Log space usage for current database  (Query 53) (Log Space Usage)
    SELECT DB_NAME(lsu.database_id) AS [Database Name], db.recovery_model_desc AS [Recovery Model],
    		CAST(lsu.total_log_size_in_bytes/1048576.0 AS DECIMAL(10, 2)) AS [Total Log Space (MB)],
    		CAST(lsu.used_log_space_in_bytes/1048576.0 AS DECIMAL(10, 2)) AS [Used Log Space (MB)], 
    		CAST(lsu.used_log_space_in_percent AS DECIMAL(10, 2)) AS [Used Log Space %],
    		CAST(lsu.log_space_in_bytes_since_last_backup/1048576.0 AS DECIMAL(10, 2)) AS [Used Log Space Since Last Backup (MB)],
    		db.log_reuse_wait_desc		 
    FROM sys.dm_db_log_space_usage AS lsu WITH (NOLOCK)
    INNER JOIN sys.databases AS db WITH (NOLOCK)
    ON lsu.database_id = db.database_id
    OPTION (RECOMPILE);
    ------
    
    -- Look at log file size and usage, along with the log reuse wait description for the current database
    
    
    -- I/O Statistics by file for the current database  (Query 54) (IO Stats By File)
    SELECT DB_NAME(DB_ID()) AS [Database Name], df.name AS [Logical Name], vfs.[file_id], df.type_desc,
    df.physical_name AS [Physical Name], CAST(vfs.size_on_disk_bytes/1048576.0 AS DECIMAL(10, 2)) AS [Size on Disk (MB)],
    vfs.num_of_reads, vfs.num_of_writes, vfs.io_stall_read_ms, vfs.io_stall_write_ms,
    CAST(100. * vfs.io_stall_read_ms/(vfs.io_stall_read_ms + vfs.io_stall_write_ms) AS DECIMAL(10,1)) AS [IO Stall Reads Pct],
    CAST(100. * vfs.io_stall_write_ms/(vfs.io_stall_write_ms + vfs.io_stall_read_ms) AS DECIMAL(10,1)) AS [IO Stall Writes Pct],
    (vfs.num_of_reads + vfs.num_of_writes) AS [Writes + Reads], 
    CAST(vfs.num_of_bytes_read/1048576.0 AS DECIMAL(10, 2)) AS [MB Read], 
    CAST(vfs.num_of_bytes_written/1048576.0 AS DECIMAL(10, 2)) AS [MB Written],
    CAST(100. * vfs.num_of_reads/(vfs.num_of_reads + vfs.num_of_writes) AS DECIMAL(10,1)) AS [# Reads Pct],
    CAST(100. * vfs.num_of_writes/(vfs.num_of_reads + vfs.num_of_writes) AS DECIMAL(10,1)) AS [# Write Pct],
    CAST(100. * vfs.num_of_bytes_read/(vfs.num_of_bytes_read + vfs.num_of_bytes_written) AS DECIMAL(10,1)) AS [Read Bytes Pct],
    CAST(100. * vfs.num_of_bytes_written/(vfs.num_of_bytes_read + vfs.num_of_bytes_written) AS DECIMAL(10,1)) AS [Written Bytes Pct]
    FROM sys.dm_io_virtual_file_stats(DB_ID(), NULL) AS vfs
    INNER JOIN sys.database_files AS df WITH (NOLOCK)
    ON vfs.[file_id]= df.[file_id] OPTION (RECOMPILE);
    ------
    
    -- This helps you characterize your workload better from an I/O perspective for this database
    -- It helps you determine whether you has an OLTP or DW/DSS type of workload
    
    
    
    -- Get most frequently executed queries for this database (Query 55) (Query Execution Counts)
    SELECT TOP(50) LEFT(t.[text], 50) AS [Short Query Text], qs.execution_count AS [Execution Count],
    qs.total_logical_reads AS [Total Logical Reads],
    qs.total_logical_reads/qs.execution_count AS [Avg Logical Reads],
    qs.total_worker_time AS [Total Worker Time],
    qs.total_worker_time/qs.execution_count AS [Avg Worker Time], 
    qs.total_elapsed_time AS [Total Elapsed Time],
    qs.total_elapsed_time/qs.execution_count AS [Avg Elapsed Time],
    CASE WHEN CONVERT(nvarchar(max), qp.query_plan) LIKE N'%<MissingIndexes>%' THEN 1 ELSE 0 END AS [Has Missing Index], 
    qs.creation_time AS [Creation Time]
    --,t.[text] AS [Complete Query Text], qp.query_plan AS [Query Plan] -- uncomment out these columns if not copying results to Excel
    FROM sys.dm_exec_query_stats AS qs WITH (NOLOCK)
    CROSS APPLY sys.dm_exec_sql_text(plan_handle) AS t 
    CROSS APPLY sys.dm_exec_query_plan(plan_handle) AS qp 
    WHERE t.dbid = DB_ID()
    ORDER BY qs.execution_count DESC OPTION (RECOMPILE);
    ------
    
    
    -- Queries 54 through 59 are the "Bad Man List" for stored procedures
    
    -- Top Cached SPs By Execution Count (Query 56) (SP Execution Counts)
    SELECT TOP(100) p.name AS [SP Name], qs.execution_count AS [Execution Count],
    ISNULL(qs.execution_count/DATEDIFF(Minute, qs.cached_time, GETDATE()), 0) AS [Calls/Minute],
    qs.total_elapsed_time/qs.execution_count AS [Avg Elapsed Time],
    qs.total_worker_time/qs.execution_count AS [Avg Worker Time],    
    qs.total_logical_reads/qs.execution_count AS [Avg Logical Reads],
    CASE WHEN CONVERT(nvarchar(max), qp.query_plan) LIKE N'%<MissingIndexes>%' THEN 1 ELSE 0 END AS [Has Missing Index],
    FORMAT(qs.last_execution_time, 'yyyy-MM-dd HH:mm:ss', 'en-US') AS [Last Execution Time], 
    FORMAT(qs.cached_time, 'yyyy-MM-dd HH:mm:ss', 'en-US') AS [Plan Cached Time]
    -- ,qp.query_plan AS [Query Plan] -- Uncomment if you want the Query Plan
    FROM sys.procedures AS p WITH (NOLOCK)
    INNER JOIN sys.dm_exec_procedure_stats AS qs WITH (NOLOCK)
    ON p.[object_id] = qs.[object_id]
    CROSS APPLY sys.dm_exec_query_plan(qs.plan_handle) AS qp
    WHERE qs.database_id = DB_ID()
    AND DATEDIFF(Minute, qs.cached_time, GETDATE()) > 0
    ORDER BY qs.execution_count DESC OPTION (RECOMPILE);
    ------
    
    -- Tells you which cached stored procedures are called the most often
    -- This helps you characterize and baseline your workload
    
    
    -- Top Cached SPs By Avg Elapsed Time (Query 57) (SP Avg Elapsed Time)
    SELECT TOP(25) p.name AS [SP Name], qs.min_elapsed_time, qs.total_elapsed_time/qs.execution_count AS [avg_elapsed_time], 
    qs.max_elapsed_time, qs.last_elapsed_time, qs.total_elapsed_time, qs.execution_count, 
    ISNULL(qs.execution_count/DATEDIFF(Minute, qs.cached_time, GETDATE()), 0) AS [Calls/Minute], 
    qs.total_worker_time/qs.execution_count AS [AvgWorkerTime], 
    qs.total_worker_time AS [TotalWorkerTime],
    CASE WHEN CONVERT(nvarchar(max), qp.query_plan) LIKE N'%<MissingIndexes>%' THEN 1 ELSE 0 END AS [Has Missing Index],
    FORMAT(qs.last_execution_time, 'yyyy-MM-dd HH:mm:ss', 'en-US') AS [Last Execution Time], 
    FORMAT(qs.cached_time, 'yyyy-MM-dd HH:mm:ss', 'en-US') AS [Plan Cached Time]
    -- ,qp.query_plan AS [Query Plan] -- Uncomment if you want the Query Plan
    FROM sys.procedures AS p WITH (NOLOCK)
    INNER JOIN sys.dm_exec_procedure_stats AS qs WITH (NOLOCK)
    ON p.[object_id] = qs.[object_id]
    CROSS APPLY sys.dm_exec_query_plan(qs.plan_handle) AS qp
    WHERE qs.database_id = DB_ID()
    AND DATEDIFF(Minute, qs.cached_time, GETDATE()) > 0
    ORDER BY avg_elapsed_time DESC OPTION (RECOMPILE);
    ------
    
    -- This helps you find high average elapsed time cached stored procedures that
    -- may be easy to optimize with standard query tuning techniques
    
    
    
    -- Top Cached SPs By Total Worker time. Worker time relates to CPU cost  (Query 58) (SP Worker Time)
    SELECT TOP(25) p.name AS [SP Name], qs.total_worker_time AS [TotalWorkerTime], 
    qs.total_worker_time/qs.execution_count AS [AvgWorkerTime], qs.execution_count, 
    ISNULL(qs.execution_count/DATEDIFF(Minute, qs.cached_time, GETDATE()), 0) AS [Calls/Minute],
    qs.total_elapsed_time, qs.total_elapsed_time/qs.execution_count AS [avg_elapsed_time],
    CASE WHEN CONVERT(nvarchar(max), qp.query_plan) LIKE N'%<MissingIndexes>%' THEN 1 ELSE 0 END AS [Has Missing Index],
    FORMAT(qs.last_execution_time, 'yyyy-MM-dd HH:mm:ss', 'en-US') AS [Last Execution Time], 
    FORMAT(qs.cached_time, 'yyyy-MM-dd HH:mm:ss', 'en-US') AS [Plan Cached Time]
    -- ,qp.query_plan AS [Query Plan] -- Uncomment if you want the Query Plan
    FROM sys.procedures AS p WITH (NOLOCK)
    INNER JOIN sys.dm_exec_procedure_stats AS qs WITH (NOLOCK)
    ON p.[object_id] = qs.[object_id]
    CROSS APPLY sys.dm_exec_query_plan(qs.plan_handle) AS qp
    WHERE qs.database_id = DB_ID()
    AND DATEDIFF(Minute, qs.cached_time, GETDATE()) > 0
    ORDER BY qs.total_worker_time DESC OPTION (RECOMPILE);
    ------
    
    -- This helps you find the most expensive cached stored procedures from a CPU perspective
    -- You should look at this if you see signs of CPU pressure
    
    
    -- Top Cached SPs By Total Logical Reads. Logical reads relate to memory pressure  (Query 59) (SP Logical Reads)
    SELECT TOP(25) p.name AS [SP Name], qs.total_logical_reads AS [TotalLogicalReads], 
    qs.total_logical_reads/qs.execution_count AS [AvgLogicalReads],qs.execution_count, 
    ISNULL(qs.execution_count/DATEDIFF(Minute, qs.cached_time, GETDATE()), 0) AS [Calls/Minute], 
    qs.total_elapsed_time, qs.total_elapsed_time/qs.execution_count AS [avg_elapsed_time],
    CASE WHEN CONVERT(nvarchar(max), qp.query_plan) LIKE N'%<MissingIndexes>%' THEN 1 ELSE 0 END AS [Has Missing Index], 
    FORMAT(qs.last_execution_time, 'yyyy-MM-dd HH:mm:ss', 'en-US') AS [Last Execution Time], 
    FORMAT(qs.cached_time, 'yyyy-MM-dd HH:mm:ss', 'en-US') AS [Plan Cached Time]
    -- ,qp.query_plan AS [Query Plan] -- Uncomment if you want the Query Plan
    FROM sys.procedures AS p WITH (NOLOCK)
    INNER JOIN sys.dm_exec_procedure_stats AS qs WITH (NOLOCK)
    ON p.[object_id] = qs.[object_id]
    CROSS APPLY sys.dm_exec_query_plan(qs.plan_handle) AS qp
    WHERE qs.database_id = DB_ID()
    AND DATEDIFF(Minute, qs.cached_time, GETDATE()) > 0
    ORDER BY qs.total_logical_reads DESC OPTION (RECOMPILE);
    ------
    
    -- This helps you find the most expensive cached stored procedures from a memory perspective
    -- You should look at this if you see signs of memory pressure
    
    
    -- Top Cached SPs By Total Physical Reads. Physical reads relate to disk read I/O pressure  (Query 60) (SP Physical Reads)
    SELECT TOP(25) p.name AS [SP Name],qs.total_physical_reads AS [TotalPhysicalReads], 
    qs.total_physical_reads/qs.execution_count AS [AvgPhysicalReads], qs.execution_count, 
    qs.total_logical_reads,qs.total_elapsed_time, qs.total_elapsed_time/qs.execution_count AS [avg_elapsed_time],
    CASE WHEN CONVERT(nvarchar(max), qp.query_plan) LIKE N'%<MissingIndexes>%' THEN 1 ELSE 0 END AS [Has Missing Index],
    FORMAT(qs.last_execution_time, 'yyyy-MM-dd HH:mm:ss', 'en-US') AS [Last Execution Time], 
    FORMAT(qs.cached_time, 'yyyy-MM-dd HH:mm:ss', 'en-US') AS [Plan Cached Time]
    -- ,qp.query_plan AS [Query Plan] -- Uncomment if you want the Query Plan 
    FROM sys.procedures AS p WITH (NOLOCK)
    INNER JOIN sys.dm_exec_procedure_stats AS qs WITH (NOLOCK)
    ON p.[object_id] = qs.[object_id]
    CROSS APPLY sys.dm_exec_query_plan(qs.plan_handle) AS qp
    WHERE qs.database_id = DB_ID()
    AND qs.total_physical_reads > 0
    ORDER BY qs.total_physical_reads DESC, qs.total_logical_reads DESC OPTION (RECOMPILE);
    ------
    
    -- This helps you find the most expensive cached stored procedures from a read I/O perspective
    -- You should look at this if you see signs of I/O pressure or of memory pressure
    
    
           
    -- Top Cached SPs By Total Logical Writes (Query 61) (SP Logical Writes)
    -- Logical writes relate to both memory and disk I/O pressure 
    SELECT TOP(25) p.name AS [SP Name], qs.total_logical_writes AS [TotalLogicalWrites], 
    qs.total_logical_writes/qs.execution_count AS [AvgLogicalWrites], qs.execution_count,
    ISNULL(qs.execution_count/DATEDIFF(Minute, qs.cached_time, GETDATE()), 0) AS [Calls/Minute],
    qs.total_elapsed_time, qs.total_elapsed_time/qs.execution_count AS [avg_elapsed_time],
    CASE WHEN CONVERT(nvarchar(max), qp.query_plan) LIKE N'%<MissingIndexes>%' THEN 1 ELSE 0 END AS [Has Missing Index], 
    FORMAT(qs.last_execution_time, 'yyyy-MM-dd HH:mm:ss', 'en-US') AS [Last Execution Time], 
    FORMAT(qs.cached_time, 'yyyy-MM-dd HH:mm:ss', 'en-US') AS [Plan Cached Time]
    -- ,qp.query_plan AS [Query Plan] -- Uncomment if you want the Query Plan 
    FROM sys.procedures AS p WITH (NOLOCK)
    INNER JOIN sys.dm_exec_procedure_stats AS qs WITH (NOLOCK)
    ON p.[object_id] = qs.[object_id]
    CROSS APPLY sys.dm_exec_query_plan(qs.plan_handle) AS qp
    WHERE qs.database_id = DB_ID()
    AND qs.total_logical_writes > 0
    AND DATEDIFF(Minute, qs.cached_time, GETDATE()) > 0
    ORDER BY qs.total_logical_writes DESC OPTION (RECOMPILE);
    ------
    
    -- This helps you find the most expensive cached stored procedures from a write I/O perspective
    -- You should look at this if you see signs of I/O pressure or of memory pressure
    
    
    -- Lists the top statements by average input/output usage for the current database  (Query 62) (Top IO Statements)
    SELECT TOP(50) OBJECT_NAME(qt.objectid, dbid) AS [SP Name],
    (qs.total_logical_reads + qs.total_logical_writes) /qs.execution_count AS [Avg IO], qs.execution_count AS [Execution Count],
    SUBSTRING(qt.[text],qs.statement_start_offset/2, 
    	(CASE 
    		WHEN qs.statement_end_offset = -1 
    	 THEN LEN(CONVERT(nvarchar(max), qt.[text])) * 2 
    		ELSE qs.statement_end_offset 
    	 END - qs.statement_start_offset)/2) AS [Query Text]	
    FROM sys.dm_exec_query_stats AS qs WITH (NOLOCK)
    CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) AS qt
    WHERE qt.[dbid] = DB_ID()
    ORDER BY [Avg IO] DESC OPTION (RECOMPILE);
    ------
    
    -- Helps you find the most expensive statements for I/O by SP
    
    
    
    -- Possible Bad NC Indexes (writes > reads)  (Query 63) (Bad NC Indexes)
    SELECT OBJECT_NAME(s.[object_id]) AS [Table Name], i.name AS [Index Name], i.index_id, 
    i.is_disabled, i.is_hypothetical, i.has_filter, i.fill_factor,
    s.user_updates AS [Total Writes], s.user_seeks + s.user_scans + s.user_lookups AS [Total Reads],
    s.user_updates - (s.user_seeks + s.user_scans + s.user_lookups) AS [Difference]
    FROM sys.dm_db_index_usage_stats AS s WITH (NOLOCK)
    INNER JOIN sys.indexes AS i WITH (NOLOCK)
    ON s.[object_id] = i.[object_id]
    AND i.index_id = s.index_id
    WHERE OBJECTPROPERTY(s.[object_id],'IsUserTable') = 1
    AND s.database_id = DB_ID()
    AND s.user_updates > (s.user_seeks + s.user_scans + s.user_lookups)
    AND i.index_id > 1 AND i.[type_desc] = N'NONCLUSTERED'
    AND i.is_primary_key = 0 AND i.is_unique_constraint = 0 AND i.is_unique = 0
    ORDER BY [Difference] DESC, [Total Writes] DESC, [Total Reads] ASC OPTION (RECOMPILE);
    ------
    
    -- Look for indexes with high numbers of writes and zero or very low numbers of reads
    -- Consider your complete workload, and how long your instance has been running
    -- Investigate further before dropping an index!
    
    
    -- Missing Indexes for current database by Index Advantage  (Query 64) (Missing Indexes)
    SELECT CONVERT(decimal(18,2), user_seeks * avg_total_user_cost * (avg_user_impact * 0.01)) AS [index_advantage], 
    migs.last_user_seek, mid.[statement] AS [Database.Schema.Table],
    COUNT(1) OVER(PARTITION BY mid.[statement]) AS [missing_indexes_for_table],
    COUNT(1) OVER(PARTITION BY mid.[statement], equality_columns) AS [similar_missing_indexes_for_table],
    mid.equality_columns, mid.inequality_columns, mid.included_columns,
    migs.unique_compiles, migs.user_seeks, 
    CONVERT(decimal(18,2), migs.avg_total_user_cost) AS [avg_total_user_cost], migs.avg_user_impact,
    OBJECT_NAME(mid.[object_id]) AS [Table Name], p.rows AS [Table Rows]
    FROM sys.dm_db_missing_index_group_stats AS migs WITH (NOLOCK)
    INNER JOIN sys.dm_db_missing_index_groups AS mig WITH (NOLOCK)
    ON migs.group_handle = mig.index_group_handle
    INNER JOIN sys.dm_db_missing_index_details AS mid WITH (NOLOCK)
    ON mig.index_handle = mid.index_handle
    INNER JOIN sys.partitions AS p WITH (NOLOCK)
    ON p.[object_id] = mid.[object_id]
    WHERE mid.database_id = DB_ID()
    AND p.index_id < 2 
    ORDER BY index_advantage DESC OPTION (RECOMPILE);
    ------
    
    -- Look at index advantage, last user seek time, number of user seeks to help determine source and importance
    -- SQL Server is overly eager to add included columns, so beware
    -- Do not just blindly add indexes that show up from this query!!!
    
    
    -- Find missing index warnings for cached plans in the current database  (Query 65) (Missing Index Warnings)
    -- Note: This query could take some time on a busy instance
    SELECT TOP(25) OBJECT_NAME(objectid) AS [ObjectName], 
                   cp.objtype, cp.usecounts, cp.size_in_bytes, query_plan
    FROM sys.dm_exec_cached_plans AS cp WITH (NOLOCK)
    CROSS APPLY sys.dm_exec_query_plan(cp.plan_handle) AS qp
    WHERE CAST(query_plan AS NVARCHAR(MAX)) LIKE N'%MissingIndex%'
    AND dbid = DB_ID()
    ORDER BY cp.usecounts DESC OPTION (RECOMPILE);
    ------
    
    -- Helps you connect missing indexes to specific stored procedures or queries
    -- This can help you decide whether to add them or not
    
    
    -- Breaks down buffers used by current database by object (table, index) in the buffer cache  (Query 66) (Buffer Usage)
    -- Note: This query could take some time on a busy instance
    SELECT OBJECT_NAME(p.[object_id]) AS [Object Name], p.index_id, 
    CAST(COUNT(*)/128.0 AS DECIMAL(10, 2)) AS [Buffer size(MB)],  
    COUNT(*) AS [BufferCount], p.[Rows] AS [Row Count],
    p.data_compression_desc AS [Compression Type]
    FROM sys.allocation_units AS a WITH (NOLOCK)
    INNER JOIN sys.dm_os_buffer_descriptors AS b WITH (NOLOCK)
    ON a.allocation_unit_id = b.allocation_unit_id
    INNER JOIN sys.partitions AS p WITH (NOLOCK)
    ON a.container_id = p.hobt_id
    WHERE b.database_id = CONVERT(int, DB_ID())
    AND p.[object_id] > 100
    AND OBJECT_NAME(p.[object_id]) NOT LIKE N'plan_%'
    AND OBJECT_NAME(p.[object_id]) NOT LIKE N'sys%'
    AND OBJECT_NAME(p.[object_id]) NOT LIKE N'xml_index_nodes%'
    GROUP BY p.[object_id], p.index_id, p.data_compression_desc, p.[Rows]
    ORDER BY [BufferCount] DESC OPTION (RECOMPILE);
    ------
    
    -- Tells you what tables and indexes are using the most memory in the buffer cache
    -- It can help identify possible candidates for data compression
    
    
    -- Get Table names, row counts, and compression status for clustered index or heap  (Query 67) (Table Sizes)
    SELECT OBJECT_NAME(object_id) AS [ObjectName], 
    SUM(Rows) AS [RowCount], data_compression_desc AS [CompressionType]
    FROM sys.partitions WITH (NOLOCK)
    WHERE index_id < 2 --ignore the partitions from the non-clustered index if any
    AND OBJECT_NAME(object_id) NOT LIKE N'sys%'
    AND OBJECT_NAME(object_id) NOT LIKE N'queue_%' 
    AND OBJECT_NAME(object_id) NOT LIKE N'filestream_tombstone%' 
    AND OBJECT_NAME(object_id) NOT LIKE N'fulltext%'
    AND OBJECT_NAME(object_id) NOT LIKE N'ifts_comp_fragment%'
    AND OBJECT_NAME(object_id) NOT LIKE N'filetable_updates%'
    AND OBJECT_NAME(object_id) NOT LIKE N'xml_index_nodes%'
    AND OBJECT_NAME(object_id) NOT LIKE N'sqlagent_job%'
    AND OBJECT_NAME(object_id) NOT LIKE N'plan_persist%'
    AND OBJECT_NAME(object_id) NOT LIKE N'persistent_version_store%'
    AND OBJECT_NAME(object_id) NOT LIKE N'persistent_version_store_long_term%'
    GROUP BY object_id, data_compression_desc
    ORDER BY SUM(Rows) DESC OPTION (RECOMPILE);
    ------
    
    -- Gives you an idea of table sizes, and possible data compression opportunities
    
    
    
    -- Get some key table properties (Query 68) (Table Properties)
    SELECT OBJECT_NAME(t.[object_id]) AS [ObjectName], p.[rows] AS [Table Rows], p.index_id, 
           p.data_compression_desc AS [Index Data Compression],
           t.create_date, t.lock_on_bulk_load, t.is_replicated, t.has_replication_filter, 
           t.is_tracked_by_cdc, t.lock_escalation_desc, t.is_filetable, 
    	   t.is_memory_optimized, t.durability_desc  -- new for SQL Server 2014
    FROM sys.tables AS t WITH (NOLOCK)
    INNER JOIN sys.partitions AS p WITH (NOLOCK)
    ON t.[object_id] = p.[object_id]
    WHERE OBJECT_NAME(t.[object_id]) NOT LIKE N'sys%'
    ORDER BY OBJECT_NAME(t.[object_id]), p.index_id OPTION (RECOMPILE);
    ------
    
    -- Gives you some good information about your tables
    -- Is Memory optimized and durability description are Hekaton-related properties that were new in SQL Server 2014
    
    
    
    -- When were Statistics last updated on all indexes?  (Query 69) (Statistics Update)
    SELECT SCHEMA_NAME(o.Schema_ID) + N'.' + o.[NAME] AS [Object Name], o.[type_desc] AS [Object Type],
          i.[name] AS [Index Name], STATS_DATE(i.[object_id], i.index_id) AS [Statistics Date], 
          s.auto_created, s.no_recompute, s.user_created, s.is_incremental, s.is_temporary,
    	  st.row_count, st.used_page_count
    FROM sys.objects AS o WITH (NOLOCK)
    INNER JOIN sys.indexes AS i WITH (NOLOCK)
    ON o.[object_id] = i.[object_id]
    INNER JOIN sys.stats AS s WITH (NOLOCK)
    ON i.[object_id] = s.[object_id] 
    AND i.index_id = s.stats_id
    INNER JOIN sys.dm_db_partition_stats AS st WITH (NOLOCK)
    ON o.[object_id] = st.[object_id]
    AND i.[index_id] = st.[index_id]
    WHERE o.[type] IN ('U', 'V')
    AND st.row_count > 0
    ORDER BY STATS_DATE(i.[object_id], i.index_id) DESC OPTION (RECOMPILE);
    ------  
    
    -- Helps discover possible problems with out-of-date statistics
    -- Also gives you an idea which indexes are the most active
    
    -- sys.stats (Transact-SQL)
    -- https://bit.ly/2GyAxrn
    
    -- UPDATEs to Statistics (Erin Stellato)
    -- https://bit.ly/2vhrYQy
    
    
    
    -- Look at most frequently modified indexes and statistics (Query 70) (Volatile Indexes)
    SELECT o.[name] AS [Object Name], o.[object_id], o.[type_desc], s.[name] AS [Statistics Name], 
           s.stats_id, s.no_recompute, s.auto_created, s.is_incremental, s.is_temporary,
    	   sp.modification_counter, sp.[rows], sp.rows_sampled, sp.last_updated
    FROM sys.objects AS o WITH (NOLOCK)
    INNER JOIN sys.stats AS s WITH (NOLOCK)
    ON s.object_id = o.object_id
    CROSS APPLY sys.dm_db_stats_properties(s.object_id, s.stats_id) AS sp
    WHERE o.[type_desc] NOT IN (N'SYSTEM_TABLE', N'INTERNAL_TABLE')
    AND sp.modification_counter > 0
    ORDER BY sp.modification_counter DESC, o.name OPTION (RECOMPILE);
    ------
    
    -- This helps you understand your workload and make better decisions about 
    -- things like data compression and adding new indexes to a table
    
    
    
    -- Get fragmentation info for all indexes above a certain size in the current database  (Query 71) (Index Fragmentation)
    -- Note: This query could take some time on a very large database
    SELECT DB_NAME(ps.database_id) AS [Database Name], SCHEMA_NAME(o.[schema_id]) AS [Schema Name],
    OBJECT_NAME(ps.OBJECT_ID) AS [Object Name], i.[name] AS [Index Name], ps.index_id, 
    ps.index_type_desc, ps.avg_fragmentation_in_percent, 
    ps.fragment_count, ps.page_count, i.fill_factor, i.has_filter, 
    i.filter_definition, i.[allow_page_locks]
    FROM sys.dm_db_index_physical_stats(DB_ID(),NULL, NULL, NULL , N'LIMITED') AS ps
    INNER JOIN sys.indexes AS i WITH (NOLOCK)
    ON ps.[object_id] = i.[object_id] 
    AND ps.index_id = i.index_id
    INNER JOIN sys.objects AS o WITH (NOLOCK)
    ON i.[object_id] = o.[object_id]
    WHERE ps.database_id = DB_ID()
    AND ps.page_count > 2500
    ORDER BY ps.avg_fragmentation_in_percent DESC OPTION (RECOMPILE);
    ------
    
    -- Helps determine whether you have framentation in your relational indexes
    -- and how effective your index maintenance strategy is
    
    
    --- Index Read/Write stats (all tables in current DB) ordered by Reads  (Query 72) (Overall Index Usage - Reads)
    SELECT OBJECT_NAME(i.[object_id]) AS [ObjectName], i.[name] AS [IndexName], i.index_id, 
           s.user_seeks, s.user_scans, s.user_lookups,
    	   s.user_seeks + s.user_scans + s.user_lookups AS [Total Reads], 
    	   s.user_updates AS [Writes],  
    	   i.[type_desc] AS [Index Type], i.fill_factor AS [Fill Factor], i.has_filter, i.filter_definition, 
    	   s.last_user_scan, s.last_user_lookup, s.last_user_seek
    FROM sys.indexes AS i WITH (NOLOCK)
    LEFT OUTER JOIN sys.dm_db_index_usage_stats AS s WITH (NOLOCK)
    ON i.[object_id] = s.[object_id]
    AND i.index_id = s.index_id
    AND s.database_id = DB_ID()
    WHERE OBJECTPROPERTY(i.[object_id],'IsUserTable') = 1
    ORDER BY s.user_seeks + s.user_scans + s.user_lookups DESC OPTION (RECOMPILE); -- Order by reads
    ------
    
    -- Show which indexes in the current database are most active for Reads
    
    
    --- Index Read/Write stats (all tables in current DB) ordered by Writes  (Query 73) (Overall Index Usage - Writes)
    SELECT OBJECT_NAME(i.[object_id]) AS [ObjectName], i.[name] AS [IndexName], i.index_id,
    	   s.user_updates AS [Writes], s.user_seeks + s.user_scans + s.user_lookups AS [Total Reads], 
    	   i.[type_desc] AS [Index Type], i.fill_factor AS [Fill Factor], i.has_filter, i.filter_definition,
    	   s.last_system_update, s.last_user_update
    FROM sys.indexes AS i WITH (NOLOCK)
    LEFT OUTER JOIN sys.dm_db_index_usage_stats AS s WITH (NOLOCK)
    ON i.[object_id] = s.[object_id]
    AND i.index_id = s.index_id
    AND s.database_id = DB_ID()
    WHERE OBJECTPROPERTY(i.[object_id],'IsUserTable') = 1
    ORDER BY s.user_updates DESC OPTION (RECOMPILE);						 -- Order by writes
    ------
    
    -- Show which indexes in the current database are most active for Writes
    
    
    -- Get in-memory OLTP index usage (Query 74) (XTP Index Usage)
    SELECT OBJECT_NAME(i.[object_id]) AS [Object Name], i.index_id, i.[name] AS [Index Name],
           i.[type_desc], xis.scans_started, xis.scans_retries, 
    	   xis.rows_touched, xis.rows_returned
    FROM sys.dm_db_xtp_index_stats AS xis WITH (NOLOCK)
    INNER JOIN sys.indexes AS i WITH (NOLOCK)
    ON i.[object_id] = xis.[object_id] 
    AND i.index_id = xis.index_id 
    ORDER BY OBJECT_NAME(i.[object_id]) OPTION (RECOMPILE);
    ------
    
    -- This gives you some index usage statistics for in-memory OLTP
    -- Returns no data if you are not using in-memory OLTP
    
    -- Guidelines for Using Indexes on Memory-Optimized Tables
    -- https://bit.ly/2GCP8lF
    
    
    -- Get lock waits for current database (Query 75) (Lock Waits)
    SELECT o.name AS [table_name], i.name AS [index_name], ios.index_id, ios.partition_number,
    		SUM(ios.row_lock_wait_count) AS [total_row_lock_waits], 
    		SUM(ios.row_lock_wait_in_ms) AS [total_row_lock_wait_in_ms],
    		SUM(ios.page_lock_wait_count) AS [total_page_lock_waits],
    		SUM(ios.page_lock_wait_in_ms) AS [total_page_lock_wait_in_ms],
    		SUM(ios.page_lock_wait_in_ms)+ SUM(row_lock_wait_in_ms) AS [total_lock_wait_in_ms]
    FROM sys.dm_db_index_operational_stats(DB_ID(), NULL, NULL, NULL) AS ios
    INNER JOIN sys.objects AS o WITH (NOLOCK)
    ON ios.[object_id] = o.[object_id]
    INNER JOIN sys.indexes AS i WITH (NOLOCK)
    ON ios.[object_id] = i.[object_id] 
    AND ios.index_id = i.index_id
    WHERE o.[object_id] > 100
    GROUP BY o.name, i.name, ios.index_id, ios.partition_number
    HAVING SUM(ios.page_lock_wait_in_ms)+ SUM(row_lock_wait_in_ms) > 0
    ORDER BY total_lock_wait_in_ms DESC OPTION (RECOMPILE);
    ------
    
    -- This query is helpful for troubleshooting blocking and deadlocking issues
    
    
    -- Get input buffer information for the current database (Query 76) (Input Buffer)
    SELECT es.session_id, DB_NAME(es.database_id) AS [Database Name],
    es.login_time, es.cpu_time, es.logical_reads,
    es.[status], ib.event_info AS [Input Buffer]
    FROM sys.dm_exec_sessions AS es WITH (NOLOCK)
    CROSS APPLY sys.dm_exec_input_buffer(es.session_id, NULL) AS ib
    WHERE es.database_id = DB_ID()
    AND es.session_id > 50
    AND es.session_id <> @@SPID OPTION (RECOMPILE);
    
    -- Gives you input buffer information from all non-system sessions for the current database
    -- Replaces DBCC INPUTBUFFER
    -- Requires SQL Server 2014 SP2 or later
    
    -- New DMF for retrieving input buffer in SQL Server
    -- https://bit.ly/2uHKMbz
    
    
    -- Look at recent Full backups for the current database (Query 77) (Recent Full Backups)
    SELECT TOP (30) bs.machine_name, bs.server_name, bs.database_name AS [Database Name], bs.recovery_model,
    CONVERT (BIGINT, bs.backup_size / 1048576 ) AS [Uncompressed Backup Size (MB)],
    CONVERT (BIGINT, bs.compressed_backup_size / 1048576 ) AS [Compressed Backup Size (MB)],
    CONVERT (NUMERIC (20,2), (CONVERT (FLOAT, bs.backup_size) /
    CONVERT (FLOAT, bs.compressed_backup_size))) AS [Compression Ratio], bs.has_backup_checksums, bs.is_copy_only, bs.encryptor_type,
    DATEDIFF (SECOND, bs.backup_start_date, bs.backup_finish_date) AS [Backup Elapsed Time (sec)],
    bs.backup_finish_date AS [Backup Finish Date], bmf.physical_device_name AS [Backup Location], bmf.physical_block_size
    FROM msdb.dbo.backupset AS bs WITH (NOLOCK)
    INNER JOIN msdb.dbo.backupmediafamily AS bmf WITH (NOLOCK)
    ON bs.media_set_id = bmf.media_set_id  
    WHERE bs.database_name = DB_NAME(DB_ID())
    AND bs.[type] = 'D' -- Change to L if you want Log backups
    ORDER BY bs.backup_finish_date DESC OPTION (RECOMPILE);
    ------
    
    -- Are your backup sizes and times changing over time?
    -- Are you using backup compression?
    -- Are you using backup checksums?
    -- Are you doing copy_only backups?
    -- Are you doing encrypted backups?
    -- Have you done any backup tuning with striped backups, or changing the parameters of the backup command?
    
    
    -- These four Pluralsight Courses go into more detail about how to run these queries and interpret the results
    
    -- SQL Server 2017: Diagnosing Configuration Issues with DMVs
    -- https://bit.ly/2MSUDUL
    
    -- SQL Server 2014 DMV Diagnostic Queries � Part 1 
    -- https://bit.ly/2plxCer
    
    -- SQL Server 2014 DMV Diagnostic Queries � Part 2
    -- https://bit.ly/2IuJpzI
    
    -- SQL Server 2014 DMV Diagnostic Queries � Part 3
    -- https://bit.ly/2FIlCPb
    
    
    
    -- Sign up for Microsoft Visual Studio Dev Essentials and get a free three month pass to Pluralsight
    
    -- Microsoft Visual Studio Dev Essentials
    -- http://bit.ly/1q6xbDL
    
    
    -- Sign up for Microsoft Azure Essentials and get lots of free Azure usage credits, MCP exam voucher, three month Pluralsight subscription
    
    -- Microsoft Azure Essentials
    -- https://bit.ly/2JMWe8x
    
    
    -- August 2017 blog series about upgrading and migrating to SQL Server 2016/2017
    -- https://bit.ly/2ftKVrX
    
  • tools\dbatools\bin\perfmontemplates\collectorsets\PAL - SQL Server 2005.xml Show
    <DataCollectorSet>
    <Name>PAL - SQL Server 2005</Name>
    <DisplayName>PAL - SQL Server 2005</DisplayName>
    <DisplayNameUnresolved>PAL - SQL Server 2005</DisplayNameUnresolved>
    <Description>Data Collector Sets from PAL, a performance monitor data aggregation tool by Microsoft. The toolset was created by Microsoft PFE Clint Huffman who worked with fellow experts to create a list specialized lists of counters. You can find the project at github.com/clinthuffman/PAL</Description>
    <DescriptionUnresolved>Data Collector Sets from PAL, a performance monitor data aggregation tool by Microsoft. The toolset was created by Microsoft PFE Clint Huffman who worked with fellow experts to create a list specialized lists of counters. You can find the project at github.com/clinthuffman/PAL</DescriptionUnresolved>
    <SubdirectoryFormat>3</SubdirectoryFormat>
    <SubdirectoryFormatPattern>yyyyMMdd\-NNNNNN</SubdirectoryFormatPattern>
    <PerformanceCounterDataCollector>
        <Name>PAL - SQL Server 2005 Collector</Name>
        <SampleInterval>15</SampleInterval>
        <Counter>\Cache\Dirty Pages</Counter>
        <Counter>\Cache\Lazy Write Flushes/sec</Counter>
        <Counter>\LogicalDisk(*)\% Free Space</Counter>
        <Counter>\LogicalDisk(*)\% Idle Time</Counter>
        <Counter>\LogicalDisk(*)\Avg. Disk Bytes/Read</Counter>
        <Counter>\LogicalDisk(*)\Avg. Disk Bytes/Transfer</Counter>
        <Counter>\LogicalDisk(*)\Avg. Disk Bytes/Write</Counter>
        <Counter>\LogicalDisk(*)\Avg. Disk Queue Length</Counter>
        <Counter>\LogicalDisk(*)\Avg. Disk sec/Read</Counter>
        <Counter>\LogicalDisk(*)\Avg. Disk sec/Transfer</Counter>
        <Counter>\LogicalDisk(*)\Avg. Disk sec/Write</Counter>
        <Counter>\LogicalDisk(*)\Current Disk Queue Length</Counter>
        <Counter>\LogicalDisk(*)\Disk Bytes/sec</Counter>
        <Counter>\LogicalDisk(*)\Disk Reads/sec</Counter>
        <Counter>\LogicalDisk(*)\Disk Transfers/sec</Counter>
        <Counter>\LogicalDisk(*)\Disk Writes/sec</Counter>
        <Counter>\LogicalDisk(*)\Free Megabytes</Counter>
        <Counter>\Memory\% Committed Bytes In Use</Counter>
        <Counter>\Memory\Available MBytes</Counter>
        <Counter>\Memory\Commit Limit</Counter>
        <Counter>\Memory\Committed Bytes</Counter>
        <Counter>\Memory\Free &amp; Zero Page List Bytes</Counter>
        <Counter>\Memory\Free System Page Table Entries</Counter>
        <Counter>\Memory\Long-Term Average Standby Cache Lifetime (s)</Counter>
        <Counter>\Memory\Pages Input/sec</Counter>
        <Counter>\Memory\Pages Output/sec</Counter>
        <Counter>\Memory\Pages/sec</Counter>
        <Counter>\Memory\Pool Nonpaged Bytes</Counter>
        <Counter>\Memory\Pool Paged Bytes</Counter>
        <Counter>\Memory\Pool Paged Resident Bytes</Counter>
        <Counter>\Memory\System Cache Resident Bytes</Counter>
        <Counter>\Memory\Transition Pages RePurposed/sec</Counter>
        <Counter>\Network Inspection System\Average inspection latency (sec/bytes)</Counter>
        <Counter>\Network Interface(*)\Bytes Received/sec</Counter>
        <Counter>\Network Interface(*)\Bytes Sent/sec</Counter>
        <Counter>\Network Interface(*)\Bytes Total/sec</Counter>
        <Counter>\Network Interface(*)\Current Bandwidth</Counter>
        <Counter>\Network Interface(*)\Output Queue Length</Counter>
        <Counter>\Network Interface(*)\Packets Outbound Errors</Counter>
        <Counter>\Network Interface(*)\Packets Received/sec</Counter>
        <Counter>\Network Interface(*)\Packets Sent/sec</Counter>
        <Counter>\Network Interface(*)\Packets/sec</Counter>
        <Counter>\Paging File(*)\% Usage</Counter>
        <Counter>\PhysicalDisk(*)\Avg. Disk Queue Length</Counter>
        <Counter>\PhysicalDisk(*)\Avg. Disk sec/Read</Counter>
        <Counter>\PhysicalDisk(*)\Avg. Disk sec/Write</Counter>
        <Counter>\PhysicalDisk(*)\Current Disk Queue Length</Counter>
        <Counter>\PhysicalDisk(*)\Disk Bytes/sec</Counter>
        <Counter>\Process(*)\% Processor Time</Counter>
        <Counter>\Process(*)\Handle Count</Counter>
        <Counter>\Process(*)\ID Process</Counter>
        <Counter>\Process(*)\IO Data Operations/sec</Counter>
        <Counter>\Process(*)\IO Other Operations/sec</Counter>
        <Counter>\Process(*)\IO Read Operations/sec</Counter>
        <Counter>\Process(*)\IO Write Operations/sec</Counter>
        <Counter>\Process(*)\Private Bytes</Counter>
        <Counter>\Process(*)\Thread Count</Counter>
        <Counter>\Process(*)\Virtual Bytes</Counter>
        <Counter>\Process(*)\Working Set</Counter>
        <Counter>\Process(sqlservr)\% Privileged Time</Counter>
        <Counter>\Processor Information(*)\% DPC Time</Counter>
        <Counter>\Processor Information(*)\% Interrupt Time</Counter>
        <Counter>\Processor Information(*)\% of Maximum Frequency</Counter>
        <Counter>\Processor Information(*)\% Privileged Time</Counter>
        <Counter>\Processor Information(*)\% Processor Time</Counter>
        <Counter>\Processor Information(*)\% User Time</Counter>
        <Counter>\Processor Information(*)\DPC Rate</Counter>
        <Counter>\Processor Information(*)\Parking Status</Counter>
        <Counter>\Processor(*)\% DPC Time</Counter>
        <Counter>\Processor(*)\% Interrupt Time</Counter>
        <Counter>\Processor(*)\% Privileged Time</Counter>
        <Counter>\Processor(*)\% Processor Time</Counter>
        <Counter>\Processor(*)\% User Time</Counter>
        <Counter>\Processor(*)\DPC Rate</Counter>
        <Counter>\Server\Pool Nonpaged Failures</Counter>
        <Counter>\Server\Pool Paged Failures</Counter>
        <Counter>\SQLServer:Access Methods\Forwarded Records/sec</Counter>
        <Counter>\SQLServer:Access Methods\FreeSpace Scans/sec</Counter>
        <Counter>\SQLServer:Access Methods\Full Scans/sec</Counter>
        <Counter>\SQLServer:Access Methods\Index Searches/sec</Counter>
        <Counter>\SQLServer:Access Methods\Page Splits/sec</Counter>
        <Counter>\SQLServer:Access Methods\Scan Point Revalidations/sec</Counter>
        <Counter>\SQLServer:Access Methods\Workfiles Created/sec</Counter>
        <Counter>\SQLServer:Access Methods\Worktables Created/sec</Counter>
        <Counter>\SQLServer:Buffer Manager\Buffer cache hit ratio</Counter>
        <Counter>\SQLServer:Buffer Manager\Checkpoint pages/sec</Counter>
        <Counter>\SQLServer:Buffer Manager\Free pages</Counter>
        <Counter>\SQLServer:Buffer Manager\Lazy writes/sec</Counter>
        <Counter>\SQLServer:Buffer Manager\Page life expectancy</Counter>
        <Counter>\SQLServer:Buffer Manager\Page lookups/sec</Counter>
        <Counter>\SQLServer:Buffer Manager\Page reads/sec</Counter>
        <Counter>\SQLServer:Buffer Manager\Page writes/sec</Counter>
        <Counter>\SQLServer:General Statistics\Logins/sec</Counter>
        <Counter>\SQLServer:General Statistics\Logouts/sec</Counter>
        <Counter>\SQLServer:General Statistics\User Connections</Counter>
        <Counter>\SQLServer:Latches\Latch Waits/sec</Counter>
        <Counter>\SQLServer:Latches\Total Latch Wait Time (ms)</Counter>
        <Counter>\SQLServer:Locks(*)\Lock Requests/sec</Counter>
        <Counter>\SQLServer:Locks(*)\Lock Timeouts/sec</Counter>
        <Counter>\SQLServer:Locks(*)\Lock Wait Time (ms)</Counter>
        <Counter>\SQLServer:Locks(*)\Lock Waits/sec</Counter>
        <Counter>\SQLServer:Locks(*)\Number of Deadlocks/sec</Counter>
        <Counter>\SQLServer:Memory Manager\Memory Grants Pending</Counter>
        <Counter>\SQLServer:Memory Manager\Target Server Memory(KB)</Counter>
        <Counter>\SQLServer:Memory Manager\Total Server Memory (KB)</Counter>
        <Counter>\SQLServer:SQL Statistics\Batch Requests/sec</Counter>
        <Counter>\SQLServer:SQL Statistics\SQL Compilations/sec</Counter>
        <Counter>\SQLServer:SQL Statistics\SQL Re-Compilations/sec</Counter>
        <Counter>\System\Context Switches/sec</Counter>
        <Counter>\System\Processor Queue Length</Counter>
        <Counter>\System\System Calls/sec</Counter>
        <Counter>\TCPv4\Connection Failures</Counter>
    </PerformanceCounterDataCollector>
    </DataCollectorSet>
  • tools\dbatools\bin\perfmontemplates\collectorsets\PAL - SQL Server 2008 and R2.xml Show
    <DataCollectorSet>
    <Name>PAL - SQL Server 2008 and R2</Name>
    <DisplayName>PAL - SQL Server 2008 and R2</DisplayName>
    <DisplayNameUnresolved>PAL - SQL Server 2008 and R2</DisplayNameUnresolved>
    <Description>Data Collector Sets from PAL, a performance monitor data aggregation tool by Microsoft. The toolset was created by Microsoft PFE Clint Huffman who worked with fellow experts to create a list specialized lists of counters. You can find the project at github.com/clinthuffman/PAL</Description>
    <DescriptionUnresolved>Data Collector Sets from PAL, a performance monitor data aggregation tool by Microsoft. The toolset was created by Microsoft PFE Clint Huffman who worked with fellow experts to create a list specialized lists of counters. You can find the project at github.com/clinthuffman/PAL</DescriptionUnresolved>
    <SubdirectoryFormat>3</SubdirectoryFormat>
    <SubdirectoryFormatPattern>yyyyMMdd\-NNNNNN</SubdirectoryFormatPattern>
    <PerformanceCounterDataCollector>
        <Name>PAL - SQL Server 2008 and R2 Collector</Name>
        <SampleInterval>15</SampleInterval>
        <Counter>\Cache\Dirty Pages</Counter>
        <Counter>\Cache\Lazy Write Flushes/sec</Counter>
        <Counter>\LogicalDisk(*)\% Free Space</Counter>
        <Counter>\LogicalDisk(*)\% Idle Time</Counter>
        <Counter>\LogicalDisk(*)\Avg. Disk Bytes/Read</Counter>
        <Counter>\LogicalDisk(*)\Avg. Disk Bytes/Transfer</Counter>
        <Counter>\LogicalDisk(*)\Avg. Disk Bytes/Write</Counter>
        <Counter>\LogicalDisk(*)\Avg. Disk Queue Length</Counter>
        <Counter>\LogicalDisk(*)\Avg. Disk sec/Read</Counter>
        <Counter>\LogicalDisk(*)\Avg. Disk sec/Transfer</Counter>
        <Counter>\LogicalDisk(*)\Avg. Disk sec/Write</Counter>
        <Counter>\LogicalDisk(*)\Current Disk Queue Length</Counter>
        <Counter>\LogicalDisk(*)\Disk Bytes/sec</Counter>
        <Counter>\LogicalDisk(*)\Disk Reads/sec</Counter>
        <Counter>\LogicalDisk(*)\Disk Transfers/sec</Counter>
        <Counter>\LogicalDisk(*)\Disk Writes/sec</Counter>
        <Counter>\LogicalDisk(*)\Free Megabytes</Counter>
        <Counter>\Memory\% Committed Bytes In Use</Counter>
        <Counter>\Memory\Available MBytes</Counter>
        <Counter>\Memory\Commit Limit</Counter>
        <Counter>\Memory\Committed Bytes</Counter>
        <Counter>\Memory\Free &amp; Zero Page List Bytes</Counter>
        <Counter>\Memory\Free System Page Table Entries</Counter>
        <Counter>\Memory\Long-Term Average Standby Cache Lifetime (s)</Counter>
        <Counter>\Memory\Pages Input/sec</Counter>
        <Counter>\Memory\Pages Output/sec</Counter>
        <Counter>\Memory\Pages/sec</Counter>
        <Counter>\Memory\Pool Nonpaged Bytes</Counter>
        <Counter>\Memory\Pool Paged Bytes</Counter>
        <Counter>\Memory\Pool Paged Resident Bytes</Counter>
        <Counter>\Memory\System Cache Resident Bytes</Counter>
        <Counter>\Memory\Transition Pages RePurposed/sec</Counter>
        <Counter>\MSRS 2008 R2 Web Service\Cache Misses/Sec</Counter>
        <Counter>\MSRS 2008 R2 Web Service\Report Requests</Counter>
        <Counter>\MSRS 2008 R2 Web Service\Total Memory Cache Misses</Counter>
        <Counter>\MSRS 2008 R2 Web Service\Total Requests</Counter>
        <Counter>\Network Inspection System\Average inspection latency (sec/bytes)</Counter>
        <Counter>\Network Interface(*)\Bytes Received/sec</Counter>
        <Counter>\Network Interface(*)\Bytes Sent/sec</Counter>
        <Counter>\Network Interface(*)\Bytes Total/sec</Counter>
        <Counter>\Network Interface(*)\Current Bandwidth</Counter>
        <Counter>\Network Interface(*)\Output Queue Length</Counter>
        <Counter>\Network Interface(*)\Packets Outbound Errors</Counter>
        <Counter>\Network Interface(*)\Packets Received/sec</Counter>
        <Counter>\Network Interface(*)\Packets Sent/sec</Counter>
        <Counter>\Network Interface(*)\Packets/sec</Counter>
        <Counter>\Paging File(*)\% Usage</Counter>
        <Counter>\PhysicalDisk(*)\Avg. Disk Queue Length</Counter>
        <Counter>\PhysicalDisk(*)\Avg. Disk sec/Read</Counter>
        <Counter>\PhysicalDisk(*)\Avg. Disk sec/Write</Counter>
        <Counter>\PhysicalDisk(*)\Current Disk Queue Length</Counter>
        <Counter>\PhysicalDisk(*)\Disk Bytes/sec</Counter>
        <Counter>\Process(*)\Handle Count</Counter>
        <Counter>\Process(*)\ID Process</Counter>
        <Counter>\Process(*)\IO Data Operations/sec</Counter>
        <Counter>\Process(*)\IO Other Operations/sec</Counter>
        <Counter>\Process(*)\IO Read Operations/sec</Counter>
        <Counter>\Process(*)\IO Write Operations/sec</Counter>
        <Counter>\Process(*)\Private Bytes</Counter>
        <Counter>\Process(*)\Thread Count</Counter>
        <Counter>\Process(*)\Virtual Bytes</Counter>
        <Counter>\Process(*)\Working Set</Counter>
        <Counter>\Process(sqlservr)\% Privileged Time</Counter>
        <Counter>\Process(sqlservr)\% Processor Time</Counter>
        <Counter>\Processor Information(*)\% DPC Time</Counter>
        <Counter>\Processor Information(*)\% Interrupt Time</Counter>
        <Counter>\Processor Information(*)\% of Maximum Frequency</Counter>
        <Counter>\Processor Information(*)\% Privileged Time</Counter>
        <Counter>\Processor Information(*)\% Processor Time</Counter>
        <Counter>\Processor Information(*)\% User Time</Counter>
        <Counter>\Processor Information(*)\DPC Rate</Counter>
        <Counter>\Processor Information(*)\Parking Status</Counter>
        <Counter>\Processor(*)\% DPC Time</Counter>
        <Counter>\Processor(*)\% Interrupt Time</Counter>
        <Counter>\Processor(*)\% Privileged Time</Counter>
        <Counter>\Processor(*)\% Processor Time</Counter>
        <Counter>\Processor(*)\% User Time</Counter>
        <Counter>\Processor(*)\DPC Rate</Counter>
        <Counter>\ReportServer:Service\Errors Total</Counter>
        <Counter>\ReportServer:Service\Errors/sec</Counter>
        <Counter>\ReportServer:Service\Memory Pressure State</Counter>
        <Counter>\ReportServer:Service\Memory Shrink Amount</Counter>
        <Counter>\ReportServer:Service\Memory Shrink Notifications/sec</Counter>
        <Counter>\Server\Pool Nonpaged Failures</Counter>
        <Counter>\Server\Pool Paged Failures</Counter>
        <Counter>\SQLAgent:Jobs\Active jobs</Counter>
        <Counter>\SQLAgent:Jobs\Failed jobs</Counter>
        <Counter>\SQLAgent:Jobs\Job success rate</Counter>
        <Counter>\SQLAgent:Jobs\Successful jobs</Counter>
        <Counter>\SQLAgent:JobSteps\Active steps</Counter>
        <Counter>\SQLAgent:JobSteps\Total step retries</Counter>
        <Counter>\SQLServer:Access Methods\Forwarded Records/sec</Counter>
        <Counter>\SQLServer:Access Methods\FreeSpace Scans/sec</Counter>
        <Counter>\SQLServer:Access Methods\Full Scans/sec</Counter>
        <Counter>\SQLServer:Access Methods\Index Searches/sec</Counter>
        <Counter>\SQLServer:Access Methods\Page Splits/sec</Counter>
        <Counter>\SQLServer:Access Methods\Scan Point Revalidations/sec</Counter>
        <Counter>\SQLServer:Access Methods\Table Lock Escalations/sec</Counter>
        <Counter>\SQLServer:Access Methods\Workfiles Created/sec</Counter>
        <Counter>\SQLServer:Access Methods\Worktables Created/sec</Counter>
        <Counter>\SQLServer:Access Methods\Worktables From Cache Ratio</Counter>
        <Counter>\SQLServer:Buffer Manager\Buffer cache hit ratio</Counter>
        <Counter>\SQLServer:Buffer Manager\Checkpoint pages/sec</Counter>
        <Counter>\SQLServer:Buffer Manager\Free list stalls/sec</Counter>
        <Counter>\SQLServer:Buffer Manager\Free pages</Counter>
        <Counter>\SQLServer:Buffer Manager\Lazy writes/sec</Counter>
        <Counter>\SQLServer:Buffer Manager\Page life expectancy</Counter>
        <Counter>\SQLServer:Buffer Manager\Page lookups/sec</Counter>
        <Counter>\SQLServer:Buffer Manager\Page reads/sec</Counter>
        <Counter>\SQLServer:Buffer Manager\Page writes/sec</Counter>
        <Counter>\SQLServer:Buffer Manager\Readahead pages/sec</Counter>
        <Counter>\SQLServer:Buffer Manager\Stolen pages</Counter>
        <Counter>\SQLServer:Buffer Node(*)\Foreign pages</Counter>
        <Counter>\SQLServer:Buffer Node(*)\Page life expectancy</Counter>
        <Counter>\SQLServer:Databases(*)\Data File(s) Size (KB)</Counter>
        <Counter>\SQLServer:Databases(*)\Log Bytes Flushed/sec</Counter>
        <Counter>\SQLServer:Databases(*)\Log File(s) Size (KB)</Counter>
        <Counter>\SQLServer:Databases(*)\Log File(s) Used Size (KB)</Counter>
        <Counter>\SQLServer:Databases(*)\Log Flush Wait Time</Counter>
        <Counter>\SQLServer:Databases(*)\Log Flush Waits/sec</Counter>
        <Counter>\SQLServer:Databases(*)\Log Flushes/sec</Counter>
        <Counter>\SQLServer:Databases(*)\Log Growths</Counter>
        <Counter>\SQLServer:Databases(*)\Log Shrinks</Counter>
        <Counter>\SQLServer:Databases(*)\Log Truncations</Counter>
        <Counter>\SQLServer:Databases(*)\Percent Log Used</Counter>
        <Counter>\SQLServer:Deprecated Features(*)\Usage</Counter>
        <Counter>\SQLServer:General Statistics\Logins/sec</Counter>
        <Counter>\SQLServer:General Statistics\Logouts/sec</Counter>
        <Counter>\SQLServer:General Statistics\User Connections</Counter>
        <Counter>\SQLServer:Latches\Latch Waits/sec</Counter>
        <Counter>\SQLServer:Latches\Total Latch Wait Time (ms)</Counter>
        <Counter>\SQLServer:Locks(*)\Average Wait Time (ms)</Counter>
        <Counter>\SQLServer:Locks(*)\Lock Requests/sec</Counter>
        <Counter>\SQLServer:Locks(*)\Lock Timeouts/sec</Counter>
        <Counter>\SQLServer:Locks(*)\Lock Wait Time (ms)</Counter>
        <Counter>\SQLServer:Locks(*)\Lock Waits/sec</Counter>
        <Counter>\SQLServer:Locks(*)\Number of Deadlocks/sec</Counter>
        <Counter>\SQLServer:Memory Manager\Granted Workspace Memory (KB)</Counter>
        <Counter>\SQLServer:Memory Manager\Maximum Workspace Memory (KB)</Counter>
        <Counter>\SQLServer:Memory Manager\Memory Grants Outstanding</Counter>
        <Counter>\SQLServer:Memory Manager\Memory Grants Pending</Counter>
        <Counter>\SQLServer:Memory Manager\Target Server Memory(KB)</Counter>
        <Counter>\SQLServer:Memory Manager\Total Server Memory (KB)</Counter>
        <Counter>\SQLServer:Plan Cache(*)\Cache Hit Ratio</Counter>
        <Counter>\SQLServer:Resource Pool Stats(*)\CPU usage %</Counter>
        <Counter>\SQLServer:Resource Pool Stats(*)\Max memory (KB)</Counter>
        <Counter>\SQLServer:Resource Pool Stats(*)\Target memory (KB)</Counter>
        <Counter>\SQLServer:Resource Pool Stats(*)\Used memory (KB)</Counter>
        <Counter>\SQLServer:SQL Errors(*)\Errors/sec</Counter>
        <Counter>\SQLServer:SQL Statistics\Auto-Param Attempts/sec</Counter>
        <Counter>\SQLServer:SQL Statistics\Batch Requests/sec</Counter>
        <Counter>\SQLServer:SQL Statistics\Failed Auto-Params/sec</Counter>
        <Counter>\SQLServer:SQL Statistics\Safe Auto-Params/sec</Counter>
        <Counter>\SQLServer:SQL Statistics\SQL Attention rate</Counter>
        <Counter>\SQLServer:SQL Statistics\SQL Compilations/sec</Counter>
        <Counter>\SQLServer:SQL Statistics\SQL Re-Compilations/sec</Counter>
        <Counter>\SQLServer:SQL Statistics\Unsafe Auto-Params/sec</Counter>
        <Counter>\SQLServer:SSIS Pipeline 10.0\Buffer memory</Counter>
        <Counter>\SQLServer:SSIS Pipeline 10.0\Buffers in use</Counter>
        <Counter>\SQLServer:SSIS Pipeline 10.0\Buffers spooled</Counter>
        <Counter>\SQLServer:SSIS Pipeline 10.0\Flat buffers in use</Counter>
        <Counter>\SQLServer:SSIS Pipeline 10.0\Private buffers in use</Counter>
        <Counter>\SQLServer:Transactions\Free Space in tempdb (KB)</Counter>
        <Counter>\SQLServer:Transactions\Longest Transaction Running Time</Counter>
        <Counter>\SQLServer:Transactions\NonSnapshot Version Transactions</Counter>
        <Counter>\SQLServer:Transactions\Snapshot Transactions</Counter>
        <Counter>\SQLServer:Transactions\Version Cleanup rate (KB/s)</Counter>
        <Counter>\SQLServer:Transactions\Version Generation rate (KB/s)</Counter>
        <Counter>\SQLServer:Workload Group Stats(*)\CPU usage %</Counter>
        <Counter>\SQLServer:Workload Group Stats(*)\Queued requests</Counter>
        <Counter>\SQLServer:Workload Group Stats(*)\Requests completed/sec</Counter>
        <Counter>\System\Context Switches/sec</Counter>
        <Counter>\System\Processor Queue Length</Counter>
        <Counter>\System\System Calls/sec</Counter>
        <Counter>\TCPv4\Connection Failures</Counter>
    </PerformanceCounterDataCollector>
    </DataCollectorSet>
  • tools\dbatools\bin\perfmontemplates\collectorsets\PAL - SQL Server 2012.xml Show
    <DataCollectorSet>
    <Name>PAL - SQL Server 2012</Name>
    <DisplayName>PAL - SQL Server 2012</DisplayName>
    <DisplayNameUnresolved>PAL - SQL Server 2012</DisplayNameUnresolved>
    <Description>Data Collector Sets from PAL, a performance monitor data aggregation tool by Microsoft. The toolset was created by Microsoft PFE Clint Huffman who worked with fellow experts to create a list specialized lists of counters. You can find the project at github.com/clinthuffman/PAL</Description>
    <DescriptionUnresolved>Data Collector Sets from PAL, a performance monitor data aggregation tool by Microsoft. The toolset was created by Microsoft PFE Clint Huffman who worked with fellow experts to create a list specialized lists of counters. You can find the project at github.com/clinthuffman/PAL</DescriptionUnresolved>
    <SubdirectoryFormat>3</SubdirectoryFormat>
    <SubdirectoryFormatPattern>yyyyMMdd\-NNNNNN</SubdirectoryFormatPattern>
    <PerformanceCounterDataCollector>
        <Name>PAL - SQL Server 2012 Collector</Name>
        <SampleInterval>15</SampleInterval>
        <Counter>\Cache\Dirty Pages</Counter>
        <Counter>\Cache\Lazy Write Flushes/sec</Counter>
        <Counter>\LogicalDisk(*)\% Free Space</Counter>
        <Counter>\LogicalDisk(*)\% Idle Time</Counter>
        <Counter>\LogicalDisk(*)\Avg. Disk Bytes/Read</Counter>
        <Counter>\LogicalDisk(*)\Avg. Disk Bytes/Transfer</Counter>
        <Counter>\LogicalDisk(*)\Avg. Disk Bytes/Write</Counter>
        <Counter>\LogicalDisk(*)\Avg. Disk Queue Length</Counter>
        <Counter>\LogicalDisk(*)\Avg. Disk sec/Read</Counter>
        <Counter>\LogicalDisk(*)\Avg. Disk sec/Transfer</Counter>
        <Counter>\LogicalDisk(*)\Avg. Disk sec/Write</Counter>
        <Counter>\LogicalDisk(*)\Current Disk Queue Length</Counter>
        <Counter>\LogicalDisk(*)\Disk Bytes/sec</Counter>
        <Counter>\LogicalDisk(*)\Disk Reads/sec</Counter>
        <Counter>\LogicalDisk(*)\Disk Transfers/sec</Counter>
        <Counter>\LogicalDisk(*)\Disk Writes/sec</Counter>
        <Counter>\LogicalDisk(*)\Free Megabytes</Counter>
        <Counter>\Memory\% Committed Bytes In Use</Counter>
        <Counter>\Memory\Available MBytes</Counter>
        <Counter>\Memory\Commit Limit</Counter>
        <Counter>\Memory\Committed Bytes</Counter>
        <Counter>\Memory\Free &amp; Zero Page List Bytes</Counter>
        <Counter>\Memory\Free System Page Table Entries</Counter>
        <Counter>\Memory\Long-Term Average Standby Cache Lifetime (s)</Counter>
        <Counter>\Memory\Pages Input/sec</Counter>
        <Counter>\Memory\Pages Output/sec</Counter>
        <Counter>\Memory\Pages/sec</Counter>
        <Counter>\Memory\Pool Nonpaged Bytes</Counter>
        <Counter>\Memory\Pool Paged Bytes</Counter>
        <Counter>\Memory\Pool Paged Resident Bytes</Counter>
        <Counter>\Memory\System Cache Resident Bytes</Counter>
        <Counter>\Memory\Transition Pages RePurposed/sec</Counter>
        <Counter>\MSRS 2011 Web Service\Cache Misses/Sec</Counter>
        <Counter>\MSRS 2011 Web Service\Report Requests</Counter>
        <Counter>\MSRS 2011 Web Service\Total Memory Cache Misses</Counter>
        <Counter>\MSRS 2011 Web Service\Total Requests</Counter>
        <Counter>\Network Inspection System\Average inspection latency (sec/bytes)</Counter>
        <Counter>\Network Interface(*)\Bytes Received/sec</Counter>
        <Counter>\Network Interface(*)\Bytes Sent/sec</Counter>
        <Counter>\Network Interface(*)\Bytes Total/sec</Counter>
        <Counter>\Network Interface(*)\Current Bandwidth</Counter>
        <Counter>\Network Interface(*)\Output Queue Length</Counter>
        <Counter>\Network Interface(*)\Packets Outbound Errors</Counter>
        <Counter>\Network Interface(*)\Packets Received/sec</Counter>
        <Counter>\Network Interface(*)\Packets Sent/sec</Counter>
        <Counter>\Network Interface(*)\Packets/sec</Counter>
        <Counter>\Paging File(*)\% Usage</Counter>
        <Counter>\PhysicalDisk(*)\Avg. Disk Queue Length</Counter>
        <Counter>\PhysicalDisk(*)\Avg. Disk sec/Read</Counter>
        <Counter>\PhysicalDisk(*)\Avg. Disk sec/Write</Counter>
        <Counter>\PhysicalDisk(*)\Current Disk Queue Length</Counter>
        <Counter>\PhysicalDisk(*)\Disk Bytes/sec</Counter>
        <Counter>\Process(*)\Handle Count</Counter>
        <Counter>\Process(*)\ID Process</Counter>
        <Counter>\Process(*)\IO Data Operations/sec</Counter>
        <Counter>\Process(*)\IO Other Operations/sec</Counter>
        <Counter>\Process(*)\IO Read Operations/sec</Counter>
        <Counter>\Process(*)\IO Write Operations/sec</Counter>
        <Counter>\Process(*)\Private Bytes</Counter>
        <Counter>\Process(*)\Thread Count</Counter>
        <Counter>\Process(*)\Virtual Bytes</Counter>
        <Counter>\Process(*)\Working Set</Counter>
        <Counter>\Process(sqlservr)\% Privileged Time</Counter>
        <Counter>\Process(sqlservr)\% Processor Time</Counter>
        <Counter>\Processor Information(*)\% DPC Time</Counter>
        <Counter>\Processor Information(*)\% Interrupt Time</Counter>
        <Counter>\Processor Information(*)\% of Maximum Frequency</Counter>
        <Counter>\Processor Information(*)\% Privileged Time</Counter>
        <Counter>\Processor Information(*)\% Processor Time</Counter>
        <Counter>\Processor Information(*)\% User Time</Counter>
        <Counter>\Processor Information(*)\DPC Rate</Counter>
        <Counter>\Processor Information(*)\Parking Status</Counter>
        <Counter>\Processor(*)\% DPC Time</Counter>
        <Counter>\Processor(*)\% Interrupt Time</Counter>
        <Counter>\Processor(*)\% Privileged Time</Counter>
        <Counter>\Processor(*)\% Processor Time</Counter>
        <Counter>\Processor(*)\% User Time</Counter>
        <Counter>\Processor(*)\DPC Rate</Counter>
        <Counter>\ReportServer:Service\Errors Total</Counter>
        <Counter>\ReportServer:Service\Errors/sec</Counter>
        <Counter>\ReportServer:Service\Memory Pressure State</Counter>
        <Counter>\ReportServer:Service\Memory Shrink Amount</Counter>
        <Counter>\ReportServer:Service\Memory Shrink Notifications/sec</Counter>
        <Counter>\Server\Pool Nonpaged Failures</Counter>
        <Counter>\Server\Pool Paged Failures</Counter>
        <Counter>\SQLAgent:Jobs\Active jobs</Counter>
        <Counter>\SQLAgent:Jobs\Failed jobs</Counter>
        <Counter>\SQLAgent:Jobs\Job success rate</Counter>
        <Counter>\SQLAgent:Jobs\Successful jobs</Counter>
        <Counter>\SQLAgent:JobSteps\Active steps</Counter>
        <Counter>\SQLAgent:JobSteps\Total step retries</Counter>
        <Counter>\SQLServer:Access Methods\Forwarded Records/sec</Counter>
        <Counter>\SQLServer:Access Methods\FreeSpace Scans/sec</Counter>
        <Counter>\SQLServer:Access Methods\Full Scans/sec</Counter>
        <Counter>\SQLServer:Access Methods\Index Searches/sec</Counter>
        <Counter>\SQLServer:Access Methods\Page Splits/sec</Counter>
        <Counter>\SQLServer:Access Methods\Scan Point Revalidations/sec</Counter>
        <Counter>\SQLServer:Access Methods\Table Lock Escalations/sec</Counter>
        <Counter>\SQLServer:Access Methods\Workfiles Created/sec</Counter>
        <Counter>\SQLServer:Access Methods\Worktables Created/sec</Counter>
        <Counter>\SQLServer:Access Methods\Worktables From Cache Ratio</Counter>
        <Counter>\SQLServer:Availability Replica(*)\Bytes Received from Replica/sec</Counter>
        <Counter>\SQLServer:Availability Replica(*)\Bytes Sent to Replica/sec</Counter>
        <Counter>\SQLServer:Availability Replica(*)\Bytes Sent to Transport/sec</Counter>
        <Counter>\SQLServer:Availability Replica(_Total)\Receives from Replica/sec</Counter>
        <Counter>\SQLServer:Availability Replica(_Total)\Resent Messages/sec</Counter>
        <Counter>\SQLServer:Availability Replica(_Total)\Sends to Replica/sec</Counter>
        <Counter>\SQLServer:Buffer Manager\Background writer pages/sec</Counter>
        <Counter>\SQLServer:Buffer Manager\Buffer cache hit ratio</Counter>
        <Counter>\SQLServer:Buffer Manager\Checkpoint pages/sec</Counter>
        <Counter>\SQLServer:Buffer Manager\Free list stalls/sec</Counter>
        <Counter>\SQLServer:Buffer Manager\Free pages</Counter>
        <Counter>\SQLServer:Buffer Manager\Lazy writes/sec</Counter>
        <Counter>\SQLServer:Buffer Manager\Page life expectancy</Counter>
        <Counter>\SQLServer:Buffer Manager\Page lookups/sec</Counter>
        <Counter>\SQLServer:Buffer Manager\Page reads/sec</Counter>
        <Counter>\SQLServer:Buffer Manager\Page writes/sec</Counter>
        <Counter>\SQLServer:Buffer Manager\Readahead pages/sec</Counter>
        <Counter>\SQLServer:Buffer Manager\Target pages</Counter>
        <Counter>\SQLServer:Buffer Node(*)\Database pages</Counter>
        <Counter>\SQLServer:Buffer Node(*)\Foreign pages</Counter>
        <Counter>\SQLServer:Buffer Node(*)\Local node page lookups/sec</Counter>
        <Counter>\SQLServer:Buffer Node(*)\Page life expectancy</Counter>
        <Counter>\SQLServer:Buffer Node(*)\Remote node page lookups/sec</Counter>
        <Counter>\SQLServer:Database Replica(*)\Log Bytes Received/sec</Counter>
        <Counter>\SQLServer:Database Replica(*)\Mirrored Write Transactions/sec</Counter>
        <Counter>\SQLServer:Database Replica(*)\Recovery Queue</Counter>
        <Counter>\SQLServer:Database Replica(_Total)\Log remaining for undo</Counter>
        <Counter>\SQLServer:Database Replica(_Total)\Log Send Queue</Counter>
        <Counter>\SQLServer:Database Replica(_Total)\Redo blocked/sec</Counter>
        <Counter>\SQLServer:Database Replica(_Total)\Redo Bytes Remaining</Counter>
        <Counter>\SQLServer:Database Replica(_Total)\Redone Bytes/sec</Counter>
        <Counter>\SQLServer:Database Replica(_Total)\Total Log requiring undo</Counter>
        <Counter>\SQLServer:Database Replica(_Total)\Transaction Delay</Counter>
        <Counter>\SQLServer:Databases(*)\Active Transactions</Counter>
        <Counter>\SQLServer:Databases(*)\Backup/Restore Throughput/sec</Counter>
        <Counter>\SQLServer:Databases(*)\Bulk Copy Throughput/sec</Counter>
        <Counter>\SQLServer:Databases(*)\Data File(s) Size (KB)</Counter>
        <Counter>\SQLServer:Databases(*)\Log Bytes Flushed/sec</Counter>
        <Counter>\SQLServer:Databases(*)\Log File(s) Size (KB)</Counter>
        <Counter>\SQLServer:Databases(*)\Log File(s) Used Size (KB)</Counter>
        <Counter>\SQLServer:Databases(*)\Log Flush Wait Time</Counter>
        <Counter>\SQLServer:Databases(*)\Log Flush Waits/sec</Counter>
        <Counter>\SQLServer:Databases(*)\Log Flushes/sec</Counter>
        <Counter>\SQLServer:Databases(*)\Log Growths</Counter>
        <Counter>\SQLServer:Databases(*)\Log Shrinks</Counter>
        <Counter>\SQLServer:Databases(*)\Log Truncations</Counter>
        <Counter>\SQLServer:Databases(*)\Percent Log Used</Counter>
        <Counter>\SQLServer:Deprecated Features(*)\Usage</Counter>
        <Counter>\SQLServer:General Statistics\Active Temp Tables</Counter>
        <Counter>\SQLServer:General Statistics\Logins/sec</Counter>
        <Counter>\SQLServer:General Statistics\Logouts/sec</Counter>
        <Counter>\SQLServer:General Statistics\Temp Tables Creation Rate</Counter>
        <Counter>\SQLServer:General Statistics\Temp Tables For Destruction</Counter>
        <Counter>\SQLServer:General Statistics\User Connections</Counter>
        <Counter>\SQLServer:Latches\Latch Waits/sec</Counter>
        <Counter>\SQLServer:Latches\Total Latch Wait Time (ms)</Counter>
        <Counter>\SQLServer:Locks(*)\Average Wait Time (ms)</Counter>
        <Counter>\SQLServer:Locks(*)\Lock Requests/sec</Counter>
        <Counter>\SQLServer:Locks(*)\Lock Timeouts/sec</Counter>
        <Counter>\SQLServer:Locks(*)\Lock Wait Time (ms)</Counter>
        <Counter>\SQLServer:Locks(*)\Lock Waits/sec</Counter>
        <Counter>\SQLServer:Locks(*)\Number of Deadlocks/sec</Counter>
        <Counter>\SQLServer:Memory Manager\Granted Workspace Memory (KB)</Counter>
        <Counter>\SQLServer:Memory Manager\Maximum Workspace Memory (KB)</Counter>
        <Counter>\SQLServer:Memory Manager\Memory Grants Outstanding</Counter>
        <Counter>\SQLServer:Memory Manager\Memory Grants Pending</Counter>
        <Counter>\SQLServer:Memory Manager\Optimizer Memory (KB)</Counter>
        <Counter>\SQLServer:Memory Manager\Stolen Server Memory (KB)</Counter>
        <Counter>\SQLServer:Memory Manager\Target Server Memory (KB)</Counter>
        <Counter>\SQLServer:Memory Manager\Target Server Memory(KB)</Counter>
        <Counter>\SQLServer:Memory Manager\Total Server Memory (KB)</Counter>
        <Counter>\SQLServer:Memory Node(*)\Database Node Memory (KB)</Counter>
        <Counter>\SQLServer:Memory Node(*)\Foreign Node Memory (KB)</Counter>
        <Counter>\SQLServer:Memory Node(*)\Stolen Node Memory (KB)</Counter>
        <Counter>\SQLServer:Memory Node(*)\Target Node Memory (KB)</Counter>
        <Counter>\SQLServer:Memory Node(000)\Total Node Memory (KB)</Counter>
        <Counter>\SQLServer:Plan Cache(*)\Cache Hit Ratio</Counter>
        <Counter>\SQLServer:Resource Pool Stats(*)\CPU usage %</Counter>
        <Counter>\SQLServer:Resource Pool Stats(*)\Max memory (KB)</Counter>
        <Counter>\SQLServer:Resource Pool Stats(*)\Target memory (KB)</Counter>
        <Counter>\SQLServer:Resource Pool Stats(*)\Used memory (KB)</Counter>
        <Counter>\SQLServer:SQL Errors(*)\Errors/sec</Counter>
        <Counter>\SQLServer:SQL Statistics\Auto-Param Attempts/sec</Counter>
        <Counter>\SQLServer:SQL Statistics\Batch Requests/sec</Counter>
        <Counter>\SQLServer:SQL Statistics\Failed Auto-Params/sec</Counter>
        <Counter>\SQLServer:SQL Statistics\Safe Auto-Params/sec</Counter>
        <Counter>\SQLServer:SQL Statistics\SQL Attention rate</Counter>
        <Counter>\SQLServer:SQL Statistics\SQL Compilations/sec</Counter>
        <Counter>\SQLServer:SQL Statistics\SQL Re-Compilations/sec</Counter>
        <Counter>\SQLServer:SQL Statistics\Unsafe Auto-Params/sec</Counter>
        <Counter>\SQLServer:Transactions\Free Space in tempdb (KB)</Counter>
        <Counter>\SQLServer:Transactions\Longest Transaction Running Time</Counter>
        <Counter>\SQLServer:Transactions\NonSnapshot Version Transactions</Counter>
        <Counter>\SQLServer:Transactions\Snapshot Transactions</Counter>
        <Counter>\SQLServer:Transactions\Transactions</Counter>
        <Counter>\SQLServer:Transactions\Version Cleanup rate (KB/s)</Counter>
        <Counter>\SQLServer:Transactions\Version Generation rate (KB/s)</Counter>
        <Counter>\SQLServer:Transactions\Version Store Size (KB)</Counter>
        <Counter>\SQLServer:User Settable(*)\Query</Counter>
        <Counter>\SQLServer:Workload Group Stats(*)\Active parallel threads</Counter>
        <Counter>\SQLServer:Workload Group Stats(*)\Active requests</Counter>
        <Counter>\SQLServer:Workload Group Stats(*)\CPU usage %</Counter>
        <Counter>\SQLServer:Workload Group Stats(*)\Queued requests</Counter>
        <Counter>\SQLServer:Workload Group Stats(*)\Reduced memory grants/sec</Counter>
        <Counter>\SQLServer:Workload Group Stats(*)\Requests completed/sec</Counter>
        <Counter>\SQLServer:Workload Group Stats(*)\Suboptimal plans/sec</Counter>
        <Counter>\System\Context Switches/sec</Counter>
        <Counter>\System\Processor Queue Length</Counter>
        <Counter>\System\System Calls/sec</Counter>
        <Counter>\TCPv4\Connection Failures</Counter>
    </PerformanceCounterDataCollector>
    </DataCollectorSet>
  • tools\dbatools\bin\perfmontemplates\collectorsets\PAL - SQL Server 2014 and Up.xml Show
    <DataCollectorSet>
    <Name>PAL - SQL Server 2014 and Up</Name>
    <DisplayName>PAL - SQL Server 2014 and Up</DisplayName>
    <DisplayNameUnresolved>PAL - SQL Server 2014 and Up</DisplayNameUnresolved>
    <Description>Data Collector Sets from PAL, a performance monitor data aggregation tool by Microsoft. The toolset was created by Microsoft PFE Clint Huffman who worked with fellow experts to create a list specialized lists of counters. You can find the project at github.com/clinthuffman/PAL</Description>
    <DescriptionUnresolved>Data Collector Sets from PAL, a performance monitor data aggregation tool by Microsoft. The toolset was created by Microsoft PFE Clint Huffman who worked with fellow experts to create a list specialized lists of counters. You can find the project at github.com/clinthuffman/PAL</DescriptionUnresolved>
    <SubdirectoryFormat>3</SubdirectoryFormat>
    <SubdirectoryFormatPattern>yyyyMMdd\-NNNNNN</SubdirectoryFormatPattern>
    <PerformanceCounterDataCollector>
        <Name>PAL - SQL Server 2014 and Up Collector</Name>
        <SampleInterval>15</SampleInterval>
        <Counter>\Cache\Dirty Pages</Counter>
        <Counter>\Cache\Lazy Write Flushes/sec</Counter>
        <Counter>\LogicalDisk(*)\% Free Space</Counter>
        <Counter>\LogicalDisk(*)\% Idle Time</Counter>
        <Counter>\LogicalDisk(*)\Avg. Disk Bytes/Read</Counter>
        <Counter>\LogicalDisk(*)\Avg. Disk Bytes/Transfer</Counter>
        <Counter>\LogicalDisk(*)\Avg. Disk Bytes/Write</Counter>
        <Counter>\LogicalDisk(*)\Avg. Disk Queue Length</Counter>
        <Counter>\LogicalDisk(*)\Avg. Disk sec/Read</Counter>
        <Counter>\LogicalDisk(*)\Avg. Disk sec/Transfer</Counter>
        <Counter>\LogicalDisk(*)\Avg. Disk sec/Write</Counter>
        <Counter>\LogicalDisk(*)\Current Disk Queue Length</Counter>
        <Counter>\LogicalDisk(*)\Disk Bytes/sec</Counter>
        <Counter>\LogicalDisk(*)\Disk Reads/sec</Counter>
        <Counter>\LogicalDisk(*)\Disk Transfers/sec</Counter>
        <Counter>\LogicalDisk(*)\Disk Writes/sec</Counter>
        <Counter>\LogicalDisk(*)\Free Megabytes</Counter>
        <Counter>\Memory\% Committed Bytes In Use</Counter>
        <Counter>\Memory\Available MBytes</Counter>
        <Counter>\Memory\Commit Limit</Counter>
        <Counter>\Memory\Committed Bytes</Counter>
        <Counter>\Memory\Free &amp; Zero Page List Bytes</Counter>
        <Counter>\Memory\Free System Page Table Entries</Counter>
        <Counter>\Memory\Long-Term Average Standby Cache Lifetime (s)</Counter>
        <Counter>\Memory\Pages Input/sec</Counter>
        <Counter>\Memory\Pages Output/sec</Counter>
        <Counter>\Memory\Pages/sec</Counter>
        <Counter>\Memory\Pool Nonpaged Bytes</Counter>
        <Counter>\Memory\Pool Paged Bytes</Counter>
        <Counter>\Memory\Pool Paged Resident Bytes</Counter>
        <Counter>\Memory\System Cache Resident Bytes</Counter>
        <Counter>\Memory\Transition Pages RePurposed/sec</Counter>
        <Counter>\MSRS 2011 Web Service\Cache Misses/Sec</Counter>
        <Counter>\MSRS 2011 Web Service\Report Requests</Counter>
        <Counter>\MSRS 2011 Web Service\Total Memory Cache Misses</Counter>
        <Counter>\MSRS 2011 Web Service\Total Requests</Counter>
        <Counter>\Network Inspection System\Average inspection latency (sec/bytes)</Counter>
        <Counter>\Network Interface(*)\Bytes Received/sec</Counter>
        <Counter>\Network Interface(*)\Bytes Sent/sec</Counter>
        <Counter>\Network Interface(*)\Bytes Total/sec</Counter>
        <Counter>\Network Interface(*)\Current Bandwidth</Counter>
        <Counter>\Network Interface(*)\Output Queue Length</Counter>
        <Counter>\Network Interface(*)\Packets Outbound Errors</Counter>
        <Counter>\Network Interface(*)\Packets Received/sec</Counter>
        <Counter>\Network Interface(*)\Packets Sent/sec</Counter>
        <Counter>\Network Interface(*)\Packets/sec</Counter>
        <Counter>\Paging File(*)\% Usage</Counter>
        <Counter>\PhysicalDisk(*)\Avg. Disk Queue Length</Counter>
        <Counter>\PhysicalDisk(*)\Avg. Disk sec/Read</Counter>
        <Counter>\PhysicalDisk(*)\Avg. Disk sec/Write</Counter>
        <Counter>\PhysicalDisk(*)\Current Disk Queue Length</Counter>
        <Counter>\PhysicalDisk(*)\Disk Bytes/sec</Counter>
        <Counter>\Process(*)\Handle Count</Counter>
        <Counter>\Process(*)\ID Process</Counter>
        <Counter>\Process(*)\IO Data Operations/sec</Counter>
        <Counter>\Process(*)\IO Other Operations/sec</Counter>
        <Counter>\Process(*)\IO Read Operations/sec</Counter>
        <Counter>\Process(*)\IO Write Operations/sec</Counter>
        <Counter>\Process(*)\Private Bytes</Counter>
        <Counter>\Process(*)\Thread Count</Counter>
        <Counter>\Process(*)\Virtual Bytes</Counter>
        <Counter>\Process(*)\Working Set</Counter>
        <Counter>\Process(sqlservr)\% Privileged Time</Counter>
        <Counter>\Process(sqlservr)\% Processor Time</Counter>
        <Counter>\Processor Information(*)\% DPC Time</Counter>
        <Counter>\Processor Information(*)\% Interrupt Time</Counter>
        <Counter>\Processor Information(*)\% of Maximum Frequency</Counter>
        <Counter>\Processor Information(*)\% Privileged Time</Counter>
        <Counter>\Processor Information(*)\% Processor Time</Counter>
        <Counter>\Processor Information(*)\% User Time</Counter>
        <Counter>\Processor Information(*)\DPC Rate</Counter>
        <Counter>\Processor Information(*)\Parking Status</Counter>
        <Counter>\Processor(*)\% DPC Time</Counter>
        <Counter>\Processor(*)\% Interrupt Time</Counter>
        <Counter>\Processor(*)\% Privileged Time</Counter>
        <Counter>\Processor(*)\% Processor Time</Counter>
        <Counter>\Processor(*)\% User Time</Counter>
        <Counter>\Processor(*)\DPC Rate</Counter>
        <Counter>\ReportServer:Service\Errors Total</Counter>
        <Counter>\ReportServer:Service\Errors/sec</Counter>
        <Counter>\ReportServer:Service\Memory Pressure State</Counter>
        <Counter>\ReportServer:Service\Memory Shrink Amount</Counter>
        <Counter>\ReportServer:Service\Memory Shrink Notifications/sec</Counter>
        <Counter>\Server\