【问题标题】:Can't Export Data-tier Application for Azure无法为 Azure 导出数据层应用程序
【发布时间】:2014-04-18 20:23:32
【问题描述】:

我正在尝试为我的 SQL 2012 数据库创建一个 .bacpac 文件。

在 SSMS 2012 中,我右键单击我的数据库,转到任务,然后选择导出数据层应用程序。然后我点击下一步,它给了我这个错误:

Error SQL71564: Element Login: [myusername] has an unsupported property IsMappedToWindowsLogin set and is not supported when used as part of a data package.
 (Microsoft.SqlServer.Dac)

我正在尝试遵循本教程,以便可以将我的数据库放在 Azure 的云上:

http://blogs.msdn.com/b/brunoterkaly/archive/2013/09/26/how-to-export-an-on-premises-sql-server-database-to-windows-azure-storage.aspx

如何导出我的数据库的 .bacpac 文件?

【问题讨论】:

    标签: sql azure sql-server-2012 ssms-2012 bacpac


    【解决方案1】:

    自 2018 年 9 月起,有一个名为数据迁移助手的新工具可以帮助完成将现有本地 SQL Server 数据库迁移到 Azure 的任务。虽然该工具无法解决迁移 Windows 登录的问题,但它至少可以帮助您将数据库架构和数据迁移到 Azure。

    这里是该工具的概述:https://docs.microsoft.com/en-us/sql/dma/dma-overview?view=sql-server-2017

    您可以在此处下载数据迁移助手: https://www.microsoft.com/en-us/download/details.aspx?id=53595

    将数据库迁移到 Azure 后,您可以在 SQL Server 上配置 AD 管理员,然后在您的数据库中创建 contained users 以允许用户使用其 Windows 帐户登录您的 SQL 数据库。

    【讨论】:

      【解决方案2】:

      我发现下面引用的这篇文章似乎回答了我的问题。我想知道这是否是一种无需从本地数据库中删除用户的方法...

      "... 本地 SQL Server 中有一些功能不具备 SQL Azure 中支持。您需要先修改数据库 提取。 This article 和其他几个人列出了一些 不支持的功能。

      This blog 帖子解释了如何使用 SQL Server Data Tools 修改您的数据库以使其与 Azure 兼容。

      听起来您添加了聚集索引。根据消息 上面,看来您仍然需要解决 TextInRowSize 和 IsMappedToWindowsLogin。”

      参考。 http://social.msdn.microsoft.com/Forums/fr-FR/e82ac8ab-3386-4694-9577-b99956217780/aspnetdb-migration-error?forum=ssdsgetstarted

      编辑 (2018-08-23): 由于现有答案是 2014 年的,我想我会提供一个新的更新......微软现在提供 DMA(数据迁移助手)将 SQL Server 数据库迁移到 Azure SQL。

      您可以在此处了解更多信息并下载免费工具:https://docs.microsoft.com/en-us/azure/sql-database/sql-database-migrate-your-sql-server-database

      【讨论】:

        【解决方案3】:

        SQL Azure doesn't support windows authentication 所以我猜你需要确保你的数据库用户被映射到 SQL Server 身份验证登录。

        【讨论】:

        • 在这个问题上花了一整天。我所要做的就是从数据库中删除我的 Windows 身份验证用户并添加 SQL 身份验证登录。非常感谢!
        • 呃。为什么不只是一个 IGNORE 选项呢
        • 所以我不能导出一个本地数据库以在另一个本地数据库上使用,只是因为 Azure 不支持它?太白痴了。
        • 关于 vaindil 的回应...使用 sqlpackage.exe。 GUI 工具对此有很大的限制。您可以使用 sqlpackage.exe Extract/Publish 更轻松地使用本地数据库。 Sqlpackage 也支持 Export/Import bacpacs,但这会让你走上同样的道路。而是使用带有 /p:ExtractAllTableData=True 的提取/发布 dacpacs。
        猜你喜欢
        • 2014-12-22
        • 1970-01-01
        • 2015-10-20
        • 1970-01-01
        • 2022-06-14
        • 2012-02-29
        • 2018-10-28
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多