授予访问主数据库的权限。

3

我有一个Azure SQL服务器实例,并带有以下数据库:

  1. master - 像往常一样
  2. MyApplication - 我的自定义数据库

在"MyApplication"数据库中,我已经创建了一个名为"MyUser"的用户。 用户"MyUser"不能看到"master"数据库。它仅具有对"MyApplication"数据库的权限。

我想给"MyUser"访问"master"数据库的权限。我该如何实现?

1个回答

6

您确定他们现在无法看到主数据库吗?可能是因为您创建了一个数据库范围的用户。

您可以在主数据库上创建登录,然后在主数据库和目标应用程序数据库中创建用户。

在主数据库中运行以下命令:

CREATE LOGIN youruser WITH PASSWORD='SomePassword'
CREATE USER youruser FOR LOGIN youruser WITH DEFAULT_SCHEMA=[dbo]

这将在逻辑服务器上创建登陆账户,并在主数据库中为该登陆账户创建一个用户。您随后可以打开到目标数据库的连接,并运行以下命令以在目标数据库中创建与同一登录账户关联的用户。

CREATE USER youruser FOR LOGIN youruser

在目标数据库中,您可以将它们添加到任何角色中。在主数据库中,它们将不具有与“服务器级主体登录”相同的权限。
通过执行这些步骤,用户在主数据库和目标数据库中都使用相同的登录名。请注意,如果使用相同的登录名将数据库移动到另一台服务器上(例如因为您出于某种原因恢复了它),则登录名将不存在于新服务器上,并且您将收到权限错误。有方法可以添加登录名并清除SID不匹配问题。

我必须为现有用户在主服务器上创建用户。 CREATE USER youruser FOR LOGIN youruser - Dave

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接