无法导出Azure的数据层应用程序

时间:2014-03-13 20:11:39

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

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

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

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文件?

3 个答案:

答案 0 :(得分:8)

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

答案 1 :(得分:6)

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

  

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

     

This blog帖子解释了如何使用SQL Server数据工具   修改您的数据库以使其符合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

答案 2 :(得分:1)

从9/2018开始,有一个名为Data Migration Assistant的新工具可以帮助完成将现有的内部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数据库。