我在使用Azure的弹性池功能时遇到了一些麻烦。现在,我有一个带有大量数据库的SQL服务器,我想将它存储在弹性池中以降低成本。我的问题是,现在,一切都以非常具体,不可协商的方式部署。资源组,存储帐户和SQL服务器随ARM模板一起提升,数据库通过VSTS中的Microsoft Azure SQL Database Deployment功能添加到服务器中。我所做的一切都应该自动进行灾难恢复。
有没有办法在创建时配置服务器,所以一切都自动进入弹性池?有没有办法更改Azure SQL Database Deployment步骤,以便将数据库添加到池而不仅仅是服务器?
提前致谢。
编辑:我最终向VSTS添加了一个powershell任务,并运行了一个简单的json +脚本,该脚本接收了资源组,服务器名称,池名称和数据库名称,然后运行了Set-AzureRmSqlDatabase。
答案 0 :(得分:1)
您可以manage SQL Database elastic pools using PowerShell(例如,Set-AzureRmSqlDatabase:设置数据库的属性,或将现有数据库移入,移出弹性池或在弹性池之间移动。),这样您就可以尝试使用Azure PowerShell步骤/任务将数据库移动到弹性池。
关于ARM模板,您可以在azure portal中创建SQL数据库时获取它:
另一方面,有一篇关于模板的文章允许部署新的SQL弹性池及其新的关联SQL Server和要分配给它的新SQL数据库:Deploy a new SQL Elastic Pool
答案 1 :(得分:0)
我通过自定义构建步骤解决了这个问题。在json中包含必需的参数,并运行与
连接的powershell脚本Initialize-AzurePowershellSupport -ConnectedServiceName $ConnectedServiceName -ErrorAction SilentlyContinue
$subscription = (Get-AzureRmContext).Subscription.SubscriptionName #(Get-AzureRmContext).Subscription.SubscriptionName
然后使用Set-AzureRmSqlDatabase
将数据库移动到弹性池。