【问题标题】:SQL Server 2008 Express Grant User PermissionSQL Server 2008 Express 授予用户权限
【发布时间】:2011-02-13 03:13:54
【问题描述】:

什么是适当的 SQL 命令(不通过 GUI)将 Windows 用户帐户添加到 SQL Server 2008 数据库的权限?即..我想给某人读权限,给另一个人读/写..

【问题讨论】:

    标签: sql-server permissions sql-server-express


    【解决方案1】:

    这是一个两步过程:

    • 首先,您需要为该用户创建一个登录,基于其 Windows 凭据

      CREATE LOGIN [<domainName>\<loginName>] FROM WINDOWS
      

      这设置了连接到 SQL Server 的基本权限

    • 登录后,您可以在每个数据库中创建一个用户,并在其中授予该登录权限以执行某项操作:

      CREATE USER Johnnie FOR LOGIN Domain\Johnnie;
      
    • 要授予对数据库中每个表的读取权限,请将db_datareader 角色分配给该用户

      sp_addrolemember @rolename = 'db_datareader', @membername = 'Johnnie'
      
    • 要授予对数据库中每个表的读写权限,请将db_datareaderdb_datawriter 角色分配给该用户

    • 如果您需要更细粒度地控制可以读取或写入哪些表,则需要手动管理权限,例如通过创建您自己的数据库角色并向这些角色分配授权,然后将您的用户添加到您创建的那些特定于应用程序的角色中

    【讨论】:

    • 另外,请确保您已在 SQL Server 配置管理器工具中启用 TCP/IP 连接。当您尝试允许远程连接到本地计算机时,这通常只是一个问题。 (今天早些时候被它咬了。
    • 您好,我允许远程连接到我的本地计算机。我创建了用户和角色,但用户必须查看 Sql Server 代理和作业活动。我应该为创建工作定义角色。
    猜你喜欢
    • 2011-03-25
    • 2011-09-07
    • 1970-01-01
    • 2011-04-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-25
    • 2012-07-24
    相关资源
    最近更新 更多