繁体   English   中英

如何授予用户对 SQL 服务器中数据库的读取权限?

[英]How do I grant read access for a user to a database in SQL Server?

我想授予用户对具有读写访问权限的特定数据库的访问权限。 用户已在域中可用,但在数据库中不可用。

那么,如何通过创建新用户和密码来授予他们访问权限?

有人告诉我,只需指定要授予用户访问权限的用户、域和数据库即可完成,而无需创建新用户和密码。

这是我正在实施的旧方式。 它可以工作,但它会创建一个新的登录名和用户,而不是使用域中可用的登录名和用户:

use DBName;
create login a_2 with password='Aa123';
create user a_2 for login a_2;
grant insert to a_2;
grant select to a_2;

这是一个两步过程:

  1. 您需要根据其 Windows 帐户为该用户创建 SQL 服务器的登录

    CREATE LOGIN [<domainName>\<loginName>] FROM WINDOWS;
  2. 您需要授予此登录权限才能访问数据库:

     USE (your database) CREATE USER (username) FOR LOGIN (your login name)

一旦你的数据库中有那个用户,你可以给它任何你想要的权限,例如你可以给它分配db_datareader数据库角色来读取所有的表。

USE (your database)
EXEC sp_addrolemember 'db_datareader', '(your user name)'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM