我正在尝试创建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的云上:
如何导出数据库的.bacpac文件?
答案 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“。
编辑(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数据库。