如何在SQL Azure中将db_datareader添加到辅助节点

时间:2014-11-19 14:52:23

标签: sql-server database azure login

我们有一个配置了在线辅助的SQL Azure数据库。我想在辅助服务器上配置用户/登录以支持报告工作负载。为此,我做了以下事情:

  • 在两台名称相同的服务器上创建登录
  • 在主服务器上的数据库中创建了一个用户,该用户链接到登录
  • 已验证用户已复制到辅助
  • 使用Management Studio使用登录确认成功连接到主数据库并指定正确的数据库(非主数据库)
  • 使用Management Studio使用登录确认与辅助数据库的FAILED连接并指定正确的数据库(非主数据库)

每次我尝试使用登录连接到第二个时,我都会收到消息"无法打开数据库master"。我怀疑问题是在辅助节点上创建的登录的SID与主节点上的SID不匹配,因此辅助节点上的用户没有链接到该登录。我试图用以下方法解决这个问题:

ALTER USER [myuser] WITH LOGIN=[mylogin]

但是,我收到消息"无法更新数据库[mydatabase],因为数据库是辅助数据库"。我试图在主要设备上运行这个设备,但是它没有对我希望的辅助设备产生级联效果。

简而言之,如何添加允许访问辅助数据库?

1 个答案:

答案 0 :(得分:0)

解决方案是运行" CREATE LOGIN mylogin WITH SID = {sid from primary}&#34 ;,然后重新创建数据库用户并通过sp_addrolemember授予适当的角色。一旦登录的SID匹配,一切都按预期运行。感谢@AaronBertrand提示!