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 |