我正在尝试创建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文件?
SQL Azure doesn't support windows authentication所以我想你需要确保你的数据库用户被映射到SQL Server身份验证登录。
我发现下面引用的这篇文章似乎回答了我的问题。我想知道这是否是一种方法,而无需从我的本地数据库中删除我的用户...
“...... SQL Server中不支持SQL Server内部的一些功能。在解压缩之前,您需要修改数据库.This article和其他几个功能列出了一些不受支持的功能。
This blog帖子解释了如何使用SQL Server数据工具修改数据库以使其符合Azure。
听起来你添加了聚集索引。根据上面的消息,您似乎仍需要解决TextInRowSize和IsMappedToWindowsLogin。“
编辑(2018-08-23):由于现有答案来自2014年,我认为我将为它提供一个全新的更新... Microsoft现在提供DMA(数据迁移助手)将SQL Server数据库迁移到Azure SQL。
您可以在这里了解更多信息并下载免费工具:https://docs.microsoft.com/en-us/azure/sql-database/sql-database-migrate-your-sql-server-database
截至2014年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数据库。