다음을 통해 공유


sp_grantdbaccess(Transact-SQL)

현재 데이터베이스에 데이터베이스 사용자를 추가합니다.

중요 정보중요

Microsoft SQL Server의 이후 버전에서는 이 기능이 제거됩니다. 새 개발 작업에서는 이 기능을 사용하지 않도록 하고, 현재 이 기능을 사용하는 응용 프로그램은 수정하십시오. 대신 CREATE USER를 사용합니다.

항목 링크 아이콘Transact-SQL 구문 표기 규칙

구문

sp_grantdbaccess [ @loginame = ] 'login'
    [ , [ @name_in_db = ] 'name_in_db' [ OUTPUT ] ]

인수

  • [ @loginame = ] **'**login '
    새 데이터베이스 사용자에 매핑할 Windows 그룹, Windows 로그인 또는 SQL Server 로그인의 이름입니다. Windows 그룹과 Windows 로그인의 이름은 Domain\login 형식의 Windows 도메인 이름(예: LONDON\Joeb)으로 정규화해야 합니다. 로그인은 데이터베이스의 사용자에 미리 매핑될 수 없습니다. login은 sysname이며 기본값은 없습니다.

  • [ @name_in_db=] 'name_in_db' [ OUTPUT]
    새 데이터베이스 사용자의 이름입니다. name_in_db는 sysname 데이터 형식의 OUTPUT 변수이며 기본값은 NULL입니다. 지정되지 않은 경우 login이 사용됩니다. 값이 NULL인 OUTPUT 변수로 지정된 경우에는 @name_in_db가 login으로 설정됩니다. name_in_db가 현재 데이터베이스에 없어야 합니다.

반환 코드 값

0(성공) 또는 1(실패)

주의

sp_grantdbaccess는 추가 옵션을 지원하는 CREATE USER를 호출합니다. 데이터베이스 사용자를 만드는 방법은 CREATE USER(Transact-SQL)를 참조하십시오. 데이터베이스에서 데이터베이스 사용자를 제거하려면 DROP USER를 사용합니다.

사용자 정의 트랜잭션 내에서는 sp_grantdbaccess를 실행할 수 없습니다.

사용 권한

db_owner 고정 데이터베이스 역할 또는 db_accessadmin 고정 데이터베이스 역할의 멤버여야 합니다.

다음 예에서는 CREATE USER를 사용하여 현재 데이터베이스에 Windows 로그인 Edmonds\LolanSo에 대한 데이터베이스 사용자를 추가합니다. 새 사용자의 이름은 Lolan입니다. 데이터베이스 사용자를 만드는 경우 기본적으로 이 방법이 사용됩니다.

CREATE USER Lolan FOR LOGIN [Edmonds\LolanSo];
GO