swagger: '2.0' info: version: 2020-08-01-preview title: Microsoft Azure AccessControlClient AccessConnector SqlVirtualMachineTroubleshoot API schemes: - https tags: - name: SqlVirtualMachineTroubleshoot paths: ? /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/{sqlVirtualMachineName}/troubleshoot : post: tags: - SqlVirtualMachineTroubleshoot description: Starts SQL virtual machine troubleshooting. operationId: microsoftAzureSqlvirtualmachinetroubleshootTroubleshoot parameters: - $ref: '#/parameters/ResourceGroupParameter' - $ref: '#/parameters/SqlVirtualMachineNameParameter' - name: parameters in: body description: The SQL virtual machine troubleshooting entity. required: true schema: $ref: '#/definitions/SqlVmTroubleshooting' - $ref: '#/parameters/SubscriptionIdParameter' - $ref: '#/parameters/ApiVersionParameter' responses: '200': description: Successfully started SQL virtual machine troubleshooting. schema: $ref: '#/definitions/SqlVmTroubleshooting' '202': description: Accepted request to start SQL virtual machine troubleshooting. headers: Location: type: string default: description: "*** Error Responses: ***\n\n * 400 InvalidStartEndTime - Invalid time window. Start time cannot be greater than end time\n\n * 400 InvalidTroubleshootingScenario - Invalid troubleshooting scenario provided.\n\n * 400 InvalidTimeSpecified - Invalid time specified\n\n * 400 RestoreJobIdsMismatch - Restore Job Id mismatch, current restore job id is {0} while input is {1}.\n\n * 400 RestoreJobSetToAutoCutover - Restore Job is set to AutoCutover. No Operation will be accept except Cancel.\n\n * 400 AutoBackupEncryptionPasswordNotSpecified - Password not provided when enabling encryption as auto backup setting.\n\n * 400 BackupScheduleTypeNotSet - Backup schedule type needs to be set.\n\n * 400 BackupStorageCredentialsNotSpecified - Backup storage credentials are not specified.\n\n * 400 KeyVaultCredentialsNotSpecified - Key vault credentials not specified.\n\n * 400 SqlCredentialsNotSpecified - SQL Server credentials are not specified.\n\n * 400 IncompleteAutoPatchingSettings - Incomplete auto patching settings specified.\n\n * 400 IncompleteAutoBackupSettings - Incomplete auto backup settings specified.\n\n * 400 IncompleteSqlStorageSettings - Incomplete SQL storage settings specified.\n\n * 400 InvalidVmResourceIdChange - Virtual machine resource id property cannot be updated.\n\n * 400 SqlVmAlreadyIncludedInGroup - SQL virtual machine cannot be moved from one group to another in same operation.\n\n * 400 SqlVmCannotRemoveFromGroup - SQL virtual machine cannot be removed from group.\n\n * 400 VmLocationMismatch - VM location does not match that of SQL virtual machine.\n\n * 400 VmInsufficientPermission - Insufficient permission to Vm.\n\n * 400 SingleNicOnVmAllowed - Only Single NIC virtual machines are allowed in a SQL VM Group.\n\n * 400 InvalidSqlVmGroupResourceIdParameterValue - SQL virtual machine group resource id is not in correct format.\n\n * 400 MismatchVmGroupSubscription - Subscription id for SQL virtual machine and SQL virtual machine group are different.\n\n * 400 IncompleteDomainCredentialsProperty - Incomplete input provided for domain credentials property.\n\n * 400 BYOLChangeToPAYGNotSupported - The conversion from AHUB to PAYG is not supported for BYOL images\n\n * 400 InvalidVmResourceIdParameterValue - Provided virtual machine resource id is not valid.\n\n * 400 MismatchInSqlVmAndVmResourceIdSubscription - Mismatch in subscription id for SQL virtual machine and virtual machine resource id property.\n\n * 400 MismatchSqlVmAndVmName - SQL virtual machine name is not same as the virtual machine name provided on VirtualMachineResourceId property.\n\n * 400 MismatchSqlVmAndVmRgName - SQL virtual machine resource group name is not same as the virtual machine resource group name provided on VirtualMachineResourceId property.\n\n * 400 NotSupportedSqlVmOSVersion - Virtual machine OS type is not Windows. Only Windows OS versions are supported\n\n * 400 VmNotRunning - The VM is not in running state.\n\n * 400 VmAgentNotRunning - The VM agent is not installed or in running state.\n\n * 400 PAYGNotSupportedForNonGalleryVM - License type PAYG is invalid for this Virtual Machine as this was not created from Azure marketplace image.\n\n * 400 CannotDetermineSqlVersionAndEditionFromVm - Sql IaaS Extension cannot determine the SQL version and edition from the vm.\n\n * 400 MismatchSqlVmSku - Sql virtual machine sku mismatch.\n\n * 400 CannotConvertToFreeBenefit - Cannot convert Free SQL editions to {0}. \n\n * 400 SqlEvaluationSkuNotSupported - SQL Evaluation version does not support licensing changes.\n\n * 400 IncompleteStorageConfigurationSettings - Incomplete Storage Configuration Settings\n\n * 400 InvalidDefaultFilePath - Invalid Default File Path \n\n * 400 InvalidLUNSpecified - Invalid Logical Unit number specified, Logical Unit number should be a non-negative number.\n\n * 400 BothStorageV1V2Specified - Invalid Request. Only one of SQL Storage Storage Setting or Storage Configuration Settings should be specified\n\n * 400 InvalidLUNsSpecifiedForSameDrive - Invalid Logical Unit numbers specified. Logical Unit number used for the same drive need to be the same.\n\n * 400 InvalidLUNsSpecifiedForDifferentDrives - Invalid Logical Unit numbers specified. Different drive could not reuse the same Logical Unit number.\n\n * 400 InvalidExtendPayload - Invalid Sql Storage Settings Extend Payload. Only support extend one drive at a time.\n\n * 400 SqlLicenseTypeMissing - Please specify license type for Sql Virtual Machine. The property is 'SqlServerLicenceType' and allowed values are PAYG, AHUB and DR.\n\n * 400 VmAgentIsRunningForNoAgent - Cannot create or update as NoAgent model while the Guest Agent is running.\n\n * 400 InvalidSqlManagementMode - Cannot update the SQL management mode to {0}, the current mode is {1}. Please specify the value of property 'SqlManagement' as {1}.\n\n * 400 CannotDetermineSqlEditionFromRequest - Cannot determine the SQL edition.\n\n * 400 SqlManagementMissing - Please specify the Management Mode for Sql Virtual Machine. The property is 'SqlManagement' and allowed values are LightWeight or Full.\n\n * 400 SqlImageSkuMissingNoAgent - Please specify the Sql Server Edition for Sql Virtual Machine in NoAgent Mode. The property is 'SqlImageSku' and allowed values are Developer, Express, Web, Standard, or Enterprise.\n\n * 400 SqlImageOfferMissingNoAgent - Please specify the Sql Server Version and OS Version for Sql Virtual Machine in NoAgent Mode. The property is 'SqlImageOffer' and allowed values are SQL2008-WS2008 and SQL2008R2-WS2008.\n\n * 400 InvalidSqlImageOfferChange - SqlImageOffer property cannot be updated.\n\n * 400 SqlLicenseTypeNotSupported - SqlLicenseType NotSet incorrectly provided\n\n * 400 UnsupportedSqlManagementMode - Cannot update the SQL management mode to {0}, only {1} mode is supported for {2}.\n\n * 400 SqlVmInValidState - Cannot delete SqlVm since it's provisioned.\n\n * 400 ClusterOperatorAccountIsEmpty - Cannot add a VM to a SQLVM Group when cluster operator account is null or empty. Please update the group resource: {0} with the cluster operator account.\n\n * 400 SqlServiceAccountIsEmpty - Cannot add a VM to a SQLVM Group when SQL service account is null or empty. Please update the group resource: {0} with the SQL service account.\n\n * 400 UnknownSqlManagementMode - Cannot update the SQL management mode to {0}, please use one of the supported values.\n\n * 400 CandidateCurrentTimeIsAfterRegEndTime - Cannot register candidate entity as current time {0} is after allowed end time {1}.\n\n * 400 CandidateRegStartTimeIsAfterRegEndTime - Cannot register candidate entity as allowed start time {0} is after allowed end time {1}.\n\n * 400 VmOsTypeNotFound - OS type is not found.\n\n * 400 SqlLicenseManagementNotAllowed - Please set the License type of sql vm resource to null. License type manageability is currently not supported in this cloud.\n\n * 400 IPNotInSubnet - IP not part of subnet.\n\n * 400 InvalidSqlSkuUpdate - SqlImageSku property cannot be updated when license type management is blocked.\n\n * 400 VmOsVersionIsUnsupported - OS version is unsupported.\n\n * 400 RedeployIsNotSupported - Redeploy is not supported when SqlVm is not provisioned.\n\n * 400 InvalidLightweightMode - Invalid SQL VM Management mode. Please change SQL VM property 'SqlManagement' to FULL\n\n * 400 InvalidAssessmentSettingsEnableIsFalse - Invalid assessment settings specified. Enable must be set to true to use other assessment settings.\n\n * 400 SqlInstanceSettingsSet1NotAllowed - SQL Instance Settings MAXDOP, and Collation are not allowed to be configured if the Feature Switch is disabled\n\n * 400 InvalidAssessmentScheduleSettings - Invalid assessment schedule settings specified.\n\n * 400 LinuxDistroIsNotSupported - Linux distro is unsupported\n\n * 400 SqlServerSettingCollationNotAllowedToUpdate - SQL Server collation is not allowed to be updated in manageability.\n\n * 400 SqlServerSettingMinMemoryGreaterThanMaxMemory - SQL Server Min Server Memory (MB) cannot be greater than Max Server Memory (MB)\n\n * 400 SqlInstanceSettingsSet2NotAllowed - SQL Instance Settings Optimize for adhoc workloads, Min server memory (MB) and Max server memory (MB) are not allowed to be configured if the Feature Switch is disabled\n\n * 400 ClusterIpShouldBeEmpty - Argument wsfcStaticIp should be empty for single subnet listener\n\n * 400 InvalidClusterIpAddress - Invalid cluster ip address provided.\n\n * 400 SqlServerSettingLPIMNotAllowedToUpdate - SQL Server Lock Pages In Memory is not allowed to be updated in manageability.\n\n * 400 SqlServerSettingIFINotAllowedToUpdate - SQL Server IFI is not allowed to be updated in manageability.\n\n * 400 LeastPrivilegeModeEnableNotSupported - Least Privilege mode is not supported on LightWeight or NoAgent extension mode.\n\n * 400 LeastPrivilegeModeChangeNotSupported - Cannot disable Least Privilege mode once enabled. \n\n * 400 VmOSUnsupportedForAzureAD - OS is unsupported for Azure AD authentication.\n\n * 400 SqlVersionUnsupportedForAzureAD - SQL version is unsupported for Azure AD authentication.\n\n * 400 EnableAzureADInProvisionUnsupported - Enable Azure AD authentication in provision is unsupported.\n\n * 400 MSIClientIdRequired - MSI client Id is required for Azure AD authentication.\n\n * 400 AzureADAuthenticationNotAllowed - Configuring Azure AD authentication is currently not allowed.\n\n * 400 CannotFindExtensionVersion - Cannot determine SQL IaaS Extension version.\n\n * 400 InvalidFileSizeSpecified - Invalid Request. File Size cannot be negative\n\n * 400 InvalidFileCountSpecified - Invalid Request. File Count cannot be negative \n\n * 400 SubscriptionNotReady - Subscription not ready\n\n * 400 SqlVersionMismatchWithGroup - SQL version mismatch with SQL virtual machine group.\n\n * 400 VmOSVersionMismatchWithGroup - OS version mismatch with group.\n\n * 400 InvalidSqlImageOffer - Provided SQL image offer is invalid.\n\n * 400 SqlSkuMismatchWithGroup - SQL sku set on the SQL virtual machine group does not match that of the SQL virtual machine.\n\n * 400 InvalidParameterValue - An invalid value was given to parameter.\n\n * 400 RPGenericUser - User Failure when calling other Resource Provider.\n\n * 400 RPResponseMissingAsyncOperationHeader - Response is missing Async operation header information\n\n * 400 InvalidArgument - Invalid argument '{0}'.\n\n * 400 ArgumentNotInRange - Argument '{0}' not in range.\n\n * 400 ResourceNotProvisioned - As the resource: {0} is not in a provisioned state, the request cannot be proceeded forward\n\n * 400 CRPNotAllowedOperation - Operation cannot be completed due to the following error: {0}\n\n * 400 AadAppDisabled - Microsoft AAD app SQLVMResourceProviderAuth ({0}) is disabled in your tenant.\n\n * 400 InternalAPIAccessDenied - Internal API Access denied. App Id {0} is not valid to use this API.\n\n * 400 InvalidSQLAuthPasswordLength - SQL auth password should not be greater than 128 characters\n\n * 400 InvalidRgResourceId - Invalid Resourcegroup resource id specified.\n\n * 403 AccessDenied - Access denied.\n\n * 404 SubscriptionDoesNotHaveSqlVMInResourceGroup - Subscription does not have SQL virtual machine Instance in resource group.\n\n * 404 SubscriptionDoesNotExist - Subscription id does not exist.\n\n * 404 SubscriptionDoesNotHaveSqlVMGroupInResourceGroup - Subscription does not have SQL virtual machine group in resource group.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotExist - Subscription id does not exist.\n\n * 404 ResourceDoesNotExist - Resource does not exist.\n\n * 404 RPOperationNotFound - Operation not found\n\n * 404 OperationIdNotFound - Operation id could not be found.\n\n * 404 OperationTypeNotFound - Operation Type not found.\n\n * 409 IPNotAvailable - IP {0} is not available{1}. Consider using one from ({2})\n\n * 409 IpAddressAlreadyReserved - IP address reserved for this listener already exists. Please use the IP address\n\n * 409 OperationInProgress - Operation in progress on resource already.\n\n * 409 OperationCanceled - Operation Cancelled.\n\n * 409 ResourceAlreadyExists - Resource already exists.\n\n * 409 LBGenericErrors - LB operation failed\n\n * 409 NICGenericError - NIC operation failed\n\n * 409 SqlExtensionNotInstalled - SQL extension not installed.\n\n * 409 RPPluginSubstatusMissing - RP plugin substatus missing\n\n * 409 MissingMoveResources - Cannot move resources(s) because some resources are missing in the request.\n\n * 409 ResourceExists - There was an internal error in cleaning up of resources.\n\n * 409 SubscriptionOperationInProgress - An operation on subscription is already in progress\n\n * 429 TooManyRequestsReceived - Request throttled due to too many requests.\n\n * 429 ArgumentMissingForSetup - Argument is missing for setup. Please provide a value for the argument.\n\n * 429 MultisubnetOperationNotAllowed - Multi subnet HA setup operation is not allowed.\n\n * 500 UnExpectedErrorOccurred - Unexpected error occurred.\n\n * 500 OperationTimeout - Operation timed out.\n\n * 500 RPGenericSystem - System Failure when calling other Resource Provider." schema: $ref: ../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse x-ms-long-running-operation: true x-ms-long-running-operation-options: final-state-via: location x-ms-examples: Start SQL virtual machine troubleshooting operation: $ref: ./examples/TroubleshootSqlVirtualMachine.json summary: Microsoft Azure Post Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Sqlvirtualmachine Sqlvirtualmachines Sqlvirtualmachinename Troubleshoot definitions: SqlVmTroubleshooting: description: Details required for SQL VM troubleshooting type: object properties: startTimeUtc: format: date-time description: Start time in UTC timezone. type: string endTimeUtc: format: date-time description: End time in UTC timezone. type: string troubleshootingScenario: description: SQL VM troubleshooting scenario. default: UnhealthyReplica enum: - UnhealthyReplica type: string x-ms-enum: name: TroubleshootingScenario modelAsString: true properties: $ref: '#/definitions/TroubleshootingAdditionalProperties' description: Troubleshooting properties virtualMachineResourceId: description: Virtual machine resource id for response. type: string readOnly: true UnhealthyReplicaInfo: description: SQL VM Troubleshoot UnhealthyReplica scenario information. type: object properties: availabilityGroupName: description: The name of the availability group type: string TroubleshootingAdditionalProperties: description: SQL VM Troubleshooting additional properties. type: object properties: unhealthyReplicaInfo: $ref: '#/definitions/UnhealthyReplicaInfo' description: The unhealthy replica information parameters: ApiVersionParameter: name: api-version in: query description: API version to use for the request. required: true type: string x-ms-parameter-location: client SqlVirtualMachineNameParameter: name: sqlVirtualMachineName in: path description: Name of the SQL virtual machine. required: true type: string maxLength: 64 minLength: 1 pattern: ^((?!_)[^\\/"'\[\]:|<>+=;,?*@&]{1,64}(?