DataBase/MsSql
MS SQL user 생성 및 삭제 방법
아우럼
2024. 3. 6. 20:00
반응형
오늘은 ms 데이터베이스의 사용자 생성 방법하고 생성 후 유저를 삭제하는 방법에 대해서 알아보겠습니다.
먼저는 SQL Server Management Studio를 이용하여 생성하고 전문가들이 사용하는 방법으로 Transact-SQL을
이용하는 방법도 설명할 예정이니 모두 한 번씩 실습을 해보기를 바랍니다.
MS SQL user 설명
- mssql에서 user 생성 및 삭제는 dba 권한을 가지고 있는 user 가능합니다.
- user를 생성할 때는 create user의 목적에 따라서 생성 후 권한을 부여해 주세요.
- 암호를 지정할 때는 보안에 문제가 없도록 힘들게 생성해 주세요.
- database에 필요한 user는 dba권한 대신 소유권한을 부여해 주세요.
MS SQL user create, delete
SQL Server Management Studio (SSMS)를 통해서 User 생성 방법.
SSMS 열고 데이터베이스에 연결합니다.
1-1. 객체 탐색기(Object explorer) - Security- Login 클릭 - 오른쪽 마우스 - new Login 선택합니다.
1-2. Login New 화면.
- Login name 입력합니다.
- SQL Server authentication을 선택합니다.
- 암호를 입력합니다.
- Enforce passworld expiration 체크 박스를 풀어주세요.
- Default database에서 이전에 만들어 놓은 sampleDB 선택합니다.
1-3. Login New 화면 - User Mapping 선택합니다.
- Users mapped to this login에서 sampleDB 선택합니다.
- Database role membership 영역에서 db_owner 선택합니다.
1-4. Login New 화면 - Status 탭을 선택합니다.
- login - Enabled 선택되어 있는지 확인합니다.
1-5. user 생성된 것을 확인합니다.
Transact-SQL 이용하여 user 생성.
SSMS 열고 데이터베이스에 접합니다.
2-1. SQL 실행 창에 소스를 입력하고 Excute를 클릭합니다.
2-2. 객체 탐색기(Object explorer)에서 생성한 user를 확인합니다.
- 소스 코드
USE [master]
GO
CREATE LOGIN [tsqluser] WITH PASSWORD=N'PAAAA', DEFAULT_DATABASE=[sampleDB], CHECK_EXPIRATION=OFF, CHECK_POLICY=ON
GO
use [master];
GO
USE [sampleDB]
GO
CREATE USER [tsqluser] FOR LOGIN [tsqluser]
GO
USE [sampleDB]
GO
ALTER ROLE [db_owner] ADD MEMBER [tsqluser]
GO
데이터베이스 User 삭제 방법
SQL Server Management Studio (SSMS)를 통해서 user 삭제.
SSMS 열고 데이터베이스에 연결합니다.
3-1. 객체 탐색기(Object explorer) 화면
- Security 선택 - 생성한 유저선택 - 오른쪽 마우스 - Delete 선택합니다.
3-1. 생성한 user 확인 - ok 버튼을 클릭합니다.
- 확인 메시지가 표시되면 예를 클릭하여 user를 완료 삭제합니다.
Transact-SQL 이용하여 생성된 user 삭제.
SSMS 열고 데이터베이스에 접속합니다.
4-1. New Query 창을 선택합니다.
- 삭제 소스를 작성합니다.
4-2. Security에서 생성한 유저가 삭제된 것을 확인합니다.
- 소스 코드
USE [master]
GO
DROP LOGIN [tsqluser]
GO
에러 났을 때 대처방안
메시지 확인입니다.
- Msg 15434, Level 16, State 1, Line 3 사용자가 현재 'tsqluser'(으)로 로그인되어 있기 때문에 이 로그인을 삭제할 수 없습니다.
- 소스 코드
USE [master]
SELECT session_id
FROM sys.dm_exec_sessions
WHERE login_name = 'tsqluser'
KILL 79
USE [master]
GO
DROP LOGIN [tsqluser]
GO
반응형