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

ค้นหา User ใน SQL Server

มีคำสั่งใน SQL Server ที่คืนค่าผู้ใช้ (User) ที่สร้างทั้งหมดหรือไม่?

ใน SQL Server มีตารางระบบชื่อ sys.database_principals คุณสามารถรันคำสั่งด้านบนและผลลัพธ์คือ User ทั้งหมดที่สร้างบนฐานข้อมูลและข้อมูลเกี่ยวกับพวกเขา

เพื่อดึง User ทั้งหมดใน SQL Server ให้รันคำสั่งต่อไปนี้:

SELECT *
FROM master.sys.database_principals;

ระบบ sys.database_principals ประกอบด้วยคอลัมน์ต่อไปนี้:

คอลัมน์หมายเหตุ
nameชื่อผู้ใช้ที่สร้างในคำสั่ง CREATE USER
principal_idรหัส principal (ค่าตัวเลข)
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
default_schema_nameชื่อที่ใช้เมื่อไม่ได้ระบุ schema
create_dateวันที่/เวลาสร้าง User ด้วย CREATE USER
modify_dateวันที่/เวลาแก้ไข User
owning_principal_idID principal ของ User
sidค่า SID ที่ระบุในคำสั่ง CREATE LOGIN
is_fixed_role0 หรือ 1
authentication_typeNONE, WINDOWS, INSTANCE
default_language_nameชื่อภาษาเริ่มต้น
default_language_lcidLCID ภาษาเริ่มต้น

สำหรับเวอร์ชันเก่า

ใน SQL Server เวอร์ชันเก่า สามารถดึง User ทั้งหมดได้โดยใช้ตาราง sys.sysusers ใน SQL Server 2000 คำสั่งดังนี้:

SELECT *
FROM master.sys.sysusers;

ตาราง sys.sysusers มีคอลัมน์: uid, status, name, sid, roles, createdate, updatedate, altuid, password, gid, environ, hasdbaccess, islogin, isntname, isntgroup, isntuser, issqluser, isaliased, issqlrole, isapprole

ดูเพิ่มเติม:

  1. ค้นหา Login ใน SQL Server
  2. คำสั่ง CREATE USER ใน SQL Server