Update-AzSqlVM
Updates a SQL virtual machine.
Syntax
Update-AzSqlVM
-Name <String>
-ResourceGroupName <String>
[-SubscriptionId <String>]
[-LicenseType <SqlServerLicenseType>]
[-Offer <String>]
[-Sku <SqlImageSku>]
[-SqlManagementType <SqlManagementMode>]
[-Tag <Hashtable>]
[-AutoBackupSettingBackupScheduleType <BackupScheduleType>]
[-AutoBackupSettingBackupSystemDb]
[-AutoBackupSettingDaysOfWeek <AutoBackupDaysOfWeek[]>]
[-AutoBackupSettingEnable]
[-AutoBackupSettingEnableEncryption]
[-AutoBackupSettingFullBackupFrequency <FullBackupFrequencyType>]
[-AutoBackupSettingFullBackupStartTime <Int32>]
[-AutoBackupSettingFullBackupWindowHour <Int32>]
[-AutoBackupSettingLogBackupFrequency <Int32>]
[-AutoBackupSettingPassword <SecureString>]
[-AutoBackupSettingRetentionPeriod <Int32>]
[-AutoBackupSettingStorageAccessKey <String>]
[-AutoBackupSettingStorageAccountUrl <String>]
[-AutoBackupSettingStorageContainerName <String>]
[-AutoPatchingSettingDayOfWeek <DayOfWeek>]
[-AutoPatchingSettingEnable]
[-AutoPatchingSettingMaintenanceWindowDuration <Int32>]
[-AutoPatchingSettingMaintenanceWindowStartingHour <Int32>]
[-AssessmentSettingEnable]
[-AssessmentSettingRunImmediately]
[-ScheduleDayOfWeek <AssessmentDayOfWeek>]
[-ScheduleEnable]
[-ScheduleMonthlyOccurrence <Int32>]
[-ScheduleStartTime <String>]
[-ScheduleWeeklyInterval <Int32>]
[-SqlVirtualMachineGroupResourceId <String>]
[-VirtualMachineResourceId <String>]
[-WsfcDomainCredentialsClusterBootstrapAccountPassword <SecureString>]
[-WsfcDomainCredentialsClusterOperatorAccountPassword <SecureString>]
[-WsfcDomainCredentialsSqlServiceAccountPassword <SecureString>]
[-WsfcStaticIP <String>]
[-EnableAutomaticUpgrade]
[-ManagedIdentityClientId <String>]
[-IdentityType <String>]
[-DefaultProfile <PSObject>]
[-AsJob]
[-NoWait]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Update-AzSqlVM
-InputObject <ISqlVirtualMachineIdentity>
[-LicenseType <SqlServerLicenseType>]
[-Offer <String>]
[-Sku <SqlImageSku>]
[-SqlManagementType <SqlManagementMode>]
[-Tag <Hashtable>]
[-AutoBackupSettingBackupScheduleType <BackupScheduleType>]
[-AutoBackupSettingBackupSystemDb]
[-AutoBackupSettingDaysOfWeek <AutoBackupDaysOfWeek[]>]
[-AutoBackupSettingEnable]
[-AutoBackupSettingEnableEncryption]
[-AutoBackupSettingFullBackupFrequency <FullBackupFrequencyType>]
[-AutoBackupSettingFullBackupStartTime <Int32>]
[-AutoBackupSettingFullBackupWindowHour <Int32>]
[-AutoBackupSettingLogBackupFrequency <Int32>]
[-AutoBackupSettingPassword <SecureString>]
[-AutoBackupSettingRetentionPeriod <Int32>]
[-AutoBackupSettingStorageAccessKey <String>]
[-AutoBackupSettingStorageAccountUrl <String>]
[-AutoBackupSettingStorageContainerName <String>]
[-AutoPatchingSettingDayOfWeek <DayOfWeek>]
[-AutoPatchingSettingEnable]
[-AutoPatchingSettingMaintenanceWindowDuration <Int32>]
[-AutoPatchingSettingMaintenanceWindowStartingHour <Int32>]
[-AssessmentSettingEnable]
[-AssessmentSettingRunImmediately]
[-ScheduleDayOfWeek <AssessmentDayOfWeek>]
[-ScheduleEnable]
[-ScheduleMonthlyOccurrence <Int32>]
[-ScheduleStartTime <String>]
[-ScheduleWeeklyInterval <Int32>]
[-SqlVirtualMachineGroupResourceId <String>]
[-VirtualMachineResourceId <String>]
[-WsfcDomainCredentialsClusterBootstrapAccountPassword <SecureString>]
[-WsfcDomainCredentialsClusterOperatorAccountPassword <SecureString>]
[-WsfcDomainCredentialsSqlServiceAccountPassword <SecureString>]
[-WsfcStaticIP <String>]
[-EnableAutomaticUpgrade]
[-ManagedIdentityClientId <String>]
[-IdentityType <String>]
[-DefaultProfile <PSObject>]
[-AsJob]
[-NoWait]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
Updates a SQL virtual machine.
Examples
Example 1
Update-AzSqlVM -ResourceGroupName 'ResourceGroup01' -Name 'sqlvm1' -LicenseType 'AHUB' -Tag @{'newkey'='newvalue'}
Location Name ResourceGroupName
-------- ---- -----------------
eastus sqlvm1 ResourceGroup01
Update a SQL virtual machine with AHUB billing and add a tag.
Example 2
$sqlVM = Get-AzSqlVM -ResourceGroupName 'ResourceGroup01' -Name 'sqlvm1'
$sqlVM | Update-AzSqlVM -Sku 'Standard' -LicenseType 'AHUB'
Location Name ResourceGroupName
-------- ---- -----------------
eastus sqlvm1 ResourceGroup01
Update a SQL virtual machine's sku and license type via identity.
Example 3
Update-AzSqlVM -ResourceGroupName 'ResourceGroup01' -Name 'sqlvm1' -AutoBackupSettingEnable `
-AutoBackupSettingBackupScheduleType manual -AutoBackupSettingFullBackupFrequency Weekly -AutoBackupSettingFullBackupStartTime 5 `
-AutoBackupSettingFullBackupWindowHour 2 -AutoBackupSettingStorageAccessKey 'keyvalue' -AutoBackupSettingStorageAccountUrl `
'https://storagename.blob.core.windows.net/' -AutoBackupSettingRetentionPeriod 10 -AutoBackupSettingLogBackupFrequency 60 `
-AutoBackupSettingStorageContainerName 'storagecontainername'
Location Name ResourceGroupName
-------- ---- -----------------
eastus sqlvm1 ResourceGroup01
Update a SQL virtual machine to enable auto backup.
Example 4
Update-AzSqlVM -ResourceGroupName 'ResourceGroup01' -Name 'sqlvm1' -AutoBackupSettingEnable:$false
Location Name ResourceGroupName
-------- ---- -----------------
eastus sqlvm1 ResourceGroup01
Update a SQL virtual machine to disable auto backup.
Example 5
Update-AzSqlVM -ResourceGroupName 'ResourceGroup01' -Name 'sqlvm1' `
-AutoPatchingSettingDayOfWeek Thursday `
-AutoPatchingSettingMaintenanceWindowDuration 120 -AutoPatchingSettingMaintenanceWindowStartingHour 3 -AutoPatchingSettingEnable
Location Name ResourceGroupName
-------- ---- -----------------
eastus sqlvm1 ResourceGroup01
Update a SQL virtual machine to enable auto patching.
Example 6
Update-AzSqlVM -ResourceGroupName 'ResourceGroup01' -Name 'sqlvm1' -AutoPatchingSettingEnable:$false
Location Name ResourceGroupName
-------- ---- -----------------
eastus sqlvm1 ResourceGroup01
Update a SQL virtual machine to disable auto patching.
Example 7
Update-AzSqlVM -ResourceGroupName 'ResourceGroup01' -Name 'sqlvm1' -AssessmentSettingEnable
Location Name ResourceGroupName
-------- ---- -----------------
eastus sqlvm1 ResourceGroup01
Update a SQL virtual machine to enable assessment.
Example 8
$securepwd = ConvertTo-SecureString -String "****" -AsPlainText -Force
Update-AzSqlVM -ResourceGroupName 'ResourceGroup01' -Name 'sqlvm1' `
-SqlVirtualMachineGroupResourceId '<group resource id>' `
-WsfcDomainCredentialsClusterBootstrapAccountPassword $securepwd `
-WsfcDomainCredentialsClusterOperatorAccountPassword $securepwd `
-WsfcDomainCredentialsSqlServiceAccountPassword $securepwd
Location Name ResourceGroupName
-------- ---- -----------------
eastus sqlvm1 ResourceGroup01
Update a SQL virtual machine to add it to a SQL VM group.
Example 9
Update-AzSqlVM -ResourceGroupName 'ResourceGroup01' -Name 'sqlvm1' -SqlVirtualMachineGroupResourceId ''
Location Name ResourceGroupName
-------- ---- -----------------
eastus sqlvm1 ResourceGroup01
Update a SQL virtual machine to remove it from a SQL VM group.
Example 10
Update-AzSqlVM -ResourceGroupName 'ResourceGroup01' -Name 'sqlvm1' -Tag @{'newkey'='newvalue'} -AsJob
Location Name ResourceGroupName
-------- ---- -----------------
eastus sqlvm1 ResourceGroup01
Update a SQL virtual machine's tag as a background job.
Example 11
Update-AzSqlVM -ResourceGroupName 'ResourceGroup01' -Name 'sqlvm1' -IdentityType 'SystemAssigned'
Location Name ResourceGroupName
-------- ---- -----------------
eastus sqlvm1 ResourceGroup01
Update a SQL virtual machine to enable Microsoft Entra authentication using "System-assigned managed identity"
Example 12
Update-AzSqlVM -ResourceGroupName 'ResourceGroup01' -Name 'sqlvm1' -IdentityType 'UserAssigned' -ManagedIdentityClientId '00001111-aaaa-2222-bbbb-3333cccc4444'
Location Name ResourceGroupName
-------- ---- -----------------
eastus sqlvm1 ResourceGroup01
Update a SQL virtual machine to enable Microsoft Entra authentication using "User-assigned managed identity"
Parameters
-AsJob
Run the command as a job
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-AssessmentSettingEnable
Enable or disable SQL best practices Assessment feature on SQL virtual machine.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-AssessmentSettingRunImmediately
Run SQL best practices Assessment immediately on SQL virtual machine.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-AutoBackupSettingBackupScheduleType
Backup schedule type.
Type: | BackupScheduleType |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-AutoBackupSettingBackupSystemDb
Include or exclude system databases from auto backup.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-AutoBackupSettingDaysOfWeek
Days of the week for the backups when FullBackupFrequency is set to Weekly.
Type: | AutoBackupDaysOfWeek[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-AutoBackupSettingEnable
Enable or disable autobackup on SQL virtual machine.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-AutoBackupSettingEnableEncryption
Enable or disable encryption for backup on SQL virtual machine.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-AutoBackupSettingFullBackupFrequency
Frequency of full backups. In both cases, full backups begin during the next scheduled time window.
Type: | FullBackupFrequencyType |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-AutoBackupSettingFullBackupStartTime
Start time of a given day during which full backups can take place. 0-23 hours.
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-AutoBackupSettingFullBackupWindowHour
Duration of the time window of a given day during which full backups can take place. 1-23 hours.
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-AutoBackupSettingLogBackupFrequency
Frequency of log backups. 5-60 minutes.
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-AutoBackupSettingPassword
Password for encryption on backup.
Type: | SecureString |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-AutoBackupSettingRetentionPeriod
Retention period of backup: 1-90 days.
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-AutoBackupSettingStorageAccessKey
Storage account key where backup will be taken to.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-AutoBackupSettingStorageAccountUrl
Storage account url where backup will be taken to.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-AutoBackupSettingStorageContainerName
Storage container name where backup will be taken to.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-AutoPatchingSettingDayOfWeek
Day of week to apply the patch on.
Type: | DayOfWeek |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-AutoPatchingSettingEnable
Enable or disable autopatching on SQL virtual machine.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-AutoPatchingSettingMaintenanceWindowDuration
Duration of patching.
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-AutoPatchingSettingMaintenanceWindowStartingHour
Hour of the day when patching is initiated. Local VM time.
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Confirm
Prompts you for confirmation before running the cmdlet.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-DefaultProfile
The credentials, account, tenant, and subscription used for communication with Azure.
Type: | PSObject |
Aliases: | AzureRMContext, AzureCredential |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-EnableAutomaticUpgrade
Enable automatic upgrade of Sql IaaS extension Agent.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-IdentityType
Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InputObject
Identity Parameter To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
Type: | ISqlVirtualMachineIdentity |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-LicenseType
SQL Server license type.
Type: | SqlServerLicenseType |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ManagedIdentityClientId
The client Id of the Managed Identity to query Microsoft Graph API. An empty string must be used for the system assigned Managed Identity
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Name
Name of the SQL virtual machine.
Type: | String |
Aliases: | SqlVirtualMachineName, SqlVMName |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-NoWait
Run the command asynchronously
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Offer
SQL image offer. Examples include SQL2016-WS2016, SQL2017-WS2016.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ResourceGroupName
Name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
Type: | String |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ScheduleDayOfWeek
Day of the week to run assessment.
Type: | AssessmentDayOfWeek |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ScheduleEnable
Enable or disable assessment schedule on SQL virtual machine.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ScheduleMonthlyOccurrence
Occurrence of the DayOfWeek day within a month to schedule assessment. Takes values: 1,2,3,4 and -1. Use -1 for last DayOfWeek day of the month
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ScheduleStartTime
Time of the day in HH:mm format. Eg. 17:30
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ScheduleWeeklyInterval
Number of weeks to schedule between 2 assessment runs. Takes value from 1-6
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Sku
SQL Server edition type.
Type: | SqlImageSku |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-SqlManagementType
SQL Server Management type.
Type: | SqlManagementMode |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-SqlVirtualMachineGroupResourceId
ARM resource id of the SQL virtual machine group this SQL virtual machine is or will be part of.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-SubscriptionId
Subscription ID that identifies an Azure subscription.
Type: | String |
Position: | Named |
Default value: | (Get-AzContext).Subscription.Id |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Tag
Resource tags.
Type: | Hashtable |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-VirtualMachineResourceId
ARM Resource id of underlying virtual machine created from SQL marketplace image.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WhatIf
Shows what would happen if the cmdlet runs. The cmdlet is not run.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WsfcDomainCredentialsClusterBootstrapAccountPassword
Cluster bootstrap account password.
Type: | SecureString |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WsfcDomainCredentialsClusterOperatorAccountPassword
Cluster operator account password.
Type: | SecureString |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WsfcDomainCredentialsSqlServiceAccountPassword
SQL service account password.
Type: | SecureString |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WsfcStaticIP
Domain credentials for setting up Windows Server Failover Cluster for SQL availability group.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Inputs
Outputs
Azure PowerShell