2016-12-29 5 views
-3

Windows 로그인으로 Asp.Net 응용 프로그램을 만들었습니다. 이제 SQL Server에서 모든 2000 AD 사용자 계정에 대한 로그인을 만들고 싶습니다.전체 AD 계정을 SQL Server에 로그인으로 추가하는 방법은 무엇입니까?

누구나 모든 광고 계정을 만드는 방법을 알고 있습니까?

이 필요한 이유 : 사전에

http://www.sqlservercentral.com/articles/Stairway+Series/128866/

감사합니다 : 우리는 아래 링크에서 언급 한 바와 같이 행 수준의 보안을 제공해야합니다.

+9

2000 명의 사용자를 관리하는 대신 AD 보안 그룹을 만드는 것이 어떨까요? – jradich1234

+0

개별 사용자 계정이 아닌 역할 및 그룹을 사용하는 것이 표준 방법입니다. 게다가 왜 로우 레벨 보안이 필요하다고 생각하니? 보기를 사용하고 테이블 대신에 *보기 * 권한을 할당하여 수행 할 수없는 작업은 무엇입니까? 행 보안을 워크 플로우 기능의 대리자로 사용할 것 같습니까? –

+0

예. 나는 하나가 다른 행을 확인할 수 있기를 원하지 않는다. 신청서에있는 관련 데이터 만 확인할 수 있습니다. 예 : ASP 닷넷 개발자가 응용 프로그램을 개발 또는 배포하는 동안 자신의 데이터 만 확인하는 경우 그/그녀는 여전히 디버거를 넣는 다른 데이터를 확인할 수 없습니다 – nirav

답변

0

jradich1234과 같이 실제 답변은 AD 보안 그룹을 사용하여 사용자를 일괄 처리 한 다음 이들에 대한 SQL 로그인을 만들 가능성이 높습니다. 전체 사용자 수보다 훨씬 적을 것입니다. 해야 할 것).

그러나 많은 수의 AD 사용자를 위해 SQL 로그인을 대량으로 만들려는 경우 해당 사용자 세부 정보를 .csv 파일로 내보내고 Excel을 사용하여 필요한 문을 작성하는 것이 좋습니다. . 내가 Excel로이 값 또는 텍스트 편집기를 얻고 필요한 추가 SQL을 추가

DOMAIN\APerson 
DOMAIN\AnotherPerson 
DOMAIN\SomeoneElse 
DOMAIN\Me 
ANOTHERDOMAIN\Someone 

: 예를 들어

는, 내가가 SQL 로그인을 만들고 싶었 (대신 2000 년) 5 사용자를 가지고 말 문은 CERATE LOGIN 문을 만들려면 :

CREATE LOGIN [DOMAIN\APerson]  FROM WINDOWS WITH DEFAULT_DATABASE=[master], DEFAULT_LANGUAGE=[us_english] GO 
CREATE LOGIN [DOMAIN\AnotherPerson] FROM WINDOWS WITH DEFAULT_DATABASE=[master], DEFAULT_LANGUAGE=[us_english] GO 
CREATE LOGIN [DOMAIN\SomeoneElse] FROM WINDOWS WITH DEFAULT_DATABASE=[master], DEFAULT_LANGUAGE=[us_english] GO 
CREATE LOGIN [DOMAIN\Me]    FROM WINDOWS WITH DEFAULT_DATABASE=[master], DEFAULT_LANGUAGE=[us_english] GO 
CREATE LOGIN [ANOTHERDOMAIN\Someone] FROM WINDOWS WITH DEFAULT_DATABASE=[master], DEFAULT_LANGUAGE=[us_english] GO 

이 모두 아래로 정적 텍스트를 복사 한 후, 하나 개의 컬럼에 사용자 이름을 넣어 주변의 텍스트에 인접한 열을 사용하여 Excel에서 예를 들어, 다양한 방법으로 수행 할 수 있습니다 셀 (의미 th 수동 입력과 달리 초 단위로 수행 할 수 있습니다). 또는 Notepad ++와 같은 텍스트 편집기를 사용하고 줄 바꿈에 찾기/바꾸기를 수행하여 텍스트를 각 줄의 시작과 끝에 추가하여 동일한 결과를 얻을 수 있습니다. '당신에게, 당신은 데이터베이스 사용자를 만들려면, 마찬가지로

ALTER SERVER ROLE [sysadmin] ADD MEMBER [DOMAIN\APerson] GO 
ALTER SERVER ROLE [sysadmin] ADD MEMBER [DOMAIN\AnotherPerson] GO 
ALTER SERVER ROLE [sysadmin] ADD MEMBER [DOMAIN\SomeoneElse] GO 
ALTER SERVER ROLE [sysadmin] ADD MEMBER [DOMAIN\Me] GO 
ALTER SERVER ROLE [sysadmin] ADD MEMBER [ANOTHERDOMAIN\Someone] GO 

: 당신은 또한 하나 이상의 역할을 지정하려면

, 당신은 사용자 이름의 목록을 복제하여 동일한 프로세스를 수행해야합니다 같은 방식으로 형성된 또 다른 일련의 진술이 필요합니다.

하지만 보안 그룹을 설정하기 만하면 더 쉽게 구현할 수 있습니다. 을 유지 관리하십시오!

+0

예. 나는 하나가 다른 행을 확인할 수 있기를 원하지 않는다. 신청서에있는 관련 데이터 만 확인할 수 있습니다. 예 : ASP 닷넷 개발자가 응용 프로그램을 개발 또는 배포하는 동안 자신의 데이터 만 확인하는 경우개발자가 여전히 디버거를 넣은 다른 데이터를 확인할 수 없습니다. – nirav

+0

개발자가 신뢰할 수 없기 때문에 개발자가 전체 데이터베이스를 볼 수 없게하는 경우 행 수준의 보안이 실제 문제는 아니라고 생각합니다. 이리. – 3N1GM4

+0

그 때 해결책을 제공하십시오. – nirav