【问题标题】:Azure: How to move databases into Elastic PoolAzure:如何将数据库移动到弹性池中
【发布时间】:2016-05-20 16:22:42
【问题描述】:

我们在定价层中有几个数据库:BasicS0... 如下图所示:

这些数据库是在创建新的弹性池之前创建的。现在我们想将这些数据库移动到 Elastic Pool 中以节省成本。但似乎我不知道如何在 Azure 门户上移动它们。

【问题讨论】:

    标签: azure azure-sql-database


    【解决方案1】:

    如果不想阅读任何链接,请快速回答,您只需要询问 OP:

    1. 转到弹性池
    2. 选择配置(是的,在那里您可以选择扩展池)
    3. 在层规范后面有三个选项卡“池设置”、“数据库”和“每个数据库设置”。转到“数据库”。
    4. 只需在池中/从池中添加/删除数据库
    5. 不要忘记点击保存以应用您所做的所有更改。

    ⚠ 请记住,要添加到池中的所有数据库都应与池位于同一服务器中。

    【讨论】:

    • 这应该是公认的答案。浏览 MS 网站上的 10 页文档只是浪费时间……如果您只想将数据库移动到池中。
    • 此选项对我不可用(无法选择数据库)。也许这只有在数据库在同一台服务器上时才可用?
    • 嗯,这对我来说很有意义,我会更新答案的警告。应该是同一个服务器而不是同一个资源组。如果两者都在同一个服务器中,则必然也在同一个 RG 中。
    • 感谢您的出色回答,MS doc 很难理解。这应该是公认的答案!
    • 比接受的答案要好得多。接受的答案中的链接没有描述这一点。
    【解决方案2】:

    您可以在与数据库相同的服务器中创建弹性池,通过门户使用此处的说明 - https://azure.microsoft.com/en-us/documentation/articles/sql-database-elastic-pool-create-portal/

    创建池后,您可以使用此处的说明将现有数据库添加到池中 - https://docs.microsoft.com/en-us/azure/sql-database/sql-database-elastic-pool#manage-an-elastic-pool-and-its-databases

    如果您有任何其他问题,请在此处告诉我们。

    --srini

    【讨论】:

    • 搬家过程中是否有停机时间?
    • @TWilly:我相信(基于我自己的观察和猜测,所以请稍加考虑)将数据库移动到池中的操作与通常在服务层之间移动相同,所以有在现有连接被丢弃(我已经观察到这一点)并且新连接可能失败的过程结束时,这将是一个短暂的瞬间。更改池中的每个数据库设置不会产生此效果。我没有观察到池级别的变化,但我怀疑池中所有的人在最后阶段(类似于单个数据库移动)会有一个短暂的变化。
    • 锚似乎已经离开了大楼...#move-a-database-into-an-elastic-pool
    • 请阅读 gsubiran 提供的答案,这更有帮助。
    • 没有说明如何添加现有数据库。
    【解决方案3】:

    我的回答和 gsubiran 没有什么不同,我只是添加一些图片让人们的生活更轻松。

    【讨论】:

      【解决方案4】:

      我发现 Microsoft 页面不清楚将现有 Azure SQL 数据库移动到弹性池的实际步骤。

      我写这篇文章是为了解释这些步骤,如何将现有的数据库分配到池中(从弹性池端),并保留现有的 SQL Server 连接字符串。这对于避免重新编码和测试可能依赖于所移动数据库的所有应用程序至关重要。

      http://fmsinc.com/microsoft-azure/sql-server/pooled/index.htm

      请注意,池仅适用于一台服务器,因此您不能将多台服务器中的数据库合并到一个弹性池帐户中。

      希望这会有所帮助。

      【讨论】:

      • 这几乎是“仅链接”的答案。虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接答案可能会失效。见meta.stackexchange.com/q/8231
      • 我不明白你的评论。你想让我把论文的部分复制到这里吗?有很多与正确实施相关的问题。我看不出这如何适合一条评论。如果您能帮助我了解我应该将论文的哪一部分复制到此消息中,我可以这样做。谢谢。
      • 我做过,但不明白它是如何应用于这种情况的。也被你对这个词的使用弄糊涂了。你想让我从我在这里引用的页面中复制信息吗?
      【解决方案5】:

      通过 CLI 外壳

      echo "Creating $database in $pool..."
      az sql db create --resource-group $resource --server $server --name $database --elastic-pool $pool
      
      echo "Moving $database to $poolSecondary..." # create command updates an existing datatabase
      az sql db create --resource-group $resource --server $server --name $database --elastic-pool $poolSecondary
      

      【讨论】:

        猜你喜欢
        • 2020-10-16
        • 1970-01-01
        • 1970-01-01
        • 2020-02-12
        • 2021-12-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-06-30
        相关资源
        最近更新 更多