Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> SQL Server

คำสั่ง CREATE LOGIN ใน SQL Server

คำสั่ง CREATE LOGIN ใช้สร้างบัญชีเข้าสู่ระบบ (Login) เพื่อเชื่อมต่อกับ SQL Server บัญชี Login จะถูกแมปไปยังบัญชีผู้ใช้ (User) ภายหลัง (ดังนั้นก่อนสร้าง User ใน SQL Server ต้องสร้าง Login ก่อน)

มี 4 ประเภทของบัญชี Login ใน SQL Server:

  1. บัญชี Login ใช้การตรวจสอบสิทธิ์ Windows Authentication
  2. บัญชี Login ใช้การตรวจสอบสิทธิ์ SQL Server Authentication
  3. บัญชี Login จากใบรับรอง (Certificate)
  4. บัญชี 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