Database Extensions - Create Or Update

Perform a database extension operation, like database import, database export, or polybase import

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/extensions/{extensionName}?api-version=2021-11-01

URI Parameters

Name In Required Type Description
databaseName
path True

string

The name of the database.

extensionName
path True

string

resourceGroupName
path True

string

The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.

serverName
path True

string

The name of the server.

subscriptionId
path True

string

The subscription ID that identifies an Azure subscription.

api-version
query True

string

The API version to use for the request.

Request Body

Name Required Type Description
properties.operationMode True

OperationMode

Operation mode of the operation: Import, Export, or PolybaseImport.

properties.storageKey True

string

Storage key for the storage account.

properties.storageKeyType True

StorageKeyType

Storage key type: StorageAccessKey or SharedAccessKey.

properties.storageUri True

string

Storage Uri for the storage account.

properties.administratorLogin

string

Administrator login name.

properties.administratorLoginPassword

string

Administrator login password.

properties.authenticationType

string

Authentication type: SQL authentication or AD password.

properties.databaseEdition

string

Database edition for the newly created database in the case of an import operation.

properties.maxSizeBytes

string

Database max size in bytes for the newly created database in the case of an import operation.

properties.networkIsolation

NetworkIsolationSettings

Optional resource information to enable network isolation for request.

properties.serviceObjectiveName

string

Database service level objective for the newly created database in the case of an import operation.

Responses

Name Type Description
200 OK

ImportExportExtensionsOperationResult

Successfully completed import/export operation.

202 Accepted

Import/Export operation is in progress.

Other Status Codes

*** Error Responses: ***

  • 400 MissingImportExportInputParameters - Missing ImportExport input parameters.

  • 400 InvalidImportExportInputParameter - The import/export request failed due to an invalid input parameter.

  • 400 PolybaseImportAuthenticationTypeNotSupported - Authentication type parameter is not support for PolybaseImport operation.

  • 400 DatabaseExtensionsInvalidOperationMode - Invalid operationMode parameter for database extension.

  • 400 DatabaseExtensionsInvalidStorageKeyType - The storage key type must by 'StorageAccessKey'.

  • 400 DatabaseExtensionsMissingStorageUri - Storage URI cannot be empty.

  • 400 InvalidSku - The user specified an invalid sku.

  • 400 InvalidTierSkuCombination - The specified tier does not support the specified sku.

  • 400 DatabaseInvalidSkuPropertyCombination - The properties of the requested sku are inconsistent. Please check that a valid combination is specified. See https://docs.microsoft.com/en-us/rest/api/sql/capabilities/listbylocation#serviceobjectivecapability for more details.

  • 400 InvalidMaxSizeTierCombination - The specified tier does not support the specified database max size.

  • 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.

  • 400 InvalidImportExportParameter - The Import/Export request failed due to an invalid input parameter.

  • 400 InvalidTier - The user specified an invalid tier.

  • 400 InvalidOperationType - Provide a valid operation type.

  • 400 ImportExportJobError - The ImportExport operation has failed.

  • 400 BlockedByOutboundFirewall - The outbound firewall rules blocked the request.

  • 404 ResourceNotFound - Invalid request specifying a non-existent resource.

  • 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.

  • 404 ImportExportOperationIdNotFound - The operation Id for import or export cannot be found.

  • 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.

  • 404 OperationIdNotFound - The operation with Id does not exist.

  • 409 ImportExportOperationInProgress - There is an import or export operation in progress on the database.

  • 409 OperationCancelled - The operation has been cancelled by user.

  • 409 OperationInterrupted - The operation on the resource could not be completed because it was interrupted by another operation on the same resource.

  • 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.

  • 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.

  • 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation.

  • 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.

Examples

Create or Update database extensions.
Export database using database extension.
Import database using database extension.

Create or Update database extensions.

Sample Request

