我安装了 SQL Server 2005 Express,其中有一个数据库,我正尝试通过软件连接到该数据库,但软件提示“无法使用用户‘mydoimain\myuser’进行连接”。这意味着,它尝试使用我的域用户作为默认用户进行连接。这没问题。这实际上是我想要的。但我希望能够将用户添加到组中,并将该组的权限授予数据库,而不是指定每个用户。
因此,我继续创建了一个 AD 组,并将自己添加到其中。然后,我使用一段 SQL 查询代码在 Microsoft SQL Server Management Studio 的“安全/登录”下添加了此 AD 组:
USE [myDatabase]
GO
CREATE LOGIN [myDomain\Groupname] FROM WINDOWS
WITH
DEFAULT_DATABASE=[MYSQLDatabase];
这会在“安全”选项卡下添加组。但是当我尝试使用客户端的软件进行连接时,仍然会收到此错误。我还需要设置什么?我甚至尝试单击运行上述查询代码段后出现的新添加的组,并添加了每个服务器角色。用户已被授予对数据库引擎的访问权限(默认完成)并在“登录”下启用(默认完成)。
我在这里遗漏了什么?
答案1
您已创建登录名,该登录名会告诉服务器您是谁。现在,您需要告诉各个数据库您是谁以及您应该获得哪些权限。您可以通过向各个数据库添加用户,然后为该用户添加权限来实现这一点。例如:
use [db]
go
create user [myDomain\Groupname] for login [myDomain\Groupname]
go
grant select on schema::dbo to [myDomain\Groupname]
go
这会将用户添加到数据库“db”,并授予其对 dbo 模式中所有对象的读取权限。