Thor Logo dbatools

Remove-DbaAgentAlertCategory

View Source
Patrick Flynn (@sqllensman)
Windows, Linux, macOS

Synopsis

Removes SQL Server Agent alert categories from SQL Server instances.

Description

Removes custom alert categories from SQL Server Agent, useful for cleaning up unused organizational structures or standardizing alert management across environments.
Any existing alerts that reference the removed category will automatically be reassigned to the [Uncategorized] category, so you don’t need to manually update alert assignments before removal.
The function works with both individual category names and accepts pipeline input from Get-DbaAgentAlertCategory for bulk operations.
Returns detailed status information showing which categories were successfully removed and any that failed with error details.

Syntax

Remove-DbaAgentAlertCategory
    [-SqlInstance] <DbaInstanceParameter[]>
    [-SqlCredential <PSCredential>]
    [-Category <String[]>]
    [-EnableException]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Remove-DbaAgentAlertCategory -InputObject <AlertCategory[]>
    [-EnableException]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

 

Examples

 

Example: 1
PS C:\> Remove-DbaAgentAlertCategory -SqlInstance sql1 -Category 'Category 1'

Remove the alert category Category 1 from the instance.

Example: 2
PS C:\> Remove-DbaAgentAlertCategory -SqlInstance sql1 -Category Category1, Category2, Category3

Remove multiple alert categories from the instance.

Example: 3
PS C:\> Remove-DbaAgentAlertCategory -SqlInstance sql1, sql2, sql3 -Category Category1, Category2, Category3

Remove multiple alert categories from the multiple instances.

Example: 4
PS C:\> Get-DbaAgentAlertCategory -SqlInstance SRV1 | Out-GridView -Title 'Select SQL Agent alert category(-ies) to drop' -OutputMode Multiple | Remove-DbaAgentAlertCategory

Using a pipeline this command gets all SQL Agent alert category(-ies) on SRV1, lets the user select those to remove and then removes the selected SQL Agent alert category(-ies).

Required Parameters

-SqlInstance

The target SQL Server instance or instances. You must have sysadmin access and server version must be SQL Server version 2000 or greater.

PropertyValue
Alias
RequiredTrue
Pipelinefalse
Default Value
-InputObject

Accepts alert category objects from Get-DbaAgentAlertCategory for pipeline-based operations.
Use this when you need to filter or select categories interactively before removal, such as with Out-GridView.

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
-Category

Specifies the names of the alert categories to remove from SQL Server Agent. Accepts multiple category names for bulk removal.
Use this to target specific custom categories you want to delete while keeping others intact.

PropertyValue
Alias
RequiredFalse
Pipelinefalse
Default Value
-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 you for confirmation before executing any changing operations within the command.

PropertyValue
Aliascf
RequiredFalse
Pipelinefalse
Default Value