SQL Server의 Login 정보와 DB의 User 정보를 일치시키고 싶습니다.
1. Login과 User의 매핑
EXEC sp_change_users_login 'Report';
EXEC sp_change_users_login 'Auto_Fix', 'CFERP_CON', NULL, 'wndrnerp%xp2';
EXEC sp_change_users_login 'Update_One', 'FERP_CON', 'FERP_CON';
2. SID를 가지고 Login 생성하기
: 미러링 구성 시에 반듯이 필요합니다.
: 데이터베이스의 User로는 이미 생성이 되어 있고, 서버의 Login을 생성해야 하는 경우에 사용합니다.
: 데이터베이스가 Write가 안되는 경우(미러링 구성시 보조서버일 경우)는 해당 데이터베이스의 User정보를 가지고 서버의 Login 을 만들어야 합니다.
CREATE LOGIN loginName { WITH {option_list1} | FROM {sources} }
{option_list1} ::=
PASSWORD = { 'password' | hashed_password HASHED } [ MUST_CHANGE ]
[ , {option_list2} [ ,... ] ]
{option_list2} ::=
SID = sid
| DEFAULT_DATABASE = database
| DEFAULT_LANGUAGE = language
| CHECK_EXPIRATION = { ON | OFF}
| CHECK_POLICY = { ON | OFF}
| CREDENTIAL = credential_name
{sources} ::=
WINDOWS [ WITH {windows_options} [ ,... ] ]
| CERTIFICATE certname
| ASYMMETRIC KEY asym_key_name
{windows_options} ::=
DEFAULT_DATABASE = database
| DEFAULT_LANGUAGE = language
: SID를 찾기 위한 쿼리입니다.
SELECT *
FROM sys.server_principals
: 위에서 찾은 SID를 가지고 Login을 생성하는 쿼리입니다.
CREATE LOGIN [test]
WITH
PASSWORD = 'test',
SID = 0x740E5B99822C43409C36C7EA7CD5AF14,
DEFAULT_DATABASE = [master],
CHECK_POLICY = OFF,
CHECK_EXPIRATION = OFF
'운영 > 권한 관리' 카테고리의 다른 글
Register a SPN for SQL Server Authentication with Kerberos (0) | 2021.05.18 |
---|---|
The database principal owns a schema in the database, and cannot be dropped. (0) | 2021.03.12 |
데이터베이스 부여된 권한 조회 (0) | 2020.10.19 |
데이터베이스 이동 시 패스워드를 그대로 Login 이관 (0) | 2019.02.26 |
권한 부여하기 (0) | 2013.11.26 |