【问题标题】:Saving and accessing SQL databases in Azure?在 Azure 中保存和访问 SQL 数据库?
【发布时间】:2014-02-05 15:18:24
【问题描述】:

我的一个朋友在她的 Azure 帐户上有 3 个小型 SQL 数据库,她让我为她下载。我说没问题……认为她有一个运行 SQL Server 的 VM,我可以 RDC 进入并获取所有内容……没有这样的运气,也没有 FTP 访问权限。

我已完成导出,但不知道如何下载 .bacpac 文件。

我已通过管理门户登录 - 但那里没有导出/下载任何内容的选项。

有人能告诉我保存这些数据库的最佳、最简单的方法吗?有没有简单的方法可以下载它们?如果我在她的帐户中配置 VM 可以通过这种方式访问​​它们吗?有没有办法可以将它们转移到我的帐户?

我对 Blob 存储和容器管理知之甚少 - 我看过一些说明,但对于我来说,下载 .bacpac 文件似乎很复杂,所以我假设我遗漏了一些东西。

任何帮助或想法都会很棒!

谢谢...

罗伯

【问题讨论】:

标签: sql sql-server azure backup


【解决方案1】:

这里有一个解决您问题的方法。

在您的本地数据库和 SQL AZURE 之间使用链接服务器连接。

http://blogs.msdn.com/b/windowsazure/archive/2012/09/19/announcing-updates-to-windows-azure-sql-database.aspx

步骤快速列表。

1 - 链接到 SQL Azure 数据库。

2 - 编写对象。

http://craftydba.com/?p=4827

在我的博客上查看如何通过 SSMS 管理 Azure。下到一半,右键表格,脚本为Create。

http://blogs.msdn.com/b/sqlazure/archive/2010/05/24/10014071.aspx

如何编写整个数据库的脚本。

3 - 使用步骤 2 中的脚本在本地创建镜像数据库。

4 - 创建到 AZURE 数据库的链接服务器。

http://msdn.microsoft.com/en-us/library/aa560998.aspx

5 - 插入选择 * FROM

http://technet.microsoft.com/en-us/library/ms174335.aspx

为什么 select * into 在 Azure 中不起作用。可能与链接服务器一起使用。没试过。

http://blogs.msdn.com/b/windowsazure/archive/2010/05/04/select-into-with-sql-azure.aspx

6 - 注意标识列上的主键等约束。您必须启用身份插入。其他约束,你可以禁用。

7 - 通过检查重新启用约束。

同样,整个过程假设您没有大量数据。如果这样做,您可能需要考虑使用 ETL 工具,例如 SSIS。

【讨论】:

  • 感谢您抽出宝贵时间!但是,不幸的是,您在“脚本输出对象”中迷失了我……。实际上,我什至不知道如何链接到 SQL Azure DB。
  • 我会放链接供你研究。您将不得不自己做一些阅读!
  • 谢谢!我完全不介意阅读/学习 :) 但为了澄清,我只需要将 .bacpac 文件下载到我的家庭系统,这样我就可以将它上传到我在不同 Azure 帐户上的 VM。我将开始阅读 - 再次感谢! - 罗伯
  • 嘿狡猾,感谢您的帮助!我还没有通读它,但我能够使用其他解决方案下载文件 - 这对我微薄的大脑来说更容易。很棒的博客顺便说一句-希望我能充分利用这一切……再次感谢……Rob
  • 别担心,备份是最好的选择。还有 Microsoft Sync,但这比这里的两个解决方案更具技术性。我无法提出其他解决方案,因为我不再使用 Azure 客户端。
【解决方案2】:

您可以使用 XDrive 等实用程序将 Azure Page Blob 装载为 NTFS 驱动器。我正在尝试使用“Azure 存储资源管理器”来做同样的事情,但它不允许我访问 VHDS 文件中的文件(我认为它应该)。 XDrive 应该允许在 Windows 资源管理器中映射驱动器类型。

将数据库备份到虚拟机上的辅助硬盘。下载、安装和配置 XDrive 以指向该硬盘。抓住备份。瞧!请注意,XDrive 限制对分布式环境的读/写访问,因此这只能用作非分布式环境(即负载平衡)的临时解决方案,否则您可能会中断生产用户。

XDrive:http://blog.maartenballiauw.be/post/2010/02/02/Using-Windows-Azure-Drive-%28aka-X-Drive%29.aspx

更新:

  1. http://azurestorageexplorer.codeplex.com/下载“Azure Storage Explorer”

  2. 在 Azure 门户中,单击要导出的数据库,然后在仪表板选项卡中,有一个“导出”按钮。这将创建一个 bacpac 文件。

  3. 选择一个存储帐户(记住您选择的那个,因为您以后必须访问它)。

  4. 对于容器,创建一个名为“DB Storage”或类似名称的新容器。您将需要服务器凭据来执行导出。

  5. 导出完成后,打开“Azure 存储资源管理器”并添加您放置备份的存储帐户。您将需要存储帐户名称和主键(两者都可以从 Azure 门户中提取) .我必须使用“HTTPS”选项,但你可能会也可能不会。

  6. 帐户进入资源管理器后,您应该会在左侧窗格中看到您在前面的步骤中创建的新容器。单击它应该会在中间窗格中拉出您的 bacpac 文件。

  7. 突出显示 bacpac 文件并选择下载。

这有点痛苦,因为您必须安装资源管理器实用程序,但完成后,这真的很容易。

让我知道这是否有效。

【讨论】:

  • 嘿,再次感谢您的建议,但没有虚拟机,即使我创建了一个,我如何将数据库备份到高清?这正是我想要做的……但这似乎需要大量工作才能从一个 Azure 帐户获取 .bacpac 文件并转移到另一个帐户。有没有办法只下载 .bacpac 文件?
  • 对不起,我误会了。我认为问题在于数据库位于 VM blob 上。这意味着您的解决方案很简单!
  • 好了,我更新了原来的解决方案。让我知道这是否有效。
  • 嘿尼克 - 工作完美!在我所有的搜索中,我什至从未提到 Azurestorageexplorer……非常感谢!现在,您不会碰巧知道是否有从 Azure 导出网站的方法吧? :)
  • 我不知道如何导出网站,对不起老兄。很高兴听到你能弄清楚这一点。您可以将此标记为已回答吗? :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-12
  • 1970-01-01
  • 2013-10-15
  • 1970-01-01
相关资源
最近更新 更多