PUT https://management.azure.com/subscriptions/a1c0814d-3c18-4e1e-a247-c128c12b1677/resourceGroups/rg_20cbe0f0-c2d9-4522-9177-5469aad53029/providers/Microsoft.Sql/servers/srv_1ffd1cf8-9951-47fb-807d-a9c384763849/databases/878e303f-1ea0-4f17-aa3d-a22ac5e9da08/extensions/polybaseimport?api-version=2021-11-01

{
  "properties": {
    "operationMode": "PolybaseImport",
    "storageKeyType": "StorageAccessKey",
    "storageKey": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
    "storageUri": "https://teststorage.blob.core.windows.net/testcontainer/Manifest.xml"
  }
}

Sample Response

{
  "properties": {
    "requestId": "10000000-0000-0000-0000-000000000002",
    "requestType": "PolybaseImport",
    "lastModifiedTime": "lastModifiedTime",
    "serverName": "srv_1ffd1cf8-9951-47fb-807d-a9c384763849",
    "databaseName": "878e303f-1ea0-4f17-aa3d-a22ac5e9da08",
    "status": "succeeded"
  },
  "id": "10000000-0000-0000-0000-000000000002",
  "name": "10000000-0000-0000-0000-000000000002",
  "type": "Microsoft.Sql/servers/databases/extensions"
}

Export database using database extension.

Sample Request

PUT https://management.azure.com/subscriptions/0ca8cd24-0b47-4ad5-bc7e-d70e35c44adf/resourceGroups/rg_d1ef9eae-044d-4710-ba59-b82e84ad3157/providers/Microsoft.Sql/servers/srv_9243d320-ac4e-4f97-8e06-b1167dae5f4c/databases/db_7fe424c8-23cf-4ac3-bdc3-e21f424bdb68/extensions/Export?api-version=2021-11-01

{
  "properties": {
    "operationMode": "Export",
    "storageKeyType": "StorageAccessKey",
    "storageKey": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
    "storageUri": "https://teststorage.blob.core.windows.net/testcontainer/Manifest.xml",
    "administratorLogin": "login",
    "administratorLoginPassword": "password",
    "authenticationType": "Sql"
  }
}

Sample Response

{
  "properties": {
    "requestId": "10000000-0000-0000-0000-000000000002",
    "requestType": "Export",
    "lastModifiedTime": "lastModifiedTime",
    "serverName": "srv_9243d320-ac4e-4f97-8e06-b1167dae5f4c",
    "databaseName": "db_7fe424c8-23cf-4ac3-bdc3-e21f424bdb68",
    "status": "Completed",
    "queuedTime": "09/10/2021 18:35:10",
    "blobUri": "https://teststorage.blob.core.windows.net/testcontainer/samplebacpac.bacpac",
    "privateEndpointConnections": []
  },
  "id": "10000000-0000-0000-0000-000000000002",
  "name": "10000000-0000-0000-0000-000000000002",
  "type": "Microsoft.Sql/servers/databases/extensions"
}

Import database using database extension.

Sample Request

PUT https://management.azure.com/subscriptions/17ca4d13-bf7d-4c33-a60e-b87a2820a325/resourceGroups/rg_062866bf-c4f4-41f9-abf0-b59132ca7924/providers/Microsoft.Sql/servers/srv_2d6be2d2-26c8-4930-8fb6-82a5e95e0e82/databases/db_2a47e946-e414-4c00-94ac-ed886bb78302/extensions/Import?api-version=2021-11-01

{
  "properties": {
    "operationMode": "Import",
    "storageKeyType": "StorageAccessKey",
    "storageKey": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
    "storageUri": "https://teststorage.blob.core.windows.net/testcontainer/Manifest.xml",
    "administratorLogin": "login",
    "administratorLoginPassword": "password",
    "authenticationType": "Sql"
  }
}

Sample Response

