想知道如何正确地向SQL Server上创建的用户授予权限吗

想知道如何正确地向SQL Server上创建的用户授予权限吗,sql,sql-server,grant,Sql,Sql Server,Grant,我正在SQL server上创建一些用户,但我有点困惑,我是否向我的登录名或用户帐户授予“alteranylogin”或“alteranylinkedserver” 众所周知,在SQL server上,创建用户的顺序如下: 创建登录sysUser1(在主数据库中) 为登录sysUser1创建用户myUser1(在用户数据库中) 创建架构myUser1授权myUser1 然后,根据需要为myUser1运行sp_addrolemember 那么,你需要补助金吗 我不知道我是否应该: 授予更改myUs

我正在SQL server上创建一些用户,但我有点困惑,我是否向我的登录名或用户帐户授予“alteranylogin”或“alteranylinkedserver”

众所周知,在SQL server上,创建用户的顺序如下:

  • 创建登录sysUser1(在主数据库中)
  • 为登录sysUser1创建用户myUser1(在用户数据库中)
  • 创建架构myUser1授权myUser1
  • 然后,根据需要为myUser1运行sp_addrolemember
  • 那么,你需要补助金吗
  • 我不知道我是否应该:

  • 授予更改myUser1的任何登录名
  • 向sysUser1授予alter任何登录名

  • 有人能澄清一下吗?我想得不对吗?

    ALTER LOGIN是服务器级权限,因此您不能将其授予数据库用户。在您的情况下,需要将其授予sysUser1


    编辑:链接服务器同上。

    登录和链接服务器都是存在于实例级别而不是数据库级别的对象,因此这些权限都需要应用于登录,而不是用户

    如果您使用的是SQL Server 2012,则可以创建自己的实例级角色,但在2008年及以后的版本中,您将被限制为内置服务器角色


    有一个名为setupadmin的服务器角色,允许成员管理链接的服务器。

    谢谢您的回答。这帮了大忙。:-)以下是我脚本的一个变体: