SqlAgentAlert - dsccommunity/SqlServerDsc GitHub Wiki
Parameters
Parameter | Attribute | DataType | Description | Allowed Values |
---|---|---|---|---|
InstanceName | Key | System.String | The name of the SQL Server instance to be configured. Default value is 'MSSQLSERVER' . |
|
Name | Key | System.String | The name of the SQL Server Agent alert. | |
Credential | Write | System.Management.Automation.PSCredential | Specifies the credential to use to connect to the SQL Server instance. If parameter *Credential' is not provided then the resource instance is run using the credential that runs the configuration. | |
Ensure | Write | System.String | Specifies if the SQL Server Agent alert should be present or absent. Default value is 'Present' . |
Present , Absent |
MessageId | Write | System.Int32 | The message id of the SQL Server Agent alert. Valid range is 1 to 2147483647. Cannot be used together with Severity. | |
ServerName | Write | System.String | The host name of the SQL Server to be configured. Default value is the current computer name. | |
Severity | Write | System.Int32 | The severity of the SQL Server Agent alert. Valid range is 1 to 25. Cannot be used together with MessageId. | |
Reasons | Read | SqlReason[] | Returns the reason a property is not in desired state. |
Description
The SqlAgentAlert
DSC resource is used to create, modify, or remove
SQL Server Agent alerts.
An alert can be switched between a system-message–based alert and a severity-based alert by specifying the corresponding parameter. The alert type will be switched accordingly.
The built-in parameter PSDscRunAsCredential can be used to run the resource as another user. The resource will then authenticate to the SQL Server instance as that user. It is also possible to use impersonation via the Credential parameter.
Requirements
- Target machine must be running Windows Server 2012 or later.
- Target machine must be running SQL Server Database Engine 2012 or later.
- Target machine must have access to the SQLPS PowerShell module or the SqlServer PowerShell module.
Known issues
All issues are not listed here, see here for all open issues.
Property Reasons does not work with PSDscRunAsCredential
When using the built-in parameter PSDscRunAsCredential the read-only property Reasons will return empty values for the properties Code and Phrase. The built-in property PSDscRunAsCredential does not work together with class-based resources that use advanced types, such as the Reasons parameter.
Using Credential property
SQL Authentication and Group Managed Service Accounts are not supported as impersonation credentials. Currently, only Windows Integrated Security is supported.
For Windows Authentication the username must either be provided with the User
Principal Name (UPN), e.g., [email protected]
, or, if using a non‑domain
account (for example, a local Windows Server account), the username must be
provided without the NetBIOS name, e.g., username
. Using the NetBIOS name,
for example DOMAIN\username
, will not work.
See more information in Credential Overview.
Examples
Example 1
This example shows how to ensure that the SQL Agent Alert Sev17 exists with the correct severity level, and SQL Agent Alert Msg825 with the correct message id.
Configuration Example
{
Import-DscResource -ModuleName 'SqlServerDsc'
node localhost
{
SqlAgentAlert 'Add_Sev17'
{
Ensure = 'Present'
Name = 'Sev17'
ServerName = 'TestServer'
InstanceName = 'MSSQLServer'
Severity = '17'
}
SqlAgentAlert 'Add_Msg825'
{
Ensure = 'Present'
Name = 'Msg825'
ServerName = 'TestServer'
InstanceName = 'MSSQLServer'
MessageId = '825'
}
}
}
Example 2
This example shows how to ensure that the SQL Agent Alert Sev17 does not exist, or that the SQL Agent Alert Msg825 does not exist.
Configuration Example
{
Import-DscResource -ModuleName 'SqlServerDsc'
node localhost
{
SqlAgentAlert 'Remove_Sev17'
{
Ensure = 'Absent'
Name = 'Sev17'
ServerName = 'TestServer'
InstanceName = 'MSSQLServer'
}
SqlAgentAlert 'Remove_Msg825'
{
Ensure = 'Absent'
Name = 'Msg825'
ServerName = 'TestServer'
InstanceName = 'MSSQLServer'
}
}
}