{
  "properties": {
    "requestId": "10000000-0000-0000-0000-000000000002",
    "requestType": "Import",
    "lastModifiedTime": "lastModifiedTime",
    "serverName": "srv_2d6be2d2-26c8-4930-8fb6-82a5e95e0e82",
    "databaseName": "db_2a47e946-e414-4c00-94ac-ed886bb78302",
    "status": "Completed",
    "queuedTime": "09/10/2021 18:35:10",
    "blobUri": "https://teststorage.blob.core.windows.net/testcontainer/samplebacpac.bacpac",
    "privateEndpointConnections": []
  },
  "id": "10000000-0000-0000-0000-000000000002",
  "name": "10000000-0000-0000-0000-000000000002",
  "type": "Microsoft.Sql/servers/databases/extensions"
}

Definitions

Name Description
DatabaseExtensions

An Import, Export, or PolybaseImport resource.

ImportExportExtensionsOperationResult

An Extension operation result resource.

NetworkIsolationSettings

Contains the ARM resources for which to create private endpoint connection.

OperationMode

Operation mode of the operation: Import, Export, or PolybaseImport.

PrivateEndpointConnectionRequestStatus

Contains the private endpoint connection requests status.

StorageKeyType

Storage key type: StorageAccessKey or SharedAccessKey.

DatabaseExtensions

An Import, Export, or PolybaseImport resource.

Name Type Description
id

string

Resource ID.

name

string

Resource name.

properties.administratorLogin

string

Administrator login name.

properties.administratorLoginPassword

string

Administrator login password.

properties.authenticationType

string

Authentication type: SQL authentication or AD password.

properties.databaseEdition

string

Database edition for the newly created database in the case of an import operation.

properties.maxSizeBytes

string

Database max size in bytes for the newly created database in the case of an import operation.

properties.networkIsolation

NetworkIsolationSettings

Optional resource information to enable network isolation for request.

properties.operationMode

OperationMode

Operation mode of the operation: Import, Export, or PolybaseImport.

properties.serviceObjectiveName

string

Database service level objective for the newly created database in the case of an import operation.

properties.storageKey

string

Storage key for the storage account.

properties.storageKeyType

StorageKeyType

Storage key type: StorageAccessKey or SharedAccessKey.

properties.storageUri

string

Storage Uri for the storage account.

type

string

Resource type.

ImportExportExtensionsOperationResult

An Extension operation result resource.

Name Type Description
id

string

Resource ID.

name

string

Resource name.

properties.blobUri

string

Blob URI.

properties.databaseName

string

Database name.

properties.errorMessage

string

Error message.

properties.lastModifiedTime

string

Last modified time.

properties.privateEndpointConnections

PrivateEndpointConnectionRequestStatus[]

Gets the status of private endpoints associated with this request.

properties.queuedTime

string

Queued time.

properties.requestId

string

Request Id.

properties.requestType

string

Request type.

properties.serverName

string

Server name.

properties.status

string

Operation status.

type

string

Resource type.

NetworkIsolationSettings

Contains the ARM resources for which to create private endpoint connection.

Name Type Description
sqlServerResourceId

string

The resource id for the SQL server which is the target of this request. If set, private endpoint connection will be created for the SQL server. Must match server which is target of the operation.

storageAccountResourceId

string

The resource id for the storage account used to store BACPAC file. If set, private endpoint connection will be created for the storage account. Must match storage account used for StorageUri parameter.

OperationMode

Operation mode of the operation: Import, Export, or PolybaseImport.

Name Type Description
Export

string

Import

string

PolybaseImport

string

PrivateEndpointConnectionRequestStatus

Contains the private endpoint connection requests status.

Name Type Description
privateEndpointConnectionName

string

The connection name for the private endpoint.

privateLinkServiceId

string

Resource id for which the private endpoint is created.

status

string

Status of this private endpoint connection.

StorageKeyType

Storage key type: StorageAccessKey or SharedAccessKey.

Name Type Description
SharedAccessKey

string

StorageAccessKey

string