คำสั่ง CREATE LOGIN ใช้สร้างบัญชีเข้าสู่ระบบ (Login) เพื่อเชื่อมต่อกับ SQL Server บัญชี Login จะถูกแมปไปยังบัญชีผู้ใช้ (User) ภายหลัง (ดังนั้นก่อนสร้าง User ใน SQL Server ต้องสร้าง Login ก่อน)
มี 4 ประเภทของบัญชี Login ใน SQL Server:
- บัญชี Login ใช้การตรวจสอบสิทธิ์ Windows Authentication
- บัญชี Login ใช้การตรวจสอบสิทธิ์ SQL Server Authentication
- บัญชี Login จากใบรับรอง (Certificate)
- บัญชี Login จากกุญแจอสมาตร (Asymmetric Key)
ไวยากรณ์
สร้างบัญชี Login ใช้ Windows Authentication
CREATE LOGIN [ten_mien\ten_dangnhap]
FROM WINDOWS
[WITH DEFAULT_DATABASE = ten_cosodulieu
| DEFAULT_LANGUAGE = ten_ngonngu];
สร้างบัญชี Login ใช้ 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];
สร้างบัญชี Login จากใบรับรอง
CREATE LOGIN
FROM CERTIFICATE ten_chungnhan;
สร้างบัญชี Login จากกุญแจอสมาตร
CREATE LOGIN ten_dangnhap
FROM ASYMMETRIC KEY ten_khoabatdoixung;
ชื่อตัวแปรหรือค่าตัวแปร
ten_mien: ชื่อโดเมน Windows (Windows domain)
ten_dangnhap: ชื่อบัญชี Login
ten_cosodulieu: ฐานข้อมูลเริ่มต้น
ten_ngonngu: ภาษาเริ่มต้นสำหรับบัญชี Login
CHECK_EXPIRATION: ค่าเริ่มต้น OFF ตัวเลือกนี้กำหนดนโยบายหมดอายุรหัสผ่าน ต้องตั้ง CHECK_EXPIRATION = ON หากใช้ MUST_CHANGE
matkhau: รหัสผ่านบัญชี Login
matkhau_bam: ค่าแฮชของรหัสผ่าน Login
MUST_CHANGE: ใช้เมื่อบังคับเปลี่ยนรหัสผ่านหลังเข้าสู่ระบบครั้งแรก
giatri_duynhat: GUID (Globally Unique Identifier) ของบัญชี Login หากละเว้น SQL Server จะกำหนด GUID ให้อัตโนมัติ
ten_chungthuc: ชื่อการตรวจสอบสิทธิ์ของบัญชี Login
ten_chungnhan: ชื่อใบรับรองของบัญชี Login
ten_khoabatdongxung: ชื่อกุญแจอสมาตรของบัญชี Login
หมายเหตุ: ดูเพิ่มเติมคำสั่ง ALTER LOGIN และ DROP LOGIN
ตัวอย่างใช้ Windows Authentication
CREATE LOGIN [test_tenmien\quantrimang]
FROM WINDOWS;
คำสั่ง CREATE LOGIN นี้จะสร้างบัญชี Login ใหม่ [test_tenmien\quantrimang] และใช้การตรวจสอบสิทธิ์ Windows
ตัวอย่างใช้ SQL Server Authentication
CREATE LOGIN quantrimang
WITH PASSWORD = 'mk123';
คำสั่ง CREATE LOGIN ด้านบนสร้างบัญชี Login quantrimang ใช้ SQL Server authentication รหัสผ่านคือ mk123
หากต้องการบังคับเปลี่ยนรหัสผ่านหลังเข้าสู่ระบบครั้งแรก ใช้คำสั่งด้านล่าง
CREATE LOGIN quantrimang
WITH PASSWORD = 'mk123' MUST_CHANGE,
CHECK_EXPIRATION = ON;
โปรดสังเกตว่า MUST_CHANGE ไม่สามารถใช้ได้หาก CHECK_EXPIRATION เป็น OFF หากปิด OFF จะล้มเหลว
ตัวอย่างใช้ใบรับรอง
CREATE LOGIN quantrimang
FROM CERTIFICATE chungnhan1;
ตัวอย่างด้านบนสร้าง Login ใหม่ชื่อ quantrimang ใช้ใบรับรอง chungnhan1
ตัวอย่างใช้กุญแจอสมาตร
CREATE LOGIN quantrimang
FROM ASYMMETRIC KEY khoa_batdoixung1;
คำสั่ง CREATE LOGIN ด้านบนสร้าง Login ใหม่ quantrimang ใช้กุญแจอสมาตร khoa_batdoixung1