Thor Logo dbatools

Install-DbaDarlingData

View Source
Ant Green (@ant_green)
Windows, Linux, macOS

Synopsis

Downloads and installs Erik Darling’s performance monitoring stored procedures

Description

Downloads, extracts and installs Erik Darling’s collection of performance monitoring stored procedures from the DarlingData GitHub repository. This gives you access to popular diagnostic tools like sp_HumanEvents for extended events analysis, sp_PressureDetector for memory pressure monitoring, sp_QuickieStore for Query Store analysis, and several others that help with SQL Server performance troubleshooting. The function handles version compatibility automatically (for example, skipping sp_QuickieStore on SQL Server versions below 2016) and only installs the stored procedures themselves, not other repository contents like views or documentation.

DarlingData links:
https://www.erikdarling.com
https://github.com/erikdarlingdata/DarlingData

Syntax

Install-DbaDarlingData
    [-SqlInstance] <DbaInstanceParameter[]>
    [[-SqlCredential] <PSCredential>]
    [[-Database] <Object>]
    [[-Branch] <String>]
    [[-Procedure] <String[]>]
    [[-LocalFile] <String>]
    [-Force]
    [-EnableException]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

 

Examples

 

Example: 1
PS C:\> Install-DbaDarlingData -SqlInstance server1 -Database master

Logs into server1 with Windows authentication and then installs all of Erik’s scripts in the master database.

Example: 2
PS C:\> Install-DbaDarlingData -SqlInstance server1\instance1 -Database DBA

Logs into server1\instance1 with Windows authentication and then installs all of Erik’s scripts in the DBA database.

Example: 3
PS C:\> Install-DbaDarlingData -SqlInstance server1\instance1 -Database master -SqlCredential $cred

Logs into server1\instance1 with SQL authentication and then installs all of Erik’s scripts in the master database.

Example: 4
PS C:\> Install-DbaDarlingData -SqlInstance sql2016\standardrtm, sql2016\sqlexpress, sql2014

Logs into sql2016\standardrtm, sql2016\sqlexpress and sql2014 with Windows authentication and then installs al of Erik’s scripts in the master database.

Example: 5
PS C:\> Install-DbaDarlingData -SqlInstance sql2016 -Branch dev

Installs the dev branch version of Erik’s scripts in the master database on sql2016 instance.

Example: 6
PS C:\> Install-DbaDarlingData -SqlInstance server1\instance1 -Database DBA -Procedure Human, Pressure

Logs into server1\instance1 with Windows authentication and then installs sp_HumanEvents and sp_PressureDetector of Erik’s scripts in the DBA database.

Required Parameters

-SqlInstance

The target SQL Server instance or instances.

PropertyValue
Alias
RequiredTrue
Pipelinetrue (ByValue)
Default Value

Optional Parameters

-SqlCredential

Login to the target instance using alternative credentials. Accepts PowerShell credentials (Get-Credential).
Windows Authentication, SQL Server Authentication, Active Directory - Password, and Active Directory - Integrated are all supported.
For MFA support, please use Connect-DbaInstance.

PropertyValue
Alias
RequiredFalse
Pipelinefalse
Default Value
-Database

Specifies the target database where Erik Darling’s performance monitoring stored procedures will be installed.
Commonly set to master, DBA, or a dedicated administrative database where diagnostic procedures are centralized.
The database must already exist on the target instance.

PropertyValue
Alias
RequiredFalse
Pipelinefalse
Default Valuemaster
-Branch

Specifies which branch of the DarlingData repository to install from.
Use ‘main’ for the latest stable release or ‘dev’ for experimental features and bug fixes.
The dev branch may contain newer procedures or fixes not yet available in the main branch.
Allowed values:
main (default)
dev

PropertyValue
Alias
RequiredFalse
Pipelinefalse
Default Valuemain
Accepted Valuesmain,dev
-Procedure

Specifies which specific performance monitoring procedures to install instead of the complete collection.
Use this when you only need particular diagnostic tools or want to avoid installing procedures you don’t use.
Each procedure addresses different performance areas: HumanEvents for extended events analysis, PressureDetector for memory pressure monitoring, QuickieStore for Query Store analysis.
Allowed Values or Combination of Values:
All (default, to install all procedures)
HumanEvents (to install sp_HumanEvents)
PressureDetector (to install sp_PressureDetector)
QuickieStore (to install sp_QuickieStore)
HumanEventsBlockViewer (to install sp_HumanEventsBlockViewer)
LogHunter (to install sp_LogHunter)
HealthParser (to install sp_HealthParser)
IndexCleanup (to install sp_IndexCleanup)
PerfCheck (to install sp_PerfCheck)
The following shorthands are allowed, ordered as above: Human, Pressure, Quickie, Block, Log, Health, Index, Perf.

PropertyValue
Alias
RequiredFalse
Pipelinefalse
Default ValueAll
Accepted ValuesAll,Human,HumanEvents,Pressure,PressureDetector,Quickie,QuickieStore,Block,HumanEventsBlockViewer,Log,LogHunter,Health,HealthParser,Index,IndexCleanup,Perf,PerfCheck
-LocalFile

Specifies the path to a local zip file containing the DarlingData procedures instead of downloading from GitHub.
Use this when internet access is restricted, when you need to install a specific version, or when you have a pre-downloaded copy.
The file must be the official zip distribution from the DarlingData repository maintainers.
If this parameter is not specified, the latest version will be downloaded and installed from https://github.com/erikdarlingdata/DarlingData

PropertyValue
Alias
RequiredFalse
Pipelinefalse
Default Value
-Force

Forces a fresh download of the DarlingData procedures even if a cached version already exists locally.
Use this when you need to ensure you have the absolute latest version or when troubleshooting installation issues.
Without this switch, the function uses the cached version if available to improve performance.

PropertyValue
Alias
RequiredFalse
Pipelinefalse
Default ValueFalse
-EnableException

By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.
This avoids overwhelming you with “sea of red” exceptions, but is inconvenient because it basically disables advanced scripting.
Using this switch turns this “nice by default” feature off and enables you to catch exceptions with your own try/catch.

PropertyValue
Alias
RequiredFalse
Pipelinefalse
Default ValueFalse
-WhatIf

Shows what would happen if the command were to run. No actions are actually performed.

PropertyValue
Aliaswi
RequiredFalse
Pipelinefalse
Default Value
-Confirm

Prompts to confirm actions

PropertyValue
Aliascf
RequiredFalse
Pipelinefalse
Default Value