มีคำสั่งใน SQL Server ที่คืนค่าบัญชี Login ทั้งหมดและข้อมูลเกี่ยวกับพวกเขาหรือไม่? ใน SQL Server มีตารางแคตตาล็อกเสมือน (VIEW หรือตารางระบบ) ชื่อ sys.sql_logins คุณสามารถรันคำสั่งด้านบนและผลลัพธ์จะคืนค่า Login ทั้งหมดที่สร้างใน SQL Server พร้อมข้อมูลเกี่ยวกับพวกเขา
เพื่อดึงบัญชี Login ทั้งหมดใน SQL Server ให้รันคำสั่งต่อไปนี้:
SELECT *
FROM master.sys.sql_logins;
VIEW sys.sql_logins ประกอบด้วยคอลัมน์ต่อไปนี้:
| คอลัมน์ | คำอธิบาย |
|---|---|
| name | นี่คือ ten_dangnhap ที่ระบุในคำสั่ง CREATE LOGIN |
| principal_id | ค่าตัวเลข ID |
| sid | ค่าเฉพาะที่ระบุในคำสั่ง CREATE LOGIN |
| type | ประเภท Principal: S=SQL User, U=Windows User, G=Windows Group, A=Application Role, R=Database Role, C=Certificate Mapped, K=Asymmetric Key Mapped |
| type_desc | คำอธิบายประเภท: SQL_USER, WINDOWS_USER, WINDOWS_GROUP, APPLICATION_ROLE, DATABASE_ROLE, CERTIFICATE_MAPPED_USER, ASSYMETRIC_KEY_MAPPED_USER |
| is_disabled | 0 หรือ 1 |
| create_date | วันที่/เวลาสร้าง Login ด้วย CREATE LOGIN |
| modify_date | วันที่/เวลาแก้ไขล่าสุดด้วย ALTER LOGIN |
| default_database_name | ฐานข้อมูลเริ่มต้นใน CREATE LOGIN หรือ ALTER LOGIN |
| default_language_name | ภาษาเริ่มต้นใน CREATE LOGIN หรือ ALTER LOGIN |
| credential_id | ID ใบรับรองที่ใช้ใน CREATE LOGIN หรือ ALTER LOGIN |
| is_policy_checked | 0 หรือ 1 ระบุใน CREATE LOGIN หรือ ALTER LOGIN |
| is_expiration_checked | 0 หรือ 1 ระบุใน CREATE LOGIN หรือ ALTER LOGIN |
| password_hash | ค่าแฮชของรหัสผ่าน |
ความเข้ากันได้ในเวอร์ชันเก่า
ใน SQL Server เวอร์ชันเก่า สามารถดึงข้อมูล Login ทั้งหมดได้โดยใช้ตารางระบบ SQL Server 2000 คือ sys.syslogins ด้วยคำสั่งด้านล่าง:
SELECT *
FROM master.sys.syslogins;
ตารางระบบ sys.syslogins (SQL Server 2000) มีคอลัมน์ดังต่อไปนี้...