SQL Server Management Studio 2012 - 将数据库部署到SQL Azure - SQL71501用户有一个未解析的Login参考

时间:2014-06-17 10:36:05

标签: sql-server azure ssms-2012

在尝试执行与部署到Azure / SSMS 2012中创建BACPAC相关的任何事情时,我遇到了数据库中3个用户(他们不是当前登录的用户)中的每个用户的错误

  

验证数据包的架构模型失败。错误   SQL71501:验证元素[VARIABLE_USER_NAME_HERE]时出错:用户:   [VARIABLE_USER_NAME_HERE]有一个未解析的Login参考   [VARIABLE_USER_NAME_HERE]。 (Microsoft.SqlServer.Dac)

任何线索?

1 个答案:

答案 0 :(得分:5)

这个问题确实有帮助: Can I ignore logins when publishing a Visual Studio Database project?

我意识到我登录(到我的本地数据库)的用户没有权限查看与错误消息中被抱怨的对等用户关联的登录的登录详细信息。用更简单的英语编写,并假设只有2个数据库用户(mr_spoon和mr_fork),错误消息的含义是"当前登录的用户[mr_spoon]可以看到有另一个用户名为&#34 ; mr_fork"但无法查看登录的详细信息[也称为" mr_fork"在这种情况下]与该用户相关联"

使用我的Windows管理员登录登录主数据库,然后运行此查询解决了它:

GRANT VIEW DEFINITION ON LOGIN::the_login_name_in_the_error_message TO the_user_i_logged_on_with_and_ran_the_export_from

i.e. admin should run this:
GRANT VIEW DEFINITION ON LOGIN::mr_fork TO mr_spoon

请注意,SQL Server权限系统支持用户和登录的概念,因此,当我指的是用户和登录我的意思是登录时,我希望能够非常小心地说出用户。为什么不从您可能会问的管理员登录中运行导出?能够做到这一点的机器既没有SSMS2012,也没有可能安装它,它是管理员登录工作的唯一机器。因此,我预计这个问题很少见但是也许有一天这会帮助某人

我以为我发布了Q& A,因为我看到的所有地方都只在SSDT的上下文中找到了对SQL71501的引用,而不是SSMS2012 / Azure部署