Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用AzureRM Powershell导入数据库_Azure_Azure Powershell_Azure Resource Manager_Azure Sql Database - Fatal编程技术网

使用AzureRM Powershell导入数据库

使用AzureRM Powershell导入数据库,azure,azure-powershell,azure-resource-manager,azure-sql-database,Azure,Azure Powershell,Azure Resource Manager,Azure Sql Database,有一个名为的文档介绍了如何在ASM下将bacpac文件导入SQL server 是否有方法使用Azure资源管理cmdlet将bacpac文件导入Azure SQL Server 从@juvchan answer开始,我一直在努力让以下内容发挥作用 $update = @{ "operationMode" = "Import" "storageKey"= "Key" "storageKeyType" = "Primary"

有一个名为的文档介绍了如何在ASM下将bacpac文件导入SQL server

是否有方法使用Azure资源管理cmdlet将bacpac文件导入Azure SQL Server

从@juvchan answer开始,我一直在努力让以下内容发挥作用

$update = @{
            "operationMode" = "Import"
            "storageKey"= "Key"
            "storageKeyType" = "Primary"
            "administratorLogin"= "adminlogin"
            "administratorLoginPassword"= "adminpassword"
            "storageUri"= "https://example.blob.core.windows.net/sql/exampleIOSQL-2016-1-23-12-26.bacpac"
            }
New-AzureRmResource -ResourceGroupName "resourcegroupname" `
                -ResourceType "Microsoft.Sql/servers" `
                -Name "sqldbsvr" `
                -PropertyObject $update `
                -ApiVersion 2015-08-01 `
                -Force -Location "westeurope" 
不幸的是,除了这条非常有用的错误消息,我什么也得不到-

新AzureRmResource:{“代码”:“”“消息”:“处理此请求时出错。”,“目标”:null,“详细信息”:[],“内部错误”:[]


目前,最新的Microsoft Azure PowerShell-2016年1月(版本1.1)的Azure RM模块没有任何 可以像Azure服务管理的cmdlet一样支持Azure SQL数据库导入,即
启动AzureSqlDatabaseImport

但是,在Azure资源管理器(ARM)上下文中有一种解决方法可以实现这一点

解决方法是使用包含数据库导入资源类型的用户定义的ARM模板进行Azure资源组模板部署

建议的解决方案包括示例PowerShell脚本、示例ARM模板json和示例ARM模板参数json,如下所示:

PowerShell示例代码如下所示:

Login-AzureRmAccount

$tenantId = "your_tenant_id"
$subscriptionId = "your_subscription_id"

$rgName = "your_rg_name"
$location = "your_location"
$templateFile = "YourARMTemplate.json"
$templateParamFile = "YourARMTemplate.Parameters.json"

Set-AzureRmContext -SubscriptionId $subscriptionId -TenantId $tenantId

New-AzureRmResourceGroup -Location $location -Name $rgName -Force

$deployment = New-AzureRmResourceGroupDeployment -ResourceGroupName $rgName -TemplateFile $templateFile -TemplateParameterFile $templateParamFile -Mode Incremental -Force
{
  "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "variables": {
    "dbApiVersion": "2014-04-01-preview",
    "resourceGroupLocation": "[resourceGroup().location]",
    "dbServerNameTidy": "[toLower(trim(parameters('dbServerName')))]",
    "masterDbNameTidy": "[toLower(trim(parameters('masterDbName')))]"
  },
  "parameters": {
    "dbServerName": {
      "type": "string"
    },
    "dbLogin": {
      "type": "string"
    },
    "dbPassword": {
      "type": "string"
    },
    "dbServerVersion": {
      "type": "string",
      "defaultValue": "12.0"
    },
    "dbCollation": {
      "type": "string",
      "defaultValue": "SQL_Latin1_General_CP1_CI_AS"
    },
    "dbEdition": {
      "type": "string",
      "defaultValue": "Standard"
    },
    "dbMaxSize": {
      "type": "string",
      "defaultValue": "10737418240"
    },
    "dbServiceObjectiveLevel": {
      "type": "string",
      "defaultValue": "455330E1-00CD-488B-B5FA-177C226F28B7"
    },
    "bacpacStorageKey": {
      "type": "string"
    },
    "masterDbName": {
      "type": "string"
    },
    "masterBacpacUrl": {
      "type": "string"
    },
  },
  "resources": [
    {
      "type": "Microsoft.Sql/servers",
      "apiVersion": "[variables('dbApiVersion')]",
      "properties": {
        "administratorLogin": "[parameters('dbLogin')]",
        "administratorLoginPassword": "[parameters('dbPassword')]",
        "version": "[parameters('dbServerVersion')]"
      },
      "name": "[variables('dbServerNameTidy')]",
      "location": "[variables('resourceGroupLocation')]",
      "resources": [
        {
          "type": "firewallrules",
          "apiVersion": "[variables('dbApiVersion')]",
          "properties": {
            "endIpAddress": "0.0.0.0",
            "startIpAddress": "0.0.0.0"
          },
          "name": "AllowAllWindowsAzureIps",
          "dependsOn": [
            "[resourceId('Microsoft.Sql/servers', variables('dbServerNameTidy'))]"
          ]
        },
        {
          "type": "databases",
          "apiVersion": "[variables('dbApiVersion')]",
          "properties": {
            "edition": "[parameters('dbEdition')]",
            "collation": "[parameters('dbCollation')]",
            "maxSizeBytes": "[parameters('dbMaxSize')]",
            "requestedServiceObjectiveId": "[parameters('dbServiceObjectiveLevel')]"
          },
          "name": "[variables('webDbNameTidy')]",
          "location": "[variables('resourceGroupLocation')]",
          "dependsOn": [
            "[resourceId('Microsoft.Sql/servers', variables('dbServerNameTidy'))]"
          ],
          "resources": [
            {
              "type": "extensions",
              "apiVersion": "[variables('dbApiVersion')]",
              "properties": {
                "operationMode": "Import",
                "storageKey": "[parameters('bacpacStorageKey')]",
                "storageKeyType": "Primary",
                "administratorLogin": "[parameters('dbLogin')]",
                "administratorLoginPassword": "[parameters('dbPassword')]",
                "storageUri": "[parameters('masterBacpacUrl')]"
              },
              "name": "Import",
              "dependsOn": [
                "[resourceId('Microsoft.Sql/servers/databases', variables('dbServerNameTidy'), variables('masterDbNameTidy'))]"
              ]
            }
          ]
        }
      ]
    }
  ]
}
{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "dbServerName": {
            "value": "<your DB Server Name>"
        },
        "dbLogin": {
            "value": "<Your DB server login name>"
        },
        "dbPassword": {
            "value": "<Your DB server login password>"
        },
        "bacpacStorageKey": {
            "value": "<Your Azure Storage Account Primary key which stores the bacpac blob>"
        },
        "masterDbName": {
            "value": "<your Azure Sql Db name>"
        },
        "masterBacpacUrl": {
            "value": "<Your Azure storage account Bacpac blob file full Url>"
        }
    }
}
Azure SQL数据库导入的ARM模板json示例如下:

Login-AzureRmAccount

$tenantId = "your_tenant_id"
$subscriptionId = "your_subscription_id"

$rgName = "your_rg_name"
$location = "your_location"
$templateFile = "YourARMTemplate.json"
$templateParamFile = "YourARMTemplate.Parameters.json"

Set-AzureRmContext -SubscriptionId $subscriptionId -TenantId $tenantId

New-AzureRmResourceGroup -Location $location -Name $rgName -Force

$deployment = New-AzureRmResourceGroupDeployment -ResourceGroupName $rgName -TemplateFile $templateFile -TemplateParameterFile $templateParamFile -Mode Incremental -Force
{
  "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "variables": {
    "dbApiVersion": "2014-04-01-preview",
    "resourceGroupLocation": "[resourceGroup().location]",
    "dbServerNameTidy": "[toLower(trim(parameters('dbServerName')))]",
    "masterDbNameTidy": "[toLower(trim(parameters('masterDbName')))]"
  },
  "parameters": {
    "dbServerName": {
      "type": "string"
    },
    "dbLogin": {
      "type": "string"
    },
    "dbPassword": {
      "type": "string"
    },
    "dbServerVersion": {
      "type": "string",
      "defaultValue": "12.0"
    },
    "dbCollation": {
      "type": "string",
      "defaultValue": "SQL_Latin1_General_CP1_CI_AS"
    },
    "dbEdition": {
      "type": "string",
      "defaultValue": "Standard"
    },
    "dbMaxSize": {
      "type": "string",
      "defaultValue": "10737418240"
    },
    "dbServiceObjectiveLevel": {
      "type": "string",
      "defaultValue": "455330E1-00CD-488B-B5FA-177C226F28B7"
    },
    "bacpacStorageKey": {
      "type": "string"
    },
    "masterDbName": {
      "type": "string"
    },
    "masterBacpacUrl": {
      "type": "string"
    },
  },
  "resources": [
    {
      "type": "Microsoft.Sql/servers",
      "apiVersion": "[variables('dbApiVersion')]",
      "properties": {
        "administratorLogin": "[parameters('dbLogin')]",
        "administratorLoginPassword": "[parameters('dbPassword')]",
        "version": "[parameters('dbServerVersion')]"
      },
      "name": "[variables('dbServerNameTidy')]",
      "location": "[variables('resourceGroupLocation')]",
      "resources": [
        {
          "type": "firewallrules",
          "apiVersion": "[variables('dbApiVersion')]",
          "properties": {
            "endIpAddress": "0.0.0.0",
            "startIpAddress": "0.0.0.0"
          },
          "name": "AllowAllWindowsAzureIps",
          "dependsOn": [
            "[resourceId('Microsoft.Sql/servers', variables('dbServerNameTidy'))]"
          ]
        },
        {
          "type": "databases",
          "apiVersion": "[variables('dbApiVersion')]",
          "properties": {
            "edition": "[parameters('dbEdition')]",
            "collation": "[parameters('dbCollation')]",
            "maxSizeBytes": "[parameters('dbMaxSize')]",
            "requestedServiceObjectiveId": "[parameters('dbServiceObjectiveLevel')]"
          },
          "name": "[variables('webDbNameTidy')]",
          "location": "[variables('resourceGroupLocation')]",
          "dependsOn": [
            "[resourceId('Microsoft.Sql/servers', variables('dbServerNameTidy'))]"
          ],
          "resources": [
            {
              "type": "extensions",
              "apiVersion": "[variables('dbApiVersion')]",
              "properties": {
                "operationMode": "Import",
                "storageKey": "[parameters('bacpacStorageKey')]",
                "storageKeyType": "Primary",
                "administratorLogin": "[parameters('dbLogin')]",
                "administratorLoginPassword": "[parameters('dbPassword')]",
                "storageUri": "[parameters('masterBacpacUrl')]"
              },
              "name": "Import",
              "dependsOn": [
                "[resourceId('Microsoft.Sql/servers/databases', variables('dbServerNameTidy'), variables('masterDbNameTidy'))]"
              ]
            }
          ]
        }
      ]
    }
  ]
}
{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "dbServerName": {
            "value": "<your DB Server Name>"
        },
        "dbLogin": {
            "value": "<Your DB server login name>"
        },
        "dbPassword": {
            "value": "<Your DB server login password>"
        },
        "bacpacStorageKey": {
            "value": "<Your Azure Storage Account Primary key which stores the bacpac blob>"
        },
        "masterDbName": {
            "value": "<your Azure Sql Db name>"
        },
        "masterBacpacUrl": {
            "value": "<Your Azure storage account Bacpac blob file full Url>"
        }
    }
}
Azure SQL数据库导入的示例ARM模板参数json如下所示:

Login-AzureRmAccount

$tenantId = "your_tenant_id"
$subscriptionId = "your_subscription_id"

$rgName = "your_rg_name"
$location = "your_location"
$templateFile = "YourARMTemplate.json"
$templateParamFile = "YourARMTemplate.Parameters.json"

Set-AzureRmContext -SubscriptionId $subscriptionId -TenantId $tenantId

New-AzureRmResourceGroup -Location $location -Name $rgName -Force

$deployment = New-AzureRmResourceGroupDeployment -ResourceGroupName $rgName -TemplateFile $templateFile -TemplateParameterFile $templateParamFile -Mode Incremental -Force
{
  "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "variables": {
    "dbApiVersion": "2014-04-01-preview",
    "resourceGroupLocation": "[resourceGroup().location]",
    "dbServerNameTidy": "[toLower(trim(parameters('dbServerName')))]",
    "masterDbNameTidy": "[toLower(trim(parameters('masterDbName')))]"
  },
  "parameters": {
    "dbServerName": {
      "type": "string"
    },
    "dbLogin": {
      "type": "string"
    },
    "dbPassword": {
      "type": "string"
    },
    "dbServerVersion": {
      "type": "string",
      "defaultValue": "12.0"
    },
    "dbCollation": {
      "type": "string",
      "defaultValue": "SQL_Latin1_General_CP1_CI_AS"
    },
    "dbEdition": {
      "type": "string",
      "defaultValue": "Standard"
    },
    "dbMaxSize": {
      "type": "string",
      "defaultValue": "10737418240"
    },
    "dbServiceObjectiveLevel": {
      "type": "string",
      "defaultValue": "455330E1-00CD-488B-B5FA-177C226F28B7"
    },
    "bacpacStorageKey": {
      "type": "string"
    },
    "masterDbName": {
      "type": "string"
    },
    "masterBacpacUrl": {
      "type": "string"
    },
  },
  "resources": [
    {
      "type": "Microsoft.Sql/servers",
      "apiVersion": "[variables('dbApiVersion')]",
      "properties": {
        "administratorLogin": "[parameters('dbLogin')]",
        "administratorLoginPassword": "[parameters('dbPassword')]",
        "version": "[parameters('dbServerVersion')]"
      },
      "name": "[variables('dbServerNameTidy')]",
      "location": "[variables('resourceGroupLocation')]",
      "resources": [
        {
          "type": "firewallrules",
          "apiVersion": "[variables('dbApiVersion')]",
          "properties": {
            "endIpAddress": "0.0.0.0",
            "startIpAddress": "0.0.0.0"
          },
          "name": "AllowAllWindowsAzureIps",
          "dependsOn": [
            "[resourceId('Microsoft.Sql/servers', variables('dbServerNameTidy'))]"
          ]
        },
        {
          "type": "databases",
          "apiVersion": "[variables('dbApiVersion')]",
          "properties": {
            "edition": "[parameters('dbEdition')]",
            "collation": "[parameters('dbCollation')]",
            "maxSizeBytes": "[parameters('dbMaxSize')]",
            "requestedServiceObjectiveId": "[parameters('dbServiceObjectiveLevel')]"
          },
          "name": "[variables('webDbNameTidy')]",
          "location": "[variables('resourceGroupLocation')]",
          "dependsOn": [
            "[resourceId('Microsoft.Sql/servers', variables('dbServerNameTidy'))]"
          ],
          "resources": [
            {
              "type": "extensions",
              "apiVersion": "[variables('dbApiVersion')]",
              "properties": {
                "operationMode": "Import",
                "storageKey": "[parameters('bacpacStorageKey')]",
                "storageKeyType": "Primary",
                "administratorLogin": "[parameters('dbLogin')]",
                "administratorLoginPassword": "[parameters('dbPassword')]",
                "storageUri": "[parameters('masterBacpacUrl')]"
              },
              "name": "Import",
              "dependsOn": [
                "[resourceId('Microsoft.Sql/servers/databases', variables('dbServerNameTidy'), variables('masterDbNameTidy'))]"
              ]
            }
          ]
        }
      ]
    }
  ]
}
{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "dbServerName": {
            "value": "<your DB Server Name>"
        },
        "dbLogin": {
            "value": "<Your DB server login name>"
        },
        "dbPassword": {
            "value": "<Your DB server login password>"
        },
        "bacpacStorageKey": {
            "value": "<Your Azure Storage Account Primary key which stores the bacpac blob>"
        },
        "masterDbName": {
            "value": "<your Azure Sql Db name>"
        },
        "masterBacpacUrl": {
            "value": "<Your Azure storage account Bacpac blob file full Url>"
        }
    }
}
{
“$schema”:”https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
“内容版本”:“1.0.0.0”,
“参数”:{
“dbServerName”:{
“值”:”
},
“dbLogin”:{
“值”:”
},
“dbPassword”:{
“值”:”
},
“bacpacStorageKey”:{
“值”:”
},
“masterDbName”:{
“值”:”
},
“masterBacpacUrl”:{
“值”:”
}
}
}

希望这能有所帮助并澄清。

目前,最新的
Microsoft Azure PowerShell-2016年1月(1.1版)
的Azure RM模块没有任何 可以像Azure服务管理的cmdlet一样支持Azure SQL数据库导入,即
启动AzureSqlDatabaseImport

但是,在Azure资源管理器(ARM)上下文中有一种解决方法可以实现这一点

解决方法是使用包含数据库导入资源类型的用户定义的ARM模板进行Azure资源组模板部署

建议的解决方案包括示例PowerShell脚本、示例ARM模板json和示例ARM模板参数json,如下所示:

PowerShell示例代码如下所示:

Login-AzureRmAccount

$tenantId = "your_tenant_id"
$subscriptionId = "your_subscription_id"

$rgName = "your_rg_name"
$location = "your_location"
$templateFile = "YourARMTemplate.json"
$templateParamFile = "YourARMTemplate.Parameters.json"

Set-AzureRmContext -SubscriptionId $subscriptionId -TenantId $tenantId

New-AzureRmResourceGroup -Location $location -Name $rgName -Force

$deployment = New-AzureRmResourceGroupDeployment -ResourceGroupName $rgName -TemplateFile $templateFile -TemplateParameterFile $templateParamFile -Mode Incremental -Force
{
  "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "variables": {
    "dbApiVersion": "2014-04-01-preview",
    "resourceGroupLocation": "[resourceGroup().location]",
    "dbServerNameTidy": "[toLower(trim(parameters('dbServerName')))]",
    "masterDbNameTidy": "[toLower(trim(parameters('masterDbName')))]"
  },
  "parameters": {
    "dbServerName": {
      "type": "string"
    },
    "dbLogin": {
      "type": "string"
    },
    "dbPassword": {
      "type": "string"
    },
    "dbServerVersion": {
      "type": "string",
      "defaultValue": "12.0"
    },
    "dbCollation": {
      "type": "string",
      "defaultValue": "SQL_Latin1_General_CP1_CI_AS"
    },
    "dbEdition": {
      "type": "string",
      "defaultValue": "Standard"
    },
    "dbMaxSize": {
      "type": "string",
      "defaultValue": "10737418240"
    },
    "dbServiceObjectiveLevel": {
      "type": "string",
      "defaultValue": "455330E1-00CD-488B-B5FA-177C226F28B7"
    },
    "bacpacStorageKey": {
      "type": "string"
    },
    "masterDbName": {
      "type": "string"
    },
    "masterBacpacUrl": {
      "type": "string"
    },
  },
  "resources": [
    {
      "type": "Microsoft.Sql/servers",
      "apiVersion": "[variables('dbApiVersion')]",
      "properties": {
        "administratorLogin": "[parameters('dbLogin')]",
        "administratorLoginPassword": "[parameters('dbPassword')]",
        "version": "[parameters('dbServerVersion')]"
      },
      "name": "[variables('dbServerNameTidy')]",
      "location": "[variables('resourceGroupLocation')]",
      "resources": [
        {
          "type": "firewallrules",
          "apiVersion": "[variables('dbApiVersion')]",
          "properties": {
            "endIpAddress": "0.0.0.0",
            "startIpAddress": "0.0.0.0"
          },
          "name": "AllowAllWindowsAzureIps",
          "dependsOn": [
            "[resourceId('Microsoft.Sql/servers', variables('dbServerNameTidy'))]"
          ]
        },
        {
          "type": "databases",
          "apiVersion": "[variables('dbApiVersion')]",
          "properties": {
            "edition": "[parameters('dbEdition')]",
            "collation": "[parameters('dbCollation')]",
            "maxSizeBytes": "[parameters('dbMaxSize')]",
            "requestedServiceObjectiveId": "[parameters('dbServiceObjectiveLevel')]"
          },
          "name": "[variables('webDbNameTidy')]",
          "location": "[variables('resourceGroupLocation')]",
          "dependsOn": [
            "[resourceId('Microsoft.Sql/servers', variables('dbServerNameTidy'))]"
          ],
          "resources": [
            {
              "type": "extensions",
              "apiVersion": "[variables('dbApiVersion')]",
              "properties": {
                "operationMode": "Import",
                "storageKey": "[parameters('bacpacStorageKey')]",
                "storageKeyType": "Primary",
                "administratorLogin": "[parameters('dbLogin')]",
                "administratorLoginPassword": "[parameters('dbPassword')]",
                "storageUri": "[parameters('masterBacpacUrl')]"
              },
              "name": "Import",
              "dependsOn": [
                "[resourceId('Microsoft.Sql/servers/databases', variables('dbServerNameTidy'), variables('masterDbNameTidy'))]"
              ]
            }
          ]
        }
      ]
    }
  ]
}
{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "dbServerName": {
            "value": "<your DB Server Name>"
        },
        "dbLogin": {
            "value": "<Your DB server login name>"
        },
        "dbPassword": {
            "value": "<Your DB server login password>"
        },
        "bacpacStorageKey": {
            "value": "<Your Azure Storage Account Primary key which stores the bacpac blob>"
        },
        "masterDbName": {
            "value": "<your Azure Sql Db name>"
        },
        "masterBacpacUrl": {
            "value": "<Your Azure storage account Bacpac blob file full Url>"
        }
    }
}
Azure SQL数据库导入的ARM模板json示例如下:

Login-AzureRmAccount

$tenantId = "your_tenant_id"
$subscriptionId = "your_subscription_id"

$rgName = "your_rg_name"
$location = "your_location"
$templateFile = "YourARMTemplate.json"
$templateParamFile = "YourARMTemplate.Parameters.json"

Set-AzureRmContext -SubscriptionId $subscriptionId -TenantId $tenantId

New-AzureRmResourceGroup -Location $location -Name $rgName -Force

$deployment = New-AzureRmResourceGroupDeployment -ResourceGroupName $rgName -TemplateFile $templateFile -TemplateParameterFile $templateParamFile -Mode Incremental -Force
{
  "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "variables": {
    "dbApiVersion": "2014-04-01-preview",
    "resourceGroupLocation": "[resourceGroup().location]",
    "dbServerNameTidy": "[toLower(trim(parameters('dbServerName')))]",
    "masterDbNameTidy": "[toLower(trim(parameters('masterDbName')))]"
  },
  "parameters": {
    "dbServerName": {
      "type": "string"
    },
    "dbLogin": {
      "type": "string"
    },
    "dbPassword": {
      "type": "string"
    },
    "dbServerVersion": {
      "type": "string",
      "defaultValue": "12.0"
    },
    "dbCollation": {
      "type": "string",
      "defaultValue": "SQL_Latin1_General_CP1_CI_AS"
    },
    "dbEdition": {
      "type": "string",
      "defaultValue": "Standard"
    },
    "dbMaxSize": {
      "type": "string",
      "defaultValue": "10737418240"
    },
    "dbServiceObjectiveLevel": {
      "type": "string",
      "defaultValue": "455330E1-00CD-488B-B5FA-177C226F28B7"
    },
    "bacpacStorageKey": {
      "type": "string"
    },
    "masterDbName": {
      "type": "string"
    },
    "masterBacpacUrl": {
      "type": "string"
    },
  },
  "resources": [
    {
      "type": "Microsoft.Sql/servers",
      "apiVersion": "[variables('dbApiVersion')]",
      "properties": {
        "administratorLogin": "[parameters('dbLogin')]",
        "administratorLoginPassword": "[parameters('dbPassword')]",
        "version": "[parameters('dbServerVersion')]"
      },
      "name": "[variables('dbServerNameTidy')]",
      "location": "[variables('resourceGroupLocation')]",
      "resources": [
        {
          "type": "firewallrules",
          "apiVersion": "[variables('dbApiVersion')]",
          "properties": {
            "endIpAddress": "0.0.0.0",
            "startIpAddress": "0.0.0.0"
          },
          "name": "AllowAllWindowsAzureIps",
          "dependsOn": [
            "[resourceId('Microsoft.Sql/servers', variables('dbServerNameTidy'))]"
          ]
        },
        {
          "type": "databases",
          "apiVersion": "[variables('dbApiVersion')]",
          "properties": {
            "edition": "[parameters('dbEdition')]",
            "collation": "[parameters('dbCollation')]",
            "maxSizeBytes": "[parameters('dbMaxSize')]",
            "requestedServiceObjectiveId": "[parameters('dbServiceObjectiveLevel')]"
          },
          "name": "[variables('webDbNameTidy')]",
          "location": "[variables('resourceGroupLocation')]",
          "dependsOn": [
            "[resourceId('Microsoft.Sql/servers', variables('dbServerNameTidy'))]"
          ],
          "resources": [
            {
              "type": "extensions",
              "apiVersion": "[variables('dbApiVersion')]",
              "properties": {
                "operationMode": "Import",
                "storageKey": "[parameters('bacpacStorageKey')]",
                "storageKeyType": "Primary",
                "administratorLogin": "[parameters('dbLogin')]",
                "administratorLoginPassword": "[parameters('dbPassword')]",
                "storageUri": "[parameters('masterBacpacUrl')]"
              },
              "name": "Import",
              "dependsOn": [
                "[resourceId('Microsoft.Sql/servers/databases', variables('dbServerNameTidy'), variables('masterDbNameTidy'))]"
              ]
            }
          ]
        }
      ]
    }
  ]
}
{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "dbServerName": {
            "value": "<your DB Server Name>"
        },
        "dbLogin": {
            "value": "<Your DB server login name>"
        },
        "dbPassword": {
            "value": "<Your DB server login password>"
        },
        "bacpacStorageKey": {
            "value": "<Your Azure Storage Account Primary key which stores the bacpac blob>"
        },
        "masterDbName": {
            "value": "<your Azure Sql Db name>"
        },
        "masterBacpacUrl": {
            "value": "<Your Azure storage account Bacpac blob file full Url>"
        }
    }
}
Azure SQL数据库导入的示例ARM模板参数json如下所示:

Login-AzureRmAccount

$tenantId = "your_tenant_id"
$subscriptionId = "your_subscription_id"

$rgName = "your_rg_name"
$location = "your_location"
$templateFile = "YourARMTemplate.json"
$templateParamFile = "YourARMTemplate.Parameters.json"

Set-AzureRmContext -SubscriptionId $subscriptionId -TenantId $tenantId

New-AzureRmResourceGroup -Location $location -Name $rgName -Force

$deployment = New-AzureRmResourceGroupDeployment -ResourceGroupName $rgName -TemplateFile $templateFile -TemplateParameterFile $templateParamFile -Mode Incremental -Force
{
  "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "variables": {
    "dbApiVersion": "2014-04-01-preview",
    "resourceGroupLocation": "[resourceGroup().location]",
    "dbServerNameTidy": "[toLower(trim(parameters('dbServerName')))]",
    "masterDbNameTidy": "[toLower(trim(parameters('masterDbName')))]"
  },
  "parameters": {
    "dbServerName": {
      "type": "string"
    },
    "dbLogin": {
      "type": "string"
    },
    "dbPassword": {
      "type": "string"
    },
    "dbServerVersion": {
      "type": "string",
      "defaultValue": "12.0"
    },
    "dbCollation": {
      "type": "string",
      "defaultValue": "SQL_Latin1_General_CP1_CI_AS"
    },
    "dbEdition": {
      "type": "string",
      "defaultValue": "Standard"
    },
    "dbMaxSize": {
      "type": "string",
      "defaultValue": "10737418240"
    },
    "dbServiceObjectiveLevel": {
      "type": "string",
      "defaultValue": "455330E1-00CD-488B-B5FA-177C226F28B7"
    },
    "bacpacStorageKey": {
      "type": "string"
    },
    "masterDbName": {
      "type": "string"
    },
    "masterBacpacUrl": {
      "type": "string"
    },
  },
  "resources": [
    {
      "type": "Microsoft.Sql/servers",
      "apiVersion": "[variables('dbApiVersion')]",
      "properties": {
        "administratorLogin": "[parameters('dbLogin')]",
        "administratorLoginPassword": "[parameters('dbPassword')]",
        "version": "[parameters('dbServerVersion')]"
      },
      "name": "[variables('dbServerNameTidy')]",
      "location": "[variables('resourceGroupLocation')]",
      "resources": [
        {
          "type": "firewallrules",
          "apiVersion": "[variables('dbApiVersion')]",
          "properties": {
            "endIpAddress": "0.0.0.0",
            "startIpAddress": "0.0.0.0"
          },
          "name": "AllowAllWindowsAzureIps",
          "dependsOn": [
            "[resourceId('Microsoft.Sql/servers', variables('dbServerNameTidy'))]"
          ]
        },
        {
          "type": "databases",
          "apiVersion": "[variables('dbApiVersion')]",
          "properties": {
            "edition": "[parameters('dbEdition')]",
            "collation": "[parameters('dbCollation')]",
            "maxSizeBytes": "[parameters('dbMaxSize')]",
            "requestedServiceObjectiveId": "[parameters('dbServiceObjectiveLevel')]"
          },
          "name": "[variables('webDbNameTidy')]",
          "location": "[variables('resourceGroupLocation')]",
          "dependsOn": [
            "[resourceId('Microsoft.Sql/servers', variables('dbServerNameTidy'))]"
          ],
          "resources": [
            {
              "type": "extensions",
              "apiVersion": "[variables('dbApiVersion')]",
              "properties": {
                "operationMode": "Import",
                "storageKey": "[parameters('bacpacStorageKey')]",
                "storageKeyType": "Primary",
                "administratorLogin": "[parameters('dbLogin')]",
                "administratorLoginPassword": "[parameters('dbPassword')]",
                "storageUri": "[parameters('masterBacpacUrl')]"
              },
              "name": "Import",
              "dependsOn": [
                "[resourceId('Microsoft.Sql/servers/databases', variables('dbServerNameTidy'), variables('masterDbNameTidy'))]"
              ]
            }
          ]
        }
      ]
    }
  ]
}
{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "dbServerName": {
            "value": "<your DB Server Name>"
        },
        "dbLogin": {
            "value": "<Your DB server login name>"
        },
        "dbPassword": {
            "value": "<Your DB server login password>"
        },
        "bacpacStorageKey": {
            "value": "<Your Azure Storage Account Primary key which stores the bacpac blob>"
        },
        "masterDbName": {
            "value": "<your Azure Sql Db name>"
        },
        "masterBacpacUrl": {
            "value": "<Your Azure storage account Bacpac blob file full Url>"
        }
    }
}
{
“$schema”:”https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
“内容版本”:“1.0.0.0”,
“参数”:{
“dbServerName”:{
“值”:”
},
“dbLogin”:{
“值”:”
},
“dbPassword”:{
“值”:”
},
“bacpacStorageKey”:{
“值”:”
},
“masterDbName”:{
“值”:”
},
“masterBacpacUrl”:{
“值”:”
}
}
}

希望这能有所帮助并澄清。

迈克尔,您好,您是否正在使用ARM模板可接受的ARM Azure Rm cmdlet?@juvchan理想的方法是找到一个Powershell命令来实现这一点。然而目前(从AzureRM.v1.1.0开始),我怀疑这是不可能的,但希望在未来的版本中成为可能。因此,在此期间,模板可能是唯一的前进方向。是的,我同意你的看法,这就是为什么对于Rm上下文,当前的解决方法是使用ARM模板。您是否需要ARM模板和AzureRm PowerShell cmdlet来实现这一点,以获得您可接受的答案或其他答案?@juvchan我主要发布这类问题,因为答案不存在于网上,因此如果您可以发布一个答案,供将来偶然发现它的人广泛理解。嗨,Michael,使用ARM模板的ARM Azure Rm cmdlet是否适合您?@juvchan理想的方法是找到一个Powershell命令来实现这一点。然而目前(从AzureRM.v1.1.0开始),我怀疑这是不可能的,但希望在未来的版本中成为可能。因此,在此期间,模板可能是唯一的前进方向。是的,我同意你的看法,这就是为什么对于Rm上下文,当前的解决方法是使用ARM模板。您是否需要ARM模板和AzureRm PowerShell cmdlet来为您或其他人提供可接受的答案?@juvchan我主要发布这类问题,因为答案不存在于网上,因此如果您可以发布一个答案,供将来偶然发现它的人广泛理解。这是一个很好的答案!非常感谢。我想知道是否可以在
新AzureRmResource
PropertyObject中使用其中的一个片段。虽然(这样就可以通过模板进行恢复)Juv,但这是非常有用的信息。我打算把bacpac放入一个公共容器中。模板在没有storagekey和storagetype属性的情况下失败,如果我将storagekey设置为“匿名”,它也会失败。你知道我的案子的解决方案吗?你好,JonathanGao,非常感谢你的夸奖。你能在这个问题上提出一个新的问题,这样它也有利于其他社区成员吗?我已经找到了解决问题的方法。我提出了一个新问题,这是一个很好的答案!非常感谢。我想知道是否有可能在新的AzureRmResource中使用其中的一个片段