Set-AzureRMVMSqlServerExtension

Sets the Azure SQL Server extension on a virtual machine.

Warning

The AzureRM PowerShell module has been officially deprecated as of February 29, 2024. Users are advised to migrate from AzureRM to the Az PowerShell module to ensure continued support and updates.

Although the AzureRM module may still function, it's no longer maintained or supported, placing any continued use at the user's discretion and risk. Please refer to our migration resources for guidance on transitioning to the Az module.

Syntax

Set-AzureRMVMSqlServerExtension
   [[-Version] <String>]
   [-ResourceGroupName] <String>
   [-VMName] <String>
   [[-Name] <String>]
   [[-AutoPatchingSettings] <AutoPatchingSettings>]
   [[-AutoBackupSettings] <AutoBackupSettings>]
   [[-KeyVaultCredentialSettings] <KeyVaultCredentialSettings>]
   [[-Location] <String>]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]

Description

The Set-AzureRmVMSqlServerExtension cmdlet sets the AzureSQL Server extension on a virtual machine.

Examples

Example 1: Set automatic patching settings on a virtual machine

PS C:\> $AutoPatchingConfig = New-AzureVMSqlServerAutoPatchingConfig -Enable -DayOfWeek "Thursday" -MaintenanceWindowStartingHour 11 -MaintenanceWindowDuration 120 -PatchCategory "Important"
PS C:\> Get-AzureRmVM -ServiceName "Service02" -Name "VirtualMachine11" | Set-AzureRmVMSqlServerExtension -AutoPatchingSettings $AutoPatchingConfig | Update-AzureRmVM

The first command creates a configuration object by using the New-AzureVMSqlServerAutoPatchingConfig cmdlet. The command stores the configuration in the $AutoPatchingConfig variable. The second command gets the virtual machine named VirtualMachine11 on the service named Service02 by using the Get-AzureRmVM cmdlet. The command passes that object to the current cmdlet by using the pipeline operator. The current cmdlet sets the automatic patching settings in $AutoPatchingConfig for the virtual machine. The command passes the virtual machine to the Update-AzureRmVM cmdlet.

Example 2: Set automatic backup settings on a virtual machine

PS C:\> $AutoBackupConfig = New-AzureVMSqlServerAutoBackupConfig -Enable -RetentionPeriod 10 -StorageUri $StorageUrl -StorageKey $StorageAccountKeySecure
PS C:\> Get-AzureRmVM -ServiceName "Service02" -Name "VirtualMachine11" | Set-AzureRmVMSqlServerExtension -AutoBackupSettings $AutoBackupConfig | Update-AzureRmVM

The first command creates a configuration object by using the New-AzureVMSqlServerAutoBackupConfig cmdlet. The command stores the configuration in the $AutoBackupConfig variable. The second command gets the virtual machine named VirtualMachine11 on the service named Service02, and then passes it to the current cmdlet. The current cmdlet sets the automatic backup settings in $AutoBackupConfig for the virtual machine. The command passes the virtual machine to the Update-AzureRmVM cmdlet.

Example 3: Disable a SQL Server extension on a virtual machine

PS C:\> Get-AzureRmVM -ServiceName "Service03" -Name "VirtualMachine08" | Set-AzureRmVMSqlServerExtension -Disable

This command gets a virtual machine named VirtualMachine08 on Service03, and then passes it to the current cmdlet. The command disables SQL Server virtual machine extension on that virtual machine.

Example 4: Uninstall a SQL Server extension on a specific virtual machine

PS C:\> Get-AzureRmVM -ServiceName "Service03" -Name "VirtualMachine08" | Set-AzureRmVMSqlServerExtension -Uninstall

This command gets a virtual machine named VirtualMachine08 on Service03, and then passes it to the current cmdlet. The command uninstalls a SQL Server virtual machine extension on that virtual machine.

Parameters

-AutoBackupSettings

Specifies the automatic SQL Server backup settings. To create an AutoBackupSettings object , use the New-AzureVMSqlServerAutoBackupConfig cmdlet.

Type:AutoBackupSettings
Position:6
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-AutoPatchingSettings

Specifies the automatic SQL Server patching settings. To create an AutoPatchingSettings object , use the New-AzureVMSqlServerAutoPatchingConfig cmdlet.

Type:AutoPatchingSettings
Position:5
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-DefaultProfile

The credentials, account, tenant, and subscription used for communication with azure.

Type:IAzureContextContainer
Aliases:AzureRmContext, AzureCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-KeyVaultCredentialSettings

Type:KeyVaultCredentialSettings
Position:7
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Location

Specifies the location of the virtual machine.

Type:String
Position:8
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Name

Specifies the name of the SQL Server the extension.

Type:String
Position:4
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-ResourceGroupName

Specifies the name of the resource group of the virtual machine.

Type:String
Position:2
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Version

Specifies the version of the SQL Server extension.

Type:String
Aliases:HandlerVersion
Position:1
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-VMName

Specifies the name of the virtual machine on which this cmdlet sets the SQL Server extension.

Type:String
Position:3
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

Inputs

String

AutoPatchingSettings

AutoBackupSettings

KeyVaultCredentialSettings

Outputs

PSAzureOperationResponse