[sql-server] SQL Server에서 Active Directory 사용자 그룹을 로그인으로 추가하는 방법

Windows 인증을 사용하여 SQL Server에 연결하는 .net 응용 프로그램이 있습니다.

응용 프로그램에서 SQL Server 인증을 사용할 수 없습니다. 우리 프로젝트에 많은 Active Directory 사용자가 있습니다. 따라서 각 AD 사용자에 대해 별도의 로그인 계정을 만드는 대신 SQL Server에서 각 Active Directory 사용자에 대해 별도의 로그인 계정을 만들어야합니다. SQL Server에서 Active Directory 사용자 그룹을 사용할 수있는 방법이 있습니까?



답변

SQL Server Management Studio에서 다음으로 이동하여 Object Explorer > (your server) > Security > Logins마우스 오른쪽 버튼을 클릭합니다 New Login.

여기에 이미지 설명 입력

그런 다음 팝업되는 대화 상자에서보고자하는 개체 유형을 선택하고 ( Groups기본적으로 비활성화되어 있음-확인!) 개체를 찾을 위치 (예 : 사용 Entire Directory)를 선택한 다음 AD 그룹을 찾습니다. .

여기에 이미지 설명 입력

이제 단일 AD 사용자에 대한 로그인을 생성 할 때와 마찬가지로 일반 SQL Server 로그인이 생깁니다. 새 로그인에 필요한 데이터베이스에 대한 권한을 부여하고 이동하십시오!

해당 AD 그룹의 모든 구성원은 이제 SQL Server에 로그인하여 데이터베이스를 사용할 수 있습니다.


답변

T-SQL을 사용할 수 있습니다.

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

나는 이것을 프로덕션 서버에서 테스트 머신으로 복원하는 일부로 사용합니다.

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

독일어 또는 프랑스어 Windows의 경우 지역화 된 서비스 이름을 사용해야 합니다. 영어가 아닌 Windows에서 서비스 계정에 대한 SQL Server 로그인을 만드는 방법을 참조하십시오 .


답변

SQL Server Management Studio로 이동하여 보안으로 이동하고 로그인으로 이동하여 마우스 오른쪽 단추로 클릭하십시오. “새 로그인”버튼이있는 메뉴가 나타납니다. 여기에서 Active Directory의 사용자 및 / 또는 그룹을 SQL Server “권한”에 추가 할 수 있습니다. 도움이 되었기를 바랍니다


답변

여기 내 관찰이 있습니다. 그룹 창 (AD) 사용자 계정에 대한 로그인 (읽기 전용)을 만들었지 만 다른 SQL 서버에서 도전적으로 작동합니다. 사용자가 데이터베이스를 볼 수없는 SQl 서버에서는 뷰 정의를 추가하고 오류 229를 피하기 위해 데이터베이스 실행 침투를 마스터 데이터베이스에 부여했습니다. 사용자에 대한 로그인을 생성하면이 문제가 발생하지 않습니다.


답변