Author | Ant Green (@ant_green) |
Availability | Windows, Linux, macOS |
Want to see the source code for this command? Check out Install-DbaDarlingData on GitHub.
Want to see the Bill Of Health for this command? Check out Install-DbaDarlingData.
Downloads and installs Erik Darling's performance monitoring stored procedures
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
Install-DbaDarlingData
[-SqlInstance] <DbaInstanceParameter[]>
[[-SqlCredential] <PSCredential>]
[[-Database] <Object>]
[[-Branch] <String>]
[[-Procedure] <String[]>]
[[-LocalFile] <String>]
[-Force]
[-EnableException]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
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.
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.
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.
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.
PS C:\> Install-DbaDarlingData -SqlInstance sql2016 -Branch dev
Installs the dev branch version of Erik's scripts in the master database on sql2016 instance.
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.
The target SQL Server instance or instances.
Alias | |
Required | True |
Pipeline | true (ByValue) |
Default Value |
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.
Alias | |
Required | False |
Pipeline | false |
Default Value |
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.
Alias | |
Required | False |
Pipeline | false |
Default Value | master |
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
Alias | |
Required | False |
Pipeline | false |
Default Value | main |
Accepted Values | main,dev |
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.
Alias | |
Required | False |
Pipeline | false |
Default Value | All |
Accepted Values | All,Human,HumanEvents,Pressure,PressureDetector,Quickie,QuickieStore,Block,HumanEventsBlockViewer,Log,LogHunter,Health,HealthParser,Index,IndexCleanup,Perf,PerfCheck |
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
Alias | |
Required | False |
Pipeline | false |
Default Value |
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.
Alias | |
Required | False |
Pipeline | false |
Default Value | False |
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.
Alias | |
Required | False |
Pipeline | false |
Default Value | False |
Shows what would happen if the command were to run. No actions are actually performed.
Alias | wi |
Required | False |
Pipeline | false |
Default Value |
Prompts to confirm actions
Alias | cf |
Required | False |
Pipeline | false |
Default Value |