我正在构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(如果他需要用户级别的信息),这是一个非常小的问题。