정보 보관 ver1.0

Transact-SQL] 로그인 이름 및 사용자 이름 변경

James Wetzel 2009. 4. 8. 14:11

sp_change_users_login

현재 데이터베이스의 SQL Server 사용자와 Microsoft® SQL Server™ 로그인 간의 관계를 변경합니다.

구문

sp_change_users_login [ @Action = ] 'action'
     [ , [ @UserNamePattern = ] 'user' ]
     [ , [ @LoginName = ] 'login' ]

인수

[@Action =] 'action'

프로시저가 수행할 동작을 설명합니다. actionvarchar(10)이며, 다음 값 중 하나를 사용할 수 있습니다.

설명
Auto_Fix 현재 데이터베이스의 sysusers 테이블의 사용자 항목을 syslogins의 동일한 이름의 로그인에 연결합니다. Auto_Fix문의 결과를 확인하여 연결의 결과가 의도한 대로 되었는지 확인하는 것이 좋습니다. 보안 인식 상황에서는 Auto_Fix를 사용하지 마십시오. Auto_Fix는 링크를 가장 잘 평가하며, 사용자가 의도한 것 이상의 액세스 권한을 가질 수 있도록 허용합니다.

user는 반드시 현재 데이터베이스의 유효한 사용자여야 하며, login은 반드시 NULL 또는 길이가 0인 문자열('')이거나 지정되지 않아야 합니다.

Report 현재 데이터베이스에 있으며 어떤 로그인에도 연결되지 않은 사용자와 이에 해당되는 보안 ID(SID)를 나열합니다.

userlogin은 NULL 또는 길이가 0인 문자열('')이거나 지정하지 않아야 합니다.

Update_One 현재 데이터베이스에서 지정된 userlogin에 연결합니다. login은 반드시 미리 존재해야 하며, userlogin은 지정해야 합니다.

[@UserNamePattern =] 'user'

현재 데이터베이스의 SQL Server 사용자의 이름입니다. usersysname이며, 기본값은 NULL입니다. sp_change_users_login은 SQL Server 로그인 및 사용자의 보안 계정과만 함께 사용할 수 있으며 Microsoft Windows NT®사용자와는 함께 사용할 수 없습니다.

[@LoginName =] 'login'

SQL Server 로그인의 이름입니다. loginsysname이며, 기본값은 NULL입니다.

반환 코드 값

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

결과 집합
열 이름 데이터 형식 설명
UserName sysname 로그인 이름
UserSID varbinary(85) 로그인 보안 ID

비고

현재 데이터베이스의 사용자에 대한 보안 계정과 다른 로그인을 연결하는 데는 이 프로시저를 사용하십시오. 사용자에 대한 로그인이 변경되는 경우에는 sp_change_users_login을 사용하면 사용자의 권한을 상실하지 않고 새 로그인에 사용자를 링크할 수 있습니다.

loginsa가 될 수 없으며 userdbo, guest 또는 INFORMATION_SCHEMA 사용자가 될 수 없습니다.

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

사용 권한

public 역할의 모든 구성원은 Report 옵션을 사용하여 sp_change_users_login을 실행할 수 있습니다. sysadmin 고정 서버 역할의 구성원만이 Auto_Fix 옵션을 지정할 수 있습니다. sysadmin 또는 db_owner 역할의 구성원만이 Update_One 옵션을 지정할 수 있습니다.

예제
A. 로그인 매핑에 대해 현재 사용자의 보고서 표시

다음은 현재 데이터베이스의 사용자와 보안 ID에 관한 보고서를 생성하는 예제입니다.

EXEC sp_change_users_login 'Report'
B. 사용자의 로그인 변경

다음은 pubs 데이터베이스의 Mary라는 사용자와 기존 로그인의 연결을 변경하여(sp_addlogin를 사용하여 추가된) NewMary로의 연결을 보여 주는 예제입니다.

--Add the new login.
USE master
go
EXEC sp_addlogin 'NewMary'
go

--Change the user account to link with the 'NewMary' login.
USE pubs
go
EXEC sp_change_users_login 'Update_One', 'Mary', 'NewMary'

관련 항목

sp_addlogin

sp_adduser

sp_helplogins

시스템 저장 프로시저

©1988-2000 Microsoft Corporation. All Rights Reserved.

728x90
반응형