如何在SQL Server中将Active Directory用户组添加为登录名

问题描述 投票:105回答:3

我有一个.net应用程序,该应用程序使用Windows身份验证连接到SQL Server。

我们无法在应用程序中使用SQL Server身份验证。我们的项目中有很多Active Directory用户。因此,我们必须为SQL Server中的每个Active Directory用户创建一个单独的登录帐户,而不是为每个AD用户创建一个单独的登录帐户,是否可以使用SQL Server中的Active Directory用户组?

sql-server sql-server-2008 security authentication
3个回答
155
投票

在SQL Server Management Studio中,转到Object Explorer > (your server) > Security > Logins,然后右键单击New Login

<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS9vaUhyYi5wbmcifQ==” alt =“在此处输入图像描述”>

然后在弹出的对话框中,选择要查看的对象类型(默认情况下Groups被禁用-选中它!),然后选择要查找对象的位置(例如,使用[C0 ]),然后找到您的广告组。

<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS9sOGE2Ui5wbmcifQ==” alt =“在此处输入图像描述”>

您现在具有常规的SQL Server登录名-就像为单个AD用户创建登录名一样。给该新登录名所需的数据库权限,然后就可以使用!

该AD组的任何成员现在都可以登录SQL Server并使用您的数据库。


21
投票

您可以使用T-SQL:

Entire Directory

我将其用作从生产服务器到测试机还原的一部分:

use master
GO
CREATE LOGIN [NT AUTHORITY\LOCALSERVICE] FROM WINDOWS WITH
DEFAULT_DATABASE=yourDbName
GO
CREATE LOGIN [NT AUTHORITY\NETWORKSERVICE] FROM WINDOWS WITH
DEFAULT_DATABASE=yourDbName

在德语或法语的Windows中,您将需要使用服务的本地化名称,请参见USE master GO ALTER DATABASE yourDbName SET OFFLINE WITH ROLLBACK IMMEDIATE RESTORE DATABASE yourDbName FROM DISK = 'd:\DropBox\backup\myDB.bak' ALTER DATABASE yourDbName SET ONLINE GO CREATE LOGIN [NT AUTHORITY\LOCALSERVICE] FROM WINDOWS WITH DEFAULT_DATABASE=yourDbName GO CREATE LOGIN [NT AUTHORITY\NETWORKSERVICE] FROM WINDOWS WITH DEFAULT_DATABASE=yourDbName GO


0
投票

转到SQL Server Management Studio,导航到“安全性”,转到“登录名”,然后右键单击它。菜单上将显示一个按钮,显示“新登录”。在那里,您将能够将Active Directory中的用户和/或组添加到SQL Server“权限”中。希望对您有所帮助

© www.soinside.com 2019 - 2024. All rights reserved.