通过Active Directory组pipe理SQL Server用户

我正在构buildSQL Server实例用于报告目的。 我的计划是使用AD组进行服务器和数据库login。 我有几个不同的angular色组(pipe理员,开发人员,用户等),我想将这些angular色映射到SQL Server数据库angular色(db_owner,db_datawriter等)。 使用AD组进行login有什么优点和缺点? 你注意到了什么样的问题?

除了首先要pipe理广告的开销之外,我不认为有什么缺点。 对于SQL Server使用Windowslogin凭证,特别是以与有组织的angular色组交stream的方式,当然是Microsoft的最佳实践build议。 如果他们有他们的方式,他们会selectSQL Server身份validation完全。

附录:

如果您使用的是SQL 2005或更高版本,请使用“默认架构”选项(不要以为有这样的GUI选项):

ALTER USER userName WITH <set_item> [ ,...n ] <set_item> ::= NAME = newUserName | DEFAULT_SCHEMA = schemaName | LOGIN = loginName 

即:

 ALTER USER DOMAIN\UserName DEFAULT_SCHEMA = dbo; GO 

Active Directory组的pipe理也可以委派给非Active Directorypipe理员,这可以是缺less应用程序pipe理工具的方便function。

我遇到的最大的骗局是第三方应用程序,不支持ADauthentication,并坚持使用SQL身份validation,通常与创意login像admin / admin; 除此之外,唯一的另一个问题是,在SQL服务器上,您没有完全可见的访问数据库的人员,只能看到该组,或者在用户处于活动状态时看到用户,或者他们拥有对象。 但只要您的DBA能够访问Active Directory(如果他需要用户级别的信息),这是一个非常小的问题。