Lệnh CREATE LOGIN trong SQL Server

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_LANGUAGE = 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_chungthuc];

Tạo tài khoản đăng nhập từ chứng nhận

CREATE LOGIN ten_dangnhap
FROM CERTIFICATE ten_chungnhan;

Tạo tài khoản đăng nhập từ khóa bất đối xứng

CREATE LOGIN ten_dangnhap
FROM ASYMMETRIC 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 LOGINDROP 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 PASSWORD = ‘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 quantrimang
FROM CERTIFICATE chungnhan1;

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 ASYMMETRIC 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

Thứ Sáu, 10/05/2019 10:43
4,45 👨 9.349
0 Bình luận
Sắp xếp theo