如何更改sql azure服务器位置

时间:2011-11-08 11:56:23

标签: azure azure-sql-database

我想将现有的SQL Azure位置转移到其他位置,但我认为现在没有任何功能可以在Azure的管理门户上执行此操作。

我只是用Google搜索并发现一条链接http://social.msdn.microsoft.com/Forums/en-US/ssdsgetstarted/thread/e6c961cc-5eea-4f07-82c9-a8805d367b05,说我需要在Azure的门户网站中使用数据同步选项,但我的Azure门户网站中没有启用该功能。

此外,如果我使用该选项,是否有任何费用?最后,是否有其他选项可以移动SQL Azure位置?

4 个答案:

答案 0 :(得分:11)

将现有SQL Server数据库移动到Azure上的新区域,假设没有与数据库关联的Blob容器。如需进一步参考,请参阅:
https://azure.microsoft.com/en-us/blog/migrating-azure-services-to-new-regions/

  1. 如有必要,将数据库升级到其中一个Premium定价层
  2. 将地理复制添加到现有数据库。您可以选择要对现有数据库进行备份的区域。在您选择的目标区域中创建新的数据库服务器。我建议使用与现有sql数据库相同的管理员用户名和密码来配置新的数据库服务器。在创建辅助数据库时,我建议将辅助类型设置为“可读”,因为它允许您检查是否正确复制了所有数据和模式。
  3. 允许两个数据库同步时间。根据Microsoft AzureCAT的经验法则是:3 *(5分钟+数据库大小/ 150 MB /分钟)
  4. 配置辅助数据库的防火墙设置以允许必要的IP地址访问数据库
  5. 暂时关闭用户或应用程序访问现有数据库的任何内容。
  6. 从Azure门户中选择现有数据库,并将其地理复制角色从主要更改为次要。
  7. 运行任何依赖masterdb的ddl脚本(如ddl脚本)来重新创建用户和用户配置文件
  8. 更改任何应用程序的连接字符串以指向新数据库。
  9. 用户和应用程序现在可以连接到新数据库
  10. 您可以自行决定删除旧数据库作为备份,并添加任何新区域作为备份。
  11. 就收费而言,如果旧数据库尚未成为高级数据库,则会收取升级费用。创建地理复制数据库也会收费。但是,这些费用可以限制为一天到几天的费用(取决于地理复制需要多长时间)。新数据库启动并运行后,请尽快删除旧数据库以限制额外费用。最后,如果您将旧数据库的服务级别升级到高级层以促进地理复制,则您需要将新数据库降级到旧数据库的原始服务级别,以限制费用。

答案 1 :(得分:10)

我认为您可以使用新的导入/导出bacpac功能。我用它来在帐户之间移动数据库,但却无法理解为什么它在区域之间也不起作用。

See how here

答案 2 :(得分:1)

我不会使用DataSynch,因为它会在数据库中创建许多对象来执行同步(这是一种侵入式解决方案)。您确实可以尝试导入/导出功能;应该工作正常。您还可以下载Enzo备份工具的试用版,该工具提供30天免费试用:http://www.bluesyntax.net/backup.aspx。 [免责声明:我是这个工具的作者]

关于定价问题,您可能需要为从数据库中提取的数据付费。 “在”SQL Azure中移动数据现在是免费的。如果要将数据传输到其他数据中心,则需要为提取数据付费。美国和欧洲每GB 15美分,亚洲20美分。以下是定价详情:http://www.microsoft.com/windowsazure/pricing/

请记住,需要4GB存储空间的数据库并不意味着您拥有4GB的数据。有时索引会占用大量空间。要估计需要传输的数据大小,可以删除索引(稍等一下,使数据库大小缩小;数据库大小应大致等于数据传输需求),或者可以计算大小通过运行命令来运行表。以下是一篇文章的链接,该文章展示了如何执行类似的操作(使用SELECT语句查看第二个命令;只需为所有表运行它):http://www.sqldocumentor.com/table-size-in-sql-server-find-rows-and-disk-space-usage

答案 3 :(得分:1)

如果您能够暂时停止对数据库的写入,则可以使用Azure门户上的“复制”功能。

  1. 在您选择的区域中创建新的SQL Server。
  2. 将您的服务IP地址添加到新的SQL Server防火墙。
  3. 停止写入原始数据库。
  4. 在Azure门户中打开源数据库,然后单击刀片顶部的“复制”。
  5. 选择位于目标区域的新SQL服务器。
  6. 等待副本完成。
  7. 更新您的服务以指向目标数据库。
  8. 启用数据库写入。
  9. 验证一切正常。
  10. 删除原始数据库(如果是服务器上唯一的数据库,则删除服务器)。