ALTER LOGIN(Transact-SQL)
SQL Server 로그인 계정의 속성을 변경합니다.
메모
Microsoft Entra ID 이전에 Azure AD(Azure Active Directory)라고 했습니다.
제품 선택
다음 행에서 관심 있는 제품 이름을 선택하고 해당 제품의 정보만 표시됩니다.
* SQL Server *
SQL Database
SQL Managed Instance
Azure Synapse
분석
SQL Server
SQL Server 구문
ALTER LOGIN login_name
{
<status_option>
| WITH <set_option> [ , ... ]
| <cryptographic_credential_option>
}
[;]
<status_option> ::=
ENABLE | DISABLE
<set_option> ::=
PASSWORD = 'password' | hashed_password HASHED
[
OLD_PASSWORD = 'oldpassword'
| <password_option> [ <password_option> ]
]
| DEFAULT_DATABASE = database
| DEFAULT_LANGUAGE = language
| NAME = login_name
| CHECK_POLICY = { ON | OFF }
| CHECK_EXPIRATION = { ON | OFF }
| CREDENTIAL = credential_name
| NO CREDENTIAL
<password_option> ::=
MUST_CHANGE | UNLOCK
<cryptographic_credentials_option> ::=
ADD CREDENTIAL credential_name
| DROP CREDENTIAL credential_name
인수
login_name
변경 중인 SQL Server 로그인의 이름을 지정합니다. 도메인 로그인은 [<domain>\<user>]
형식으로 대괄호로 묶어야 합니다.
ENABLE | 비활성화
이 로그인을 사용하거나 사용하지 않도록 설정합니다. 로그인을 사용하지 않도록 설정해도 이미 연결된 로그인의 동작에는 영향을 주지 않습니다. (KILL
문을 사용하여 기존 연결을 종료합니다.) 사용하지 않도록 설정된 로그인은 사용 권한을 유지하며 여전히 가장할 수 있습니다.
PASSWORD = '암호'
SQL Server 로그인에만 적용됩니다. 변경 중인 로그인의 암호를 지정합니다. 암호는 대/소문자를 구분합니다.
PASSWORD = hashed_password
HASHED 키워드에만 적용됩니다. 생성되는 로그인에 대한 암호의 해시된 값을 지정합니다.
중요하다
로그인(또는 포함된 데이터베이스 사용자)이 연결되고 인증되면 연결은 로그인에 대한 ID 정보를 캐시합니다. Windows 인증 로그인의 경우 Windows 그룹의 멤버 자격에 대한 정보가 포함됩니다. 연결이 유지되는 한 로그인의 ID는 인증된 상태로 유지됩니다. 암호 재설정 또는 Windows 그룹 멤버 자격 변경과 같은 ID를 강제로 변경하려면 로그인이 인증 기관(Windows 또는 SQL Server)에서 로그아웃하고 다시 로그인해야 합니다.
sysadmin 고정 서버 역할 또는 ALTER ANY CONNECTION
권한이 있는 로그인의 멤버는 KILL
명령을 사용하여 연결을 종료하고 로그인을 강제로 다시 연결할 수 있습니다. SQL Server Management Studio는 개체 탐색기 및 쿼리 편집기 창에 대한 여러 연결을 열 때 연결 정보를 다시 사용할 수 있습니다. 모든 연결을 닫아 강제로 다시 연결합니다.
해시
SQL Server 로그인에만 적용됩니다. PASSWORD 인수 다음에 입력한 암호가 이미 해시되도록 지정합니다. 이 옵션을 선택하지 않으면 데이터베이스에 저장되기 전에 암호가 해시됩니다. 이 옵션은 두 서버 간의 로그인 동기화에만 사용해야 합니다. HASHED 옵션을 사용하여 암호를 정기적으로 변경하지 마세요.
OLD_PASSWORD = 'old_password'
SQL Server 로그인에만 적용됩니다. 새 암호를 할당할 로그인의 현재 암호입니다. 암호는 대/소문자를 구분합니다.
MUST_CHANGE
SQL Server 로그인에만 적용됩니다. 이 옵션이 포함된 경우 SQL Server는 변경된 로그인을 처음 사용할 때 업데이트된 암호를 묻는 메시지를 표시합니다.
DEFAULT_DATABASE = 데이터베이스
로그인에 할당할 기본 데이터베이스를 지정합니다.
DEFAULT_LANGUAGE = 언어
로그인에 할당할 기본 언어를 지정합니다. 모든 SQL Database 로그인의 기본 언어는 영어이며 변경할 수 없습니다. Linux의 SQL Server에서 sa
로그인의 기본 언어는 영어이지만 변경할 수 있습니다.
NAME = login_name
이름을 바꿀 로그인의 새 이름입니다. Windows 로그인인 경우 새 이름에 해당하는 Windows 보안 주체의 SID가 SQL Server의 로그인과 연결된 SID와 일치해야 합니다. SQL Server 로그인의 새 이름에는 백슬래시 문자(\
)를 포함할 수 없습니다.
CHECK_EXPIRATION = { ON | OFF }
SQL Server 로그인에만 적용됩니다. 이 로그인에 암호 만료 정책을 적용할지 여부를 지정합니다. 기본값은 OFF입니다.
CHECK_POLICY = { ON | OFF }
SQL Server 로그인에만 적용됩니다. SQL Server가 실행 중인 컴퓨터의 Windows 암호 정책이 이 로그인에 적용되도록 지정합니다. 기본값은 ON입니다.
CREDENTIAL = credential_name
SQL Server 로그인에 매핑할 자격 증명의 이름입니다. 자격 증명이 서버에 이미 있어야 합니다. 자세한 내용은 자격 증명참조하세요. 자격 증명은 sa 로그인에 매핑할 수 없습니다.
자격 증명 없음
서버 자격 증명에 대한 로그인의 기존 매핑을 제거합니다. 자세한 내용은 자격 증명참조하세요.
잠금 해제
SQL Server 로그인에만 적용됩니다. 잠긴 로그인의 잠금을 해제할 것을 지정합니다.
자격 증명 추가
EKM(Extensible Key Management) 공급자 자격 증명을 로그인에 추가합니다. 자세한 내용은 EKM(확장 가능 키 관리)참조하세요.
DROP CREDENTIAL
로그인에서 EKM(Extensible Key Management) 공급자 자격 증명을 제거합니다. 자세한 내용은 [EKM(확장 가능 키 관리)](.)을 참조하세요. /.. /relational-databases/security/encryption/extensible-key-management-ekm.md).
발언
CHECK_POLICY ON으로 설정된 경우 HASHED 인수를 사용할 수 없습니다.
CHECK_POLICY ON으로 변경되면 다음 동작이 발생합니다.
- 암호 기록은 현재 암호 해시의 값으로 초기화됩니다.
CHECK_POLICY OFF로 변경되면 다음 동작이 발생합니다.
- CHECK_EXPIRATION OFF로도 설정됩니다.
- 암호 기록이 지워집니다.
- lockout_time 값이 다시 설정됩니다.
MUST_CHANGE 지정한 경우 CHECK_EXPIRATION 및 CHECK_POLICY ON으로 설정해야 합니다. 그렇지 않으면 문이 실패합니다.
CHECK_POLICY OFF로 설정된 경우 CHECK_EXPIRATION ON으로 설정할 수 없습니다. 이러한 옵션 조합이 포함된 ALTER LOGIN 문은 실패합니다.
DISABLE 인수와 함께 ALTER LOGIN을 사용하여 Windows 그룹에 대한 액세스를 거부할 수 없습니다. 예를 들어 ALTER LOGIN [<domain>\<group>] DISABLE
다음 오류 메시지를 반환합니다.
"Msg 15151, Level 16, State 1, Line 1
Cannot alter the login '*Domain\Group*', because it doesn't exist or you don't have permission.
이것은 의도적으로 설계되었습니다.
SQL Database에서 연결을 인증하는 데 필요한 로그인 데이터 및 서버 수준 방화벽 규칙은 각 데이터베이스에 일시적으로 캐시됩니다. 이 캐시는 주기적으로 새로 고쳐집니다. 인증 캐시를 강제로 새로 고치고 데이터베이스에 최신 버전의 로그인 테이블이 있는지 확인하려면 DBCC FLUSHAUTHCACHE실행합니다.
권한을
ALTER ANY LOGIN 권한이 필요합니다.
CREDENTIAL 옵션을 사용하는 경우 ALTER ANY CREDENTIAL 권한도 필요합니다.
변경 중인 로그인이 sysadmin 고정 서버 역할 또는 CONTROL SERVER 사용 권한 피부여자의 구성원인 경우 다음을 변경할 때 CONTROL SERVER 권한도 필요합니다.
- 이전 암호를 제공하지 않고 암호를 다시 설정합니다.
- MUST_CHANGE, CHECK_POLICY 또는 CHECK_EXPIRATION 사용하도록 설정합니다.
- 로그인 이름을 변경합니다.
- 로그인을 사용하거나 사용하지 않도록 설정합니다.
- 로그인을 다른 자격 증명에 매핑합니다.
보안 주체는 자체 로그인에 대한 암호, 기본 언어 및 기본 데이터베이스를 변경할 수 있습니다.
예제
A. 사용하지 않도록 설정된 로그인 사용
다음 예제에서는 로그인 Mary5
사용하도록 설정합니다.
ALTER LOGIN Mary5 ENABLE;
B. 로그인 암호 변경
다음 예제에서는 로그인 Mary5
암호를 강력한 암호로 변경합니다.
ALTER LOGIN Mary5 WITH PASSWORD = '<enterStrongPasswordHere>';
C. 로그인으로 로그인할 때 로그인 암호 변경
현재 로그인한 로그인의 암호를 변경하려고 하고 ALTER ANY LOGIN
권한이 없는 경우 OLD_PASSWORD
옵션을 지정해야 합니다.
ALTER LOGIN Mary5 WITH PASSWORD = '<enterStrongPasswordHere>' OLD_PASSWORD = '<oldWeakPasswordHere>';
D. 로그인 이름 변경
다음 예제에서는 로그인 Mary5
이름을 John2
변경합니다.
ALTER LOGIN Mary5 WITH NAME = John2;
E. 자격 증명에 로그인 매핑
다음 예제에서는 로그인 John2
자격 증명 Custodian04
매핑합니다.
ALTER LOGIN John2 WITH CREDENTIAL = Custodian04;
F. 확장 가능한 키 관리 자격 증명에 로그인 매핑
다음 예제에서는 로그인 Mary5
EKM 자격 증명 EKMProvider1
매핑합니다.
ALTER LOGIN Mary5 ADD CREDENTIAL EKMProvider1;
GO
F. 로그인 잠금 해제
SQL Server 로그인의 잠금을 해제하려면 다음 문을 실행하여 ****
원하는 계정 암호로 바꿉니다.
ALTER LOGIN [Mary5] WITH PASSWORD = '****' UNLOCK;
GO
암호를 변경하지 않고 로그인의 잠금을 해제하려면 확인 정책을 끈 다음 다시 켭니다.
ALTER LOGIN [Mary5] WITH CHECK_POLICY = OFF;
ALTER LOGIN [Mary5] WITH CHECK_POLICY = ON;
GO
G. HASHED를 사용하여 로그인 암호 변경
다음 예제에서는 TestUser
로그인의 암호를 이미 해시된 값으로 변경합니다.
ALTER LOGIN TestUser WITH PASSWORD = 0x01000CF35567C60BFB41EBDE4CF700A985A13D773D6B45B90900 HASHED;
GO
관련 콘텐츠
- 자격 증명
- 로그인 만들기
- DROP 로그인
- CREDENTIAL 만들기
- EVENTDATA
- EKM(확장 가능 키 관리)
SQL Server
* SQL Database *
SQL Managed Instance
Azure Synapse
분석
SQL Database
Azure SQL Database 구문
ALTER LOGIN login_name
{
<status_option>
| WITH <set_option> [ , .. .n ]
}
[;]
<status_option> ::=
ENABLE | DISABLE
<set_option> ::=
PASSWORD = 'password'
[
OLD_PASSWORD = 'oldpassword'
]
| NAME = login_name
인수
login_name
변경 중인 SQL Server 로그인의 이름을 지정합니다. 도메인 로그인은 [domain\user] 형식으로 대괄호로 묶어야 합니다.
ENABLE | 비활성화
이 로그인을 사용하거나 사용하지 않도록 설정합니다. 로그인을 사용하지 않도록 설정해도 이미 연결된 로그인의 동작에는 영향을 주지 않습니다. (KILL
문을 사용하여 기존 연결을 종료합니다.) 사용하지 않도록 설정된 로그인은 사용 권한을 유지하며 여전히 가장할 수 있습니다.
PASSWORD = '암호'
SQL Server 로그인에만 적용됩니다. 변경 중인 로그인의 암호를 지정합니다. 암호는 대/소문자를 구분합니다.
SQL Database에 대한 지속적인 활성 연결에는 적어도 10시간마다 다시 인증(데이터베이스 엔진에서 수행)이 필요합니다. 데이터베이스 엔진은 원래 제출된 암호를 사용하여 재인증하려고 시도하며 사용자 입력이 필요하지 않습니다. 성능상의 이유로 SQL Database에서 암호가 다시 설정되면 연결 풀링으로 인해 연결이 다시 설정되더라도 연결이 다시 인증되지 않습니다. 이는 온-프레미스 SQL Server의 동작과 다릅니다. 연결에 처음 권한이 부여된 이후 암호가 변경된 경우 연결을 종료하고 새 암호를 사용하여 새 연결을 만들어야 합니다. KILL DATABASE CONNECTION 권한이 있는 사용자는 KILL 명령을 사용하여 SQL Database에 대한 연결을 명시적으로 종료할 수 있습니다. 자세한 내용은 KILL
중요하다
로그인(또는 포함된 데이터베이스 사용자)이 연결되고 인증되면 연결은 로그인에 대한 ID 정보를 캐시합니다. Windows 인증 로그인의 경우 Windows 그룹의 멤버 자격에 대한 정보가 포함됩니다. 연결이 유지되는 한 로그인의 ID는 인증된 상태로 유지됩니다. 암호 재설정 또는 Windows 그룹 멤버 자격 변경과 같은 ID를 강제로 변경하려면 로그인이 인증 기관(Windows 또는 SQL Server)에서 로그아웃하고 다시 로그인해야 합니다. sysadmin 고정 서버 역할 또는 ALTER ANY CONNECTION 권한이 있는 로그인은 KILL 명령을 사용하여 연결을 종료하고 로그인이 다시 연결되도록 강제할 수 있습니다. SQL Server Management Studio는 개체 탐색기 및 쿼리 편집기 창에 대한 여러 연결을 열 때 연결 정보를 다시 사용할 수 있습니다. 모든 연결을 닫아 강제로 다시 연결합니다.
OLD_PASSWORD = 'old_password'
SQL Server 로그인에만 적용됩니다. 새 암호를 할당할 로그인의 현재 암호입니다. 암호는 대/소문자를 구분합니다.
NAME = login_name
이름을 바꿀 로그인의 새 이름입니다. Windows 로그인인 경우 새 이름에 해당하는 Windows 보안 주체의 SID가 SQL Server의 로그인과 연결된 SID와 일치해야 합니다. SQL Server 로그인의 새 이름은 백슬래시 문자(\)를 포함할 수 없습니다.
발언
SQL Database에서 연결을 인증하는 데 필요한 로그인 데이터 및 서버 수준 방화벽 규칙은 각 데이터베이스에 일시적으로 캐시됩니다. 이 캐시는 주기적으로 새로 고쳐집니다. 인증 캐시를 강제로 새로 고치고 데이터베이스에 최신 버전의 로그인 테이블이 있는지 확인하려면 DBCC FLUSHAUTHCACHE실행합니다.
권한을
ALTER ANY LOGIN 권한이 필요합니다.
변경 중인 로그인이 sysadmin 고정 서버 역할 또는 CONTROL SERVER 사용 권한 피부여자의 구성원인 경우 다음을 변경할 때 CONTROL SERVER 권한도 필요합니다.
- 이전 암호를 제공하지 않고 암호를 다시 설정합니다.
- 로그인 이름을 변경합니다.
- 로그인을 사용하거나 사용하지 않도록 설정합니다.
- 로그인을 다른 자격 증명에 매핑합니다.
보안 주체는 자체 로그인에 대한 암호를 변경할 수 있습니다.
예제
이러한 예제에는 다른 SQL 제품을 사용하는 예제도 포함되어 있습니다. 지원되는 이전 인수를 확인합니다.
A. 사용하지 않도록 설정된 로그인 사용
다음 예제에서는 로그인 Mary5
사용하도록 설정합니다.
ALTER LOGIN Mary5 ENABLE;
B. 로그인 암호 변경
다음 예제에서는 로그인 Mary5
암호를 강력한 암호로 변경합니다.
ALTER LOGIN Mary5 WITH PASSWORD = '<enterStrongPasswordHere>';
C. 로그인 이름 변경
다음 예제에서는 로그인 Mary5
이름을 John2
변경합니다.
ALTER LOGIN Mary5 WITH NAME = John2;
D. 자격 증명에 로그인 매핑
다음 예제에서는 로그인 John2
자격 증명 Custodian04
매핑합니다.
ALTER LOGIN John2 WITH CREDENTIAL = Custodian04;
E. 확장 가능한 키 관리 자격 증명에 로그인 매핑
다음 예제에서는 로그인 Mary5
EKM 자격 증명 EKMProvider1
매핑합니다.
적용 대상: SQL Server 2008(10.0.x) 이상
ALTER LOGIN Mary5 ADD CREDENTIAL EKMProvider1;
GO
F. HASHED를 사용하여 로그인 암호 변경
다음 예제에서는 TestUser
로그인의 암호를 이미 해시된 값으로 변경합니다.
적용 대상: SQL Server 2008(10.0.x) 이상
ALTER LOGIN TestUser WITH PASSWORD = 0x01000CF35567C60BFB41EBDE4CF700A985A13D773D6B45B90900 HASHED;
GO
관련 콘텐츠
- 자격 증명
- 로그인 만들기
- DROP 로그인
- CREDENTIAL 만들기
- EVENTDATA
- EKM(확장 가능 키 관리)
SQL Server
SQL Database
* SQL Managed Instance *
Azure Synapse
분석
Azure SQL Managed Instance
SQL Server 및 Azure SQL Managed Instance에 대한 구문
ALTER LOGIN login_name
{
<status_option>
| WITH <set_option> [ , ... ]
| <cryptographic_credential_option>
}
[;]
<status_option> ::=
ENABLE | DISABLE
<set_option> ::=
PASSWORD = 'password' | hashed_password HASHED
[
OLD_PASSWORD = 'oldpassword'
| <password_option> [ <password_option> ]
]
| DEFAULT_DATABASE = database
| DEFAULT_LANGUAGE = language
| NAME = login_name
| CHECK_POLICY = { ON | OFF }
| CHECK_EXPIRATION = { ON | OFF }
| CREDENTIAL = credential_name
| NO CREDENTIAL
<password_option> ::=
MUST_CHANGE | UNLOCK
<cryptographic_credentials_option> ::=
ADD CREDENTIAL credential_name
| DROP CREDENTIAL credential_name
-- Syntax for Azure SQL Managed Instance using Microsoft Entra logins
ALTER LOGIN login_name
{
<status_option>
| WITH <set_option> [ , .. .n ]
}
[;]
<status_option> ::=
ENABLE | DISABLE
<set_option> ::=
DEFAULT_DATABASE = database
| DEFAULT_LANGUAGE = language
인수
SQL 및 Microsoft Entra 로그인에 적용되는 인수
login_name
변경 중인 SQL Server 로그인의 이름을 지정합니다. Microsoft Entra 로그인은 user@domain 지정해야 합니다. 예를 들어 john.smith@contoso.com또는 Microsoft Entra 그룹 또는 애플리케이션 이름으로 표시됩니다. Microsoft Entra 로그인의 경우 login_namemaster
데이터베이스에서 만든 기존 Microsoft Entra 로그인에 해당해야 합니다.
ENABLE | 비활성화
이 로그인을 사용하거나 사용하지 않도록 설정합니다. 로그인을 사용하지 않도록 설정해도 이미 연결된 로그인의 동작에는 영향을 주지 않습니다. (KILL
문을 사용하여 기존 연결을 종료합니다.) 사용하지 않도록 설정된 로그인은 사용 권한을 유지하며 여전히 가장할 수 있습니다.
DEFAULT_DATABASE = 데이터베이스
로그인에 할당할 기본 데이터베이스를 지정합니다.
DEFAULT_LANGUAGE = 언어
로그인에 할당할 기본 언어를 지정합니다. 모든 SQL Database 로그인의 기본 언어는 영어이며 변경할 수 없습니다. Linux의 SQL Server에서 sa
로그인의 기본 언어는 영어이지만 변경할 수 있습니다.
SQL 로그인에만 적용되는 인수
PASSWORD = '암호'
SQL Server 로그인에만 적용됩니다. 변경 중인 로그인의 암호를 지정합니다. 암호는 대/소문자를 구분합니다. Microsoft Entra 로그인과 같은 외부 로그인과 함께 사용할 경우에도 암호가 적용되지 않습니다.
SQL Database에 대한 지속적인 활성 연결에는 적어도 10시간마다 다시 인증(데이터베이스 엔진에서 수행)이 필요합니다. 데이터베이스 엔진은 원래 제출된 암호를 사용하여 재인증하려고 시도하며 사용자 입력이 필요하지 않습니다. 성능상의 이유로 SQL Database에서 암호가 다시 설정되면 연결 풀링으로 인해 연결이 다시 설정되더라도 연결이 다시 인증되지 않습니다. 이는 온-프레미스 SQL Server의 동작과 다릅니다. 연결에 처음 권한이 부여된 이후 암호가 변경된 경우 연결을 종료하고 새 암호를 사용하여 새 연결을 만들어야 합니다. KILL DATABASE CONNECTION 권한이 있는 사용자는 KILL 명령을 사용하여 SQL Database에 대한 연결을 명시적으로 종료할 수 있습니다. 자세한 내용은 KILL
PASSWORD = hashed_password
HASHED 키워드에만 적용됩니다. 생성되는 로그인에 대한 암호의 해시된 값을 지정합니다.
해시
SQL Server 로그인에만 적용됩니다. PASSWORD 인수 다음에 입력한 암호가 이미 해시되도록 지정합니다. 이 옵션을 선택하지 않으면 데이터베이스에 저장되기 전에 암호가 해시됩니다. 이 옵션은 두 서버 간의 로그인 동기화에만 사용해야 합니다. HASHED 옵션을 사용하여 암호를 정기적으로 변경하지 마세요.
OLD_PASSWORD = 'old_password'
SQL Server 로그인에만 적용됩니다. 새 암호를 할당할 로그인의 현재 암호입니다. 암호는 대/소문자를 구분합니다.
MUST_CHANGE
SQL Server 로그인에만 적용됩니다. 이 옵션이 포함된 경우 SQL Server는 변경된 로그인을 처음 사용할 때 업데이트된 암호를 묻는 메시지를 표시합니다.
NAME = login_name
이름을 바꿀 로그인의 새 이름입니다. 로그인이 Windows 로그인인 경우 새 이름에 해당하는 Windows 보안 주체의 SID가 SQL Server의 로그인과 연결된 SID와 일치해야 합니다. SQL Server 로그인의 새 이름은 백슬래시 문자(\)를 포함할 수 없습니다.
CHECK_EXPIRATION = { ON | OFF }
SQL Server 로그인에만 적용됩니다. 이 로그인에 암호 만료 정책을 적용할지 여부를 지정합니다. 기본값은 OFF입니다.
CHECK_POLICY = { ON | OFF }
SQL Server 로그인에만 적용됩니다. SQL Server가 실행 중인 컴퓨터의 Windows 암호 정책이 이 로그인에 적용되도록 지정합니다. 기본값은 ON입니다.
CREDENTIAL = credential_name
SQL Server 로그인에 매핑할 자격 증명의 이름입니다. 자격 증명이 서버에 이미 있어야 합니다. 자세한 내용은 자격 증명참조하세요. 자격 증명은 sa 로그인에 매핑할 수 없습니다.
자격 증명 없음
서버 자격 증명에 대한 로그인의 기존 매핑을 제거합니다. 자세한 내용은 자격 증명참조하세요.
잠금 해제
SQL Server 로그인에만 적용됩니다. 잠긴 로그인의 잠금을 해제할 것을 지정합니다.
자격 증명 추가
EKM(Extensible Key Management) 공급자 자격 증명을 로그인에 추가합니다. 자세한 내용은 EKM(확장 가능 키 관리)참조하세요.
DROP CREDENTIAL
로그인에서 EKM(Extensible Key Management) 공급자 자격 증명을 제거합니다. 자세한 내용은 EKM(확장 가능 키 관리)참조하세요.
발언
CHECK_POLICY ON으로 설정된 경우 HASHED 인수를 사용할 수 없습니다.
CHECK_POLICY ON으로 변경되면 다음 동작이 발생합니다.
- 암호 기록은 현재 암호 해시의 값으로 초기화됩니다.
CHECK_POLICY OFF로 변경되면 다음 동작이 발생합니다.
- CHECK_EXPIRATION OFF로도 설정됩니다.
- 암호 기록이 지워집니다.
- lockout_time 값이 다시 설정됩니다.
MUST_CHANGE 지정한 경우 CHECK_EXPIRATION 및 CHECK_POLICY ON으로 설정해야 합니다. 그렇지 않으면 문이 실패합니다.
CHECK_POLICY OFF로 설정된 경우 CHECK_EXPIRATION ON으로 설정할 수 없습니다. 이러한 옵션 조합이 포함된 ALTER LOGIN 문은 실패합니다.
DISABLE 인수와 함께 ALTER_LOGIN 사용하여 Windows 그룹에 대한 액세스를 거부할 수 없습니다. 이것은 의도적으로 설계되었습니다. 예를 들어 ALTER_LOGIN [domain\group] DISABLE는 다음 오류 메시지를 반환합니다.
"Msg 15151, Level 16, State 1, Line 1 "Cannot alter the login '*Domain\Group*', because it doesn't exist or you don't have permission."
SQL Database에서 연결을 인증하는 데 필요한 로그인 데이터 및 서버 수준 방화벽 규칙은 각 데이터베이스에 일시적으로 캐시됩니다. 이 캐시는 주기적으로 새로 고쳐집니다. 인증 캐시를 강제로 새로 고치고 데이터베이스에 최신 버전의 로그인 테이블이 있는지 확인하려면 DBCC FLUSHAUTHCACHE실행합니다.
권한을
ALTER ANY LOGIN 권한이 필요합니다.
CREDENTIAL 옵션을 사용하는 경우 ALTER ANY CREDENTIAL 권한도 필요합니다.
변경 중인 로그인이 sysadmin 고정 서버 역할 또는 CONTROL SERVER 사용 권한 피부여자의 구성원인 경우 다음을 변경할 때 CONTROL SERVER 권한도 필요합니다.
- 이전 암호를 제공하지 않고 암호를 다시 설정합니다.
- MUST_CHANGE, CHECK_POLICY 또는 CHECK_EXPIRATION 사용하도록 설정합니다.
- 로그인 이름을 변경합니다.
- 로그인을 사용하거나 사용하지 않도록 설정합니다.
- 로그인을 다른 자격 증명에 매핑합니다.
보안 주체는 자체 로그인에 대한 암호, 기본 언어 및 기본 데이터베이스를 변경할 수 있습니다.
sysadmin
권한이 있는 SQL 보안 주체만 Microsoft Entra 로그인에 대해 ALTER LOGIN 명령을 실행할 수 있습니다.
예제
이러한 예제에는 다른 SQL 제품을 사용하는 예제도 포함되어 있습니다. 지원되는 이전 인수를 확인합니다.
A. 사용하지 않도록 설정된 로그인 사용
다음 예제에서는 로그인 Mary5
사용하도록 설정합니다.
ALTER LOGIN Mary5 ENABLE;
B. 로그인 암호 변경
다음 예제에서는 로그인 Mary5
암호를 강력한 암호로 변경합니다.
ALTER LOGIN Mary5 WITH PASSWORD = '<enterStrongPasswordHere>';
C. 로그인 이름 변경
다음 예제에서는 로그인 Mary5
이름을 John2
변경합니다.
ALTER LOGIN Mary5 WITH NAME = John2;
D. 자격 증명에 로그인 매핑
다음 예제에서는 로그인 John2
자격 증명 Custodian04
매핑합니다.
ALTER LOGIN John2 WITH CREDENTIAL = Custodian04;
E. 확장 가능한 키 관리 자격 증명에 로그인 매핑
다음 예제에서는 로그인 Mary5
EKM 자격 증명 EKMProvider1
매핑합니다.
적용: SQL Server 2008(10.0.x) 이상 및 Azure SQL Managed Instance.
ALTER LOGIN Mary5 ADD CREDENTIAL EKMProvider1;
GO
F. 로그인 잠금 해제
SQL Server 로그인의 잠금을 해제하려면 다음 문을 실행하여 ****
원하는 계정 암호로 바꿉니다.
ALTER LOGIN [Mary5] WITH PASSWORD = '****' UNLOCK;
GO
암호를 변경하지 않고 로그인의 잠금을 해제하려면 확인 정책을 끈 다음 다시 켭니다.
ALTER LOGIN [Mary5] WITH CHECK_POLICY = OFF;
ALTER LOGIN [Mary5] WITH CHECK_POLICY = ON;
GO
G. HASHED를 사용하여 로그인 암호 변경
다음 예제에서는 TestUser
로그인의 암호를 이미 해시된 값으로 변경합니다.
적용: SQL Server 2008(10.0.x) 이상 및 Azure SQL Managed Instance.
ALTER LOGIN TestUser WITH PASSWORD = 0x01000CF35567C60BFB41EBDE4CF700A985A13D773D6B45B90900 HASHED;
GO
H. Microsoft Entra 사용자의 로그인을 사용하지 않도록 설정
다음 예제에서는 Microsoft Entra 사용자의 로그인을 사용하지 않도록 설정합니다. joe@contoso.com.
ALTER LOGIN [joe@contoso.com] DISABLE;
관련 콘텐츠
- 자격 증명
- 로그인 만들기
- DROP 로그인
- CREDENTIAL 만들기
- EVENTDATA
- EKM(확장 가능 키 관리)
SQL Server
SQL Database
SQL Managed Instance
* Azure Synapse
분석 *
Azure Synapse Analytics
Azure Synapse 구문
ALTER LOGIN login_name
{
<status_option>
| WITH <set_option> [ , .. .n ]
}
[;]
<status_option> ::=
ENABLE | DISABLE
<set_option> ::=
PASSWORD = 'password'
[
OLD_PASSWORD = 'oldpassword'
]
| NAME = login_name
인수
login_name
변경 중인 SQL Server 로그인의 이름을 지정합니다. 도메인 로그인은 [domain\user] 형식으로 대괄호로 묶어야 합니다.
ENABLE | 비활성화
이 로그인을 사용하거나 사용하지 않도록 설정합니다. 로그인을 사용하지 않도록 설정해도 이미 연결된 로그인의 동작에는 영향을 주지 않습니다. (KILL
문을 사용하여 기존 연결을 종료합니다.) 사용하지 않도록 설정된 로그인은 사용 권한을 유지하며 여전히 가장할 수 있습니다.
PASSWORD = '암호'
SQL Server 로그인에만 적용됩니다. 변경 중인 로그인의 암호를 지정합니다. 암호는 대/소문자를 구분합니다.
SQL Database에 대한 지속적인 활성 연결에는 적어도 10시간마다 다시 인증(데이터베이스 엔진에서 수행)이 필요합니다. 데이터베이스 엔진은 원래 제출된 암호를 사용하여 재인증하려고 시도하며 사용자 입력이 필요하지 않습니다. 성능상의 이유로 SQL Database에서 암호가 다시 설정되면 연결 풀링으로 인해 연결이 다시 설정되더라도 연결이 다시 인증되지 않습니다. 이는 온-프레미스 SQL Server의 동작과 다릅니다. 연결에 처음 권한이 부여된 이후 암호가 변경된 경우 연결을 종료하고 새 암호를 사용하여 새 연결을 만들어야 합니다. KILL DATABASE CONNECTION 권한이 있는 사용자는 KILL 명령을 사용하여 SQL Database에 대한 연결을 명시적으로 종료할 수 있습니다. 자세한 내용은 KILL
중요하다
로그인(또는 포함된 데이터베이스 사용자)이 연결되고 인증되면 연결은 로그인에 대한 ID 정보를 캐시합니다. Windows 인증 로그인의 경우 Windows 그룹의 멤버 자격에 대한 정보가 포함됩니다. 연결이 유지되는 한 로그인의 ID는 인증된 상태로 유지됩니다. 암호 재설정 또는 Windows 그룹 멤버 자격 변경과 같은 ID를 강제로 변경하려면 로그인이 인증 기관(Windows 또는 SQL Server)에서 로그아웃하고 다시 로그인해야 합니다. sysadmin 고정 서버 역할 또는 ALTER ANY CONNECTION 권한이 있는 로그인은 KILL 명령을 사용하여 연결을 종료하고 로그인이 다시 연결되도록 강제할 수 있습니다. SQL Server Management Studio는 개체 탐색기 및 쿼리 편집기 창에 대한 여러 연결을 열 때 연결 정보를 다시 사용할 수 있습니다. 모든 연결을 닫아 강제로 다시 연결합니다.
OLD_PASSWORD = 'old_password'
SQL Server 로그인에만 적용됩니다. 새 암호를 할당할 로그인의 현재 암호입니다. 암호는 대/소문자를 구분합니다.
NAME = login_name
이름을 바꿀 로그인의 새 이름입니다. Windows 로그인인 경우 새 이름에 해당하는 Windows 보안 주체의 SID가 SQL Server의 로그인과 연결된 SID와 일치해야 합니다. SQL Server 로그인의 새 이름은 백슬래시 문자(\)를 포함할 수 없습니다.
발언
SQL Database에서 연결을 인증하는 데 필요한 로그인 데이터 및 서버 수준 방화벽 규칙은 각 데이터베이스에 일시적으로 캐시됩니다. 이 캐시는 주기적으로 새로 고쳐집니다. 인증 캐시를 강제로 새로 고치고 데이터베이스에 최신 버전의 로그인 테이블이 있는지 확인하려면 DBCC FLUSHAUTHCACHE실행합니다.
권한을
ALTER ANY LOGIN 권한이 필요합니다.
변경 중인 로그인이 sysadmin 고정 서버 역할 또는 CONTROL SERVER 사용 권한 피부여자의 구성원인 경우 다음을 변경할 때 CONTROL SERVER 권한도 필요합니다.
- 이전 암호를 제공하지 않고 암호를 다시 설정합니다.
- 로그인 이름을 변경합니다.
- 로그인을 사용하거나 사용하지 않도록 설정합니다.
- 로그인을 다른 자격 증명에 매핑합니다.
보안 주체는 자체 로그인에 대한 암호를 변경할 수 있습니다.
예제
이러한 예제에는 다른 SQL 제품을 사용하는 예제도 포함되어 있습니다. 지원되는 이전 인수를 확인합니다.
A. 사용하지 않도록 설정된 로그인 사용
다음 예제에서는 로그인 Mary5
사용하도록 설정합니다.
ALTER LOGIN Mary5 ENABLE;
B. 로그인 암호 변경
다음 예제에서는 로그인 Mary5
암호를 강력한 암호로 변경합니다.
ALTER LOGIN Mary5 WITH PASSWORD = '<enterStrongPasswordHere>';
C. 로그인 이름 변경
다음 예제에서는 로그인 Mary5
이름을 John2
변경합니다.
ALTER LOGIN Mary5 WITH NAME = John2;
D. 자격 증명에 로그인 매핑
다음 예제에서는 로그인 John2
자격 증명 Custodian04
매핑합니다.
ALTER LOGIN John2 WITH CREDENTIAL = Custodian04;
E. 확장 가능한 키 관리 자격 증명에 로그인 매핑
다음 예제에서는 로그인 Mary5
EKM 자격 증명 EKMProvider1
매핑합니다.
적용 대상: SQL Server 2008(10.0.x) 이상
ALTER LOGIN Mary5 ADD CREDENTIAL EKMProvider1;
GO
F. 로그인 잠금 해제
SQL Server 로그인의 잠금을 해제하려면 다음 문을 실행하여 ****
원하는 계정 암호로 바꿉니다.
ALTER LOGIN [Mary5] WITH PASSWORD = '****' UNLOCK;
GO
G. HASHED를 사용하여 로그인 암호 변경
다음 예제에서는 TestUser
로그인의 암호를 이미 해시된 값으로 변경합니다.
적용 대상: SQL Server 2008(10.0.x) 이상
ALTER LOGIN TestUser WITH PASSWORD = 0x01000CF35567C60BFB41EBDE4CF700A985A13D773D6B45B90900 HASHED;
GO
관련 콘텐츠
- 자격 증명
- 로그인 만들기
- DROP 로그인
- CREDENTIAL 만들기
- EVENTDATA
- EKM(확장 가능 키 관리)
SQL Server
SQL Database
SQL Managed Instance
Azure Synapse
분석
* 분석
PDW(플랫폼 시스템) *
분석 플랫폼 시스템
Analytics 플랫폼 시스템 구문
ALTER LOGIN login_name
{
<status_option>
| WITH <set_option> [ , ... ]
}
<status_option> ::= ENABLE | DISABLE
<set_option> ::=
PASSWORD = 'password'
[
OLD_PASSWORD = 'oldpassword'
| <password_option> [ <password_option> ]
]
| NAME = login_name
| CHECK_POLICY = { ON | OFF }
| CHECK_EXPIRATION = { ON | OFF }
<password_option> ::=
MUST_CHANGE | UNLOCK
인수
login_name
변경 중인 SQL Server 로그인의 이름을 지정합니다. 도메인 로그인은 [domain\user] 형식으로 대괄호로 묶어야 합니다.
ENABLE | 비활성화
이 로그인을 사용하거나 사용하지 않도록 설정합니다. 로그인을 사용하지 않도록 설정해도 이미 연결된 로그인의 동작에는 영향을 주지 않습니다. (KILL
문을 사용하여 기존 연결을 종료합니다.) 사용하지 않도록 설정된 로그인은 사용 권한을 유지하며 여전히 가장할 수 있습니다.
PASSWORD = '암호'
SQL Server 로그인에만 적용됩니다. 변경 중인 로그인의 암호를 지정합니다. 암호는 대/소문자를 구분합니다.
중요하다
로그인(또는 포함된 데이터베이스 사용자)이 연결되고 인증되면 연결은 로그인에 대한 ID 정보를 캐시합니다. Windows 인증 로그인의 경우 Windows 그룹의 멤버 자격에 대한 정보가 포함됩니다. 연결이 유지되는 한 로그인의 ID는 인증된 상태로 유지됩니다. 암호 재설정 또는 Windows 그룹 멤버 자격 변경과 같은 ID를 강제로 변경하려면 로그인이 인증 기관(Windows 또는 SQL Server)에서 로그아웃하고 다시 로그인해야 합니다. sysadmin 고정 서버 역할 또는 ALTER ANY CONNECTION 권한이 있는 로그인은 KILL 명령을 사용하여 연결을 종료하고 로그인이 다시 연결되도록 강제할 수 있습니다. SQL Server Management Studio는 개체 탐색기 및 쿼리 편집기 창에 대한 여러 연결을 열 때 연결 정보를 다시 사용할 수 있습니다. 모든 연결을 닫아 강제로 다시 연결합니다.
OLD_PASSWORD = 'old_password'
SQL Server 로그인에만 적용됩니다. 새 암호를 할당할 로그인의 현재 암호입니다. 암호는 대/소문자를 구분합니다.
MUST_CHANGE
SQL Server 로그인에만 적용됩니다. 이 옵션이 포함된 경우 SQL Server는 변경된 로그인을 처음 사용할 때 업데이트된 암호를 묻는 메시지를 표시합니다.
NAME = login_name
이름을 바꿀 로그인의 새 이름입니다. 로그인이 Windows 로그인인 경우 새 이름에 해당하는 Windows 보안 주체의 SID가 SQL Server의 로그인과 연결된 SID와 일치해야 합니다. SQL Server 로그인의 새 이름은 백슬래시 문자(\)를 포함할 수 없습니다.
CHECK_EXPIRATION = { ON | OFF }
SQL Server 로그인에만 적용됩니다. 이 로그인에 암호 만료 정책을 적용할지 여부를 지정합니다. 기본값은 OFF입니다.
CHECK_POLICY = { ON | OFF }
SQL Server 로그인에만 적용됩니다. SQL Server가 실행 중인 컴퓨터의 Windows 암호 정책이 이 로그인에 적용되도록 지정합니다. 기본값은 ON입니다.
잠금 해제
SQL Server 로그인에만 적용됩니다. 잠긴 로그인의 잠금을 해제할 것을 지정합니다.
발언
CHECK_POLICY ON으로 설정된 경우 HASHED 인수를 사용할 수 없습니다.
CHECK_POLICY ON으로 변경되면 다음 동작이 발생합니다.
- 암호 기록은 현재 암호 해시의 값으로 초기화됩니다.
CHECK_POLICY OFF로 변경되면 다음 동작이 발생합니다.
- CHECK_EXPIRATION OFF로도 설정됩니다.
- 암호 기록이 지워집니다.
- lockout_time 값이 다시 설정됩니다.
MUST_CHANGE 지정한 경우 CHECK_EXPIRATION 및 CHECK_POLICY ON으로 설정해야 합니다. 그렇지 않으면 문이 실패합니다.
CHECK_POLICY OFF로 설정된 경우 CHECK_EXPIRATION ON으로 설정할 수 없습니다. 이러한 옵션 조합이 포함된 ALTER LOGIN 문은 실패합니다.
DISABLE 인수와 함께 ALTER_LOGIN 사용하여 Windows 그룹에 대한 액세스를 거부할 수 없습니다. 이것은 의도적으로 설계되었습니다. 예를 들어 ALTER_LOGIN [domain\group] DISABLE는 다음 오류 메시지를 반환합니다.
"Msg 15151, Level 16, State 1, Line 1 "Cannot alter the login '*Domain\Group*', because it doesn't exist or you don't have permission."
SQL Database에서 연결을 인증하는 데 필요한 로그인 데이터 및 서버 수준 방화벽 규칙은 각 데이터베이스에 일시적으로 캐시됩니다. 이 캐시는 주기적으로 새로 고쳐집니다. 인증 캐시를 강제로 새로 고치고 데이터베이스에 최신 버전의 로그인 테이블이 있는지 확인하려면 DBCC FLUSHAUTHCACHE실행합니다.
권한을
ALTER ANY LOGIN 권한이 필요합니다.
CREDENTIAL 옵션을 사용하는 경우 ALTER ANY CREDENTIAL 권한도 필요합니다.
변경 중인 로그인이 sysadmin 고정 서버 역할 또는 CONTROL SERVER 사용 권한 피부여자의 구성원인 경우 다음을 변경할 때 CONTROL SERVER 권한도 필요합니다.
- 이전 암호를 제공하지 않고 암호를 다시 설정합니다.
- MUST_CHANGE, CHECK_POLICY 또는 CHECK_EXPIRATION 사용하도록 설정합니다.
- 로그인 이름을 변경합니다.
- 로그인을 사용하거나 사용하지 않도록 설정합니다.
- 로그인을 다른 자격 증명에 매핑합니다.
보안 주체는 자체 로그인에 대한 암호, 기본 언어 및 기본 데이터베이스를 변경할 수 있습니다.
예제
이러한 예제에는 다른 SQL 제품을 사용하는 예제도 포함되어 있습니다. 지원되는 이전 인수를 확인합니다.
A. 사용하지 않도록 설정된 로그인 사용
다음 예제에서는 로그인 Mary5
사용하도록 설정합니다.
ALTER LOGIN Mary5 ENABLE;
B. 로그인 암호 변경
다음 예제에서는 로그인 Mary5
암호를 강력한 암호로 변경합니다.
ALTER LOGIN Mary5 WITH PASSWORD = '<enterStrongPasswordHere>';
C. 로그인 이름 변경
다음 예제에서는 로그인 Mary5
이름을 John2
변경합니다.
ALTER LOGIN Mary5 WITH NAME = John2;
D. 자격 증명에 로그인 매핑
다음 예제에서는 로그인 John2
자격 증명 Custodian04
매핑합니다.
ALTER LOGIN John2 WITH CREDENTIAL = Custodian04;
E. 확장 가능한 키 관리 자격 증명에 로그인 매핑
다음 예제에서는 로그인 Mary5
EKM 자격 증명 EKMProvider1
매핑합니다.
적용 대상: SQL Server 2008(10.0.x) 이상
ALTER LOGIN Mary5 ADD CREDENTIAL EKMProvider1;
GO
F. 로그인 잠금 해제
SQL Server 로그인의 잠금을 해제하려면 다음 문을 실행하여 ****
원하는 계정 암호로 바꿉니다.
ALTER LOGIN [Mary5] WITH PASSWORD = '****' UNLOCK;
GO
암호를 변경하지 않고 로그인의 잠금을 해제하려면 확인 정책을 끈 다음 다시 켭니다.
ALTER LOGIN [Mary5] WITH CHECK_POLICY = OFF;
ALTER LOGIN [Mary5] WITH CHECK_POLICY = ON;
GO
G. HASHED를 사용하여 로그인 암호 변경
다음 예제에서는 TestUser
로그인의 암호를 이미 해시된 값으로 변경합니다.
적용 대상: SQL Server 2008(10.0.x) 이상
ALTER LOGIN TestUser WITH PASSWORD = 0x01000CF35567C60BFB41EBDE4CF700A985A13D773D6B45B90900 HASHED;
GO
관련 콘텐츠
- 자격 증명
- 로그인 만들기
- DROP 로그인
- CREDENTIAL 만들기
- EVENTDATA
- EKM(확장 가능 키 관리)