다음을 통해 공유


sp_adduser(Transact-SQL)

적용 대상: SQL Server

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

Important

SQL Server의 이후 버전에서는 이 기능이 제거됩니다. 새 개발 작업에서는 이 기능을 사용하지 않도록 하고, 현재 이 기능을 사용하는 애플리케이션은 수정하세요. 대신 CREATE USER를 사용합니다.

Transact-SQL 구문 표기 규칙

구문

sp_adduser
    [ @loginame = ] N'loginame'
    [ , [ @name_in_db = ] N'name_in_db' ]
    [ , [ @grpname = ] N'grpname' ]
[ ; ]

인수

[ @loginame = ] N'loginame'

SQL Server 로그인 또는 Windows 계정의 이름입니다. @loginame 기본값이 없는 sysname입니다. @loginame 기존 SQL Server 로그인 또는 Windows 계정이어야 합니다.

[ @name_in_db = ] N'name_in_db'

새 데이터베이스 사용자의 이름입니다. @name_in_db sysname이며 기본값은 .입니다NULL. @name_in_db 지정되지 않은 경우 새 데이터베이스 사용자의 이름은 기본적으로 @loginame. @name_in_db 지정하면 새 사용자에게 서버 수준 로그인 이름과 다른 데이터베이스의 이름이 지정됩니다.

[ @grpname = ] N'grpname'

새 사용자가 멤버가 되는 데이터베이스 역할입니다. @grpname sysname이며 기본값은 .입니다NULL. @grpname 현재 데이터베이스에서 유효한 데이터베이스 역할이어야 합니다.

반환 코드 값

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

설명

sp_adduser 또한 사용자의 이름인 스키마를 만듭니다.

사용자가 추가된 후 , DENYREVOKE 문을 사용하여 GRANT사용자가 수행하는 작업을 제어하는 권한을 정의합니다.

유효한 로그인 목록을 표시하는 데 사용합니다 sys.server_principals .

유효한 역할 이름 목록을 표시하는 데 사용합니다 sp_helprole . 역할을 지정하면 사용자가 해당 역할에 대해 정의된 사용 권한을 자동으로 갖게 됩니다. 역할이 지정되지 않은 경우 사용자는 기본 공용 역할에 부여된 권한을 얻습니다. 역할에 사용자를 추가하려면 @name_in_db 값을 제공해야 합니다. (@name_in_db @loginame 동일할 수 있습니다.)

사용자 게스트 는 모든 데이터베이스에 이미 있습니다. 사용자 게스트 를 추가하면 이전에 사용하지 않도록 설정된 경우 이 사용자를 사용할 수 있습니다. 기본적으로 사용자 게스트 는 새 데이터베이스에서 사용할 수 없습니다.

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

게스트 사용자가 모든 데이터베이스 내에 이미 있으므로 게스트 사용자를 추가할 수 없습니다. 게스트 사용자를 사용하도록 설정하려면 다음과 같이 게스트 CONNECT 권한을 부여합니다.

GRANT CONNECT TO guest;
GO

사용 권한

데이터베이스에 대한 소유권이 필요합니다.

예제

A. 데이터베이스 사용자 추가

다음 예제에서는 기존 SQL Server 로그인VidurRecruiting 사용하여 현재 데이터베이스의 기존 역할에 데이터베이스 사용자를 Vidur 추가합니다.

EXEC sp_adduser 'Vidur', 'Vidur', 'Recruiting';

B. 동일한 로그인 ID를 가진 데이터베이스 사용자 추가

다음 예제에서는 SQL Server 로그인Arvind에 대한 현재 데이터베이스에 사용자를 Arvind 추가합니다. 이 사용자는 기본 공용 역할에 속합니다.

EXEC sp_adduser 'Arvind';

C. 서버 수준 로그인과 다른 이름을 가진 데이터베이스 사용자 추가

다음 예제에서는 사용자 이름Bjorn인 현재 데이터베이스에 SQL Server 로그인 BjornR 을 추가하고 데이터베이스 역할에 데이터베이스 사용자를 Bjorn Production 추가합니다.

EXEC sp_adduser 'BjornR', 'Bjorn', 'Production';