Lệnh CREATE LOGIN được dùng để tạo tài khoản đăng nhập (Login) kết nối tới SQL Server. Tài khoản đăng nhập sau đó sẽ được ánh xạ vào tài khoản người dùng (nên trước khi tạo người dùng trong SQL Server bạn phải tạo tài khoản đăng nhập trước).
Có 4 loại tài khoản đăng nhập trong SQL Server.
- Tài khoản đăng nhập sử dụng xác thực Windows Authentication.
- Tài khoản đăng nhập sử dụng xác thực SQL Server Authentication.
- Tài khoản đăng nhập từ chứng nhận.
- Tài khoản đăng nhập từ khóa bất đối xứng.
Cú pháp
Tạo tài khoản đăng nhập sử dụng xác thực Windows Authentication
CREATE LOGIN[ten_mien\ten_dangnhap]
FROM WINDOWS
[ WITH DEFAULT_DATABASE = ten_cosodulieu
| DEFAULT_LANGU
AGE = ten_ngonngu];
Tạo tài khoản đăng nhập sử dụng xác thực SQL Server Authentication
CREATE LOGIN ten_dangnhap
WITH PASSWORD = { ‘matkhau’ | matkhau_bam HASHED } [ MUST_CHANGE]
[ , SID = giatri_duynhat
| DEFAULT_DATABASE = ten_cosodulieu
| DEFAULT_LANGUAGE = ten_ngonngu
| CHECK_EXPIRATION = { ON | OFF }
| CHECK_POLICY = { ON | OFF }
| CREDENTIAL = ten_c
hungthuc];
Tạo tài khoản đăng nhập từ chứng nhận
CREATE LOGIN ten_dangnhap
FROM CERTIFICATE te
n_chungnhan;
Tạo tài khoản đăng nhập từ khóa bất đối xứng
CREATE LOGIN ten_dangnhap
FROM ASYMM
ETRIC KEY ten_khoabatdoixung;
Tên biến hoặc giá trị biến
ten_mien
Tên của tài khoản tên miền Windows (Windows domain).
Kiến thức cơ bản về mạng: Phần 6 - Windows Domain
ten_dangnhap
Tên của tài khoản đăng nhập.
ten_cosodulieu
Cơ sở dữ liệu mặc định
ten_ngonngu
Ngôn ngữ mặc định cho tài khoản đăng nhập.
CHECK_EXPIRATION
Mặc định được đặt là OFF. Lựa chọn này quyết định chính sách hết hạn mật khẩu. Phải đặt CHECK_EXPIRATION = ON nếu dùng MUST_CHANGE.
matkhau
Mật khẩu để đăng nhập tài khoản.
matkhau_bam
Giá trị hàm băm của mật khẩu đăng nhập.
MUST_CHANGE
Được dùng khi buộc mật khẩu phải thay đổi sau lần đăng nhập đầu tiên.
giatri_duynhat
GUID (Globally Unique Identifier - định danh toàn cầu duy nhất) của tài khoản đăng nhập. Nếu bỏ qua, SQL Server sẽ chỉ định GUID cho tài khoản.
ten_chungthuc
Tên chứng thực của tài khoản đăng nhập.
ten_chungnhan
Tên chứng nhận của tài khoản đăng nhập.
ten_khoabatdongxung
Tên của khóa bất đối xứng của tài khoản đăng nhập.
Lưu ý: Xem thêm lệnh ALTER LOGIN và DROP LOGIN.
Ví dụ sử dụng xác thực Windows Authentication
CREATE LOGIN [test_tenmien\quantrimang]
FROM WINDOWS
;
Lệnh CREATE LOGIN này sẽ tạo tài khoản đăng nhập mới [test_tenmien\quantrimang] và dùng xác thực của Windows.
Ví dụ sử dụng xác thực SQL Server Authentication
CREATE LOGIN quantrimang
WITH PASSWOR
D = ‘mk123’;
Lệnh CREATE LOGIN trên đây tạo tài khoản đăng nhập quantrimang dùng xác thực SQL Server và có mật khẩu là mk123.
Nếu muốn buộc phải thay mật khẩu sau lần đăng nhập đầu tiên, dùng lệnh dưới đây.
CREATE LOGIN quantrimang
WITH PASSWORD = ‘mk123’ MUST_CHANGE,
CHECK_EXPIRATION
= ON;
Lưu ý là MUST_CHANGE không thể dùng nếu CHECK_EXPIRATION để là OFF. Nếu để OFF sẽ bị lỗi.
Ví dụ sử dụng chứng nhận
CREATE LOGIN quantrimangFROM CERTIFICATE chungn
han1;
Ví dụ trên tạo Login mới có tên quantrimang, dùng chứng nhận chungnhan1.
Ví dụ sử dụng khóa bất đối xứng
CREATE LOGIN quantrimang
FROM ASYMMETRI
C KEY khoa_batdoixung1;
Lệnh CREATE LOGIN trên đây tạo Login mới quantrimang dùng khóa bất đối xứng khoa_batdoixung1.
Bài trước: Cấp / Thu hồi quyền trong SQL Server
Bài sau: Lệnh ALTER LOGIN trong SQL Server