You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过ARM模板部署Synapse Serverless数据库?

简介

我正尝试通过Azure Pipelines部署ARM模板,先部署Synapse Workspace,再创建Synapse Serverless Database。请注意,这不是专用SQL池(Dedicated SQL Pool),而是Synapse无服务器数据库。

手动操作的步骤如下:
添加SQL数据库
选择无服务器并添加


现有模板

我已有一个可成功创建Synapse Workspace的ARM模板:

{
    "type": "Microsoft.Synapse/workspaces",
    "apiVersion": "2021-06-01",
    "name": "[variables('synapseName')]",
    "location": "[parameters('location')]",
    "tags": "[parameters('tags')]",
    "identity": {
        "type": "SystemAssigned"
    },
    "properties": {
        "defaultDataLakeStorage": {
            "resourceId": "[resourceId('Microsoft.Storage/storageAccounts', variables('storageName'))]",
            "createManagedPrivateEndpoint": true,
            "accountUrl": "[concat('https://', variables('storageName'),'.dfs.core.windows.net')]",
            "filesystem": "[concat('lake', parameters('project'))]"
        },
        "encryption": {},
        "managedResourceGroupName": "[variables('synapseManager')]",
        "managedVirtualNetwork": "default",
        "sqlAdministratorLogin": "[variables('adminusername')]",
        "sqlAdministratorLoginPassword": "[parameters('sec_syn')]",
        "privateEndpointConnections": [],
        "publicNetworkAccess": "Enabled",
        "managedVirtualNetworkSettings": {
            "preventDataExfiltration": false,
            "allowedAadTenantIdsForLinking": []
        },
        "cspWorkspaceAdminProperties": {
            "initialWorkspaceAdminObjectId": "[parameters('cliid')]"
        },
        "trustedServiceBypassEnabled": true,
        "azureADOnlyAuthentication": false
    },
    "resources": [
        {
            "condition": true,
            "type": "firewallRules",
            "apiVersion": "2021-06-01",
            "name": "AllowAllConnections",
            "properties": {
                "startIpAddress": "0.0.0.0",
                "endIpAddress": "255.255.255.255"
            },
            "dependsOn": [
                "[resourceId('Microsoft.Synapse/workspaces', variables('synapseName'))]"
            ]
        },
        {
            "condition": true,
            "type": "firewallRules",
            "apiVersion": "2021-06-01",
            "name": "AllowAllWindowsAzureIps",
            "properties": {
                "startIpAddress": "0.0.0.0",
                "endIpAddress": "0.0.0.0"
            },
            "dependsOn": [
                "[resourceId('Microsoft.Synapse/workspaces', variables('synapseName'))]"
            ]
        },
        {
            "condition": true,
            "type": "integrationRuntimes",
            "apiVersion": "2021-06-01",
            "name": "AutoResolveIntegrationRuntime",
            "properties": {
                "type": "Managed",
                "typeProperties": {
                    "computeProperties": {
                        "location": "AutoResolve"
                    }
                }
            },
            "dependsOn": [
                "[resourceId('Microsoft.Synapse/workspaces', variables('synapseName'))]"
            ]
        }
    ],
    "dependsOn": [
        "[resourceId('Microsoft.Storage/storageAccounts/blobServices/containers', variables('storageName'), 'default', concat('lake', parameters('project')))]"
    ]
}

创建Synapse Serverless SQL数据库的可选方案

不过,文档中显示有两种创建数据库的方式,我都尝试过,如下所示:

  • sqlDatabase
{
    "type": "sqlDatabases",
    "apiVersion": "2020-04-01-preview",
    "name": "laketestdb",
    "location": "[parameters('location')]",
    "properties": {
        "collation": "Latin1_General_100_BIN2_UTF8"
    },
    "dependsOn": [
        "[resourceId('Microsoft.Synapse/workspaces', variables('synapseName'))]"
    ]
}

该方法无论是嵌套在Synapse资源模板中,还是在后续管道任务中单独运行,都会出现相同错误导致部署失败:
管道错误

  • sqlPool
{
    "type": "Microsoft.Synapse/workspaces/sqlPools",
    "apiVersion": "2021-06-01",
    "name": "string",
    "location": "string",
    "tags": {
        "tagName1": "tagValue1",
        "tagName2": "tagValue2"
    },
    "sku": {
        "capacity": "int",
        "name": "string",
        "tier": "string"
    },
    "properties": {
        "collation": "string",
        "createMode": "string",
        "maxSizeBytes": "int",
        "provisioningState": "string",
        "recoverableDatabaseId": "string",
        "restorePointInTime": "string",
        "sourceDatabaseDeletionDate": "string",
        "sourceDatabaseId": "string",
        "storageAccountType": "string"
        }
 }

对于该方法,我不清楚哪个服务层级或SKU可创建无服务器数据库,网上现有示例均为数据仓库配置(如"DW2000c"),尝试多次仍无法成功。


Azure Shell尝试

我还尝试使用Azure Shell命令:

New-AzSynapseSqlDatabase -ResourceGroupName rg_admin -WorkspaceName synjmi -Name testazpssqldb

得到与部署时相同的错误:

New-AzSynapseSqlDatabase: Operation returned an invalid status code 'BadRequest' Specified edition or service level objective is not supported

Azure Shell错误

我完全不清楚问题所在,网上也找不到足够的文档或故障排查资料,恳请提供帮助。


内容的提问来源于stack exchange,提问作者JMoss84

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 20:50:31