Tìm Login trong SQL Server

Có truy vấn nào trong SQL Server giúp trả về tất cả các tài khoản đăng nhập cùng các thông tin về chúng không? Trên SQL Server có một bảng ảo danh mục (là một VIEW, hay bảng hệ thống) gọi là sys.sql_logins. Bạn có thể chạy truy vấn trên đây và kết quả sẽ trả về tất cả các Login được tạo trong SQL Server cùng thông tin về chúng.

Để lấy tất cả các tài khoản đăng nhập trong SQL Server, chạy lệnh dưới đây.

SELECT *  FROM master.sys.sql_logins;

VIEW sys.sql_logins gồm các cột dưới đây

Cột Giải thích
ten Đây là ten_dangnhap được chỉ định trong lệnh CREATE LOGIN
id_uynhiem Giá trị số
giatri_duynhat Giá trị duy nhất được chỉ định trong lệnh CREATE LOGIN
loai Loại ủy nhiệm:

  • S = người dùng SQL Server
  • U = người dùng Windows
  • G = nhóm Windows
  • A = quyền ứng dụng
  • R = quyền cơ sở dữ liệu
  • C = chứng thực được ánh xạ
  • K = khóa bất đối xứng được ánh xạ
loai_desc Mô tả cho các loại ủy nhiệm:

  • SQL_USER
  • WINDOWS_USER
  • WINDOWS_GROUP
  • APPLICATION_ROLE
  • DATABASE_ROLE
  • CERTIFICATE_MAPPED_USER
  • ASSYMETRIC_KEY_MAPPED_USER
vohieuhoa 0 hoặc 1
ngay_tao Ngày/thời gian tạo Login bằng lệnh CREATE LOGIN
ngay_chinhsua Ngày/thời gian chỉnh sửa Login lần cuối bằng lệnh ALTER LOGIN
ten_cosodulieu_macdinh Đây là cơ sở dữ liệu mặc định trong lệnh CREATE LOGIN hoặc ALTER LOGIN
ten_ngonngu_macdinh Ngôn ngữ mặc định trong lệnh CREATE LOGIN hoặc ALTER LOGIN
id_chungthuc Đây là chứng thực được dùng trong lệnh CREATE LOGIN hoặc ALTER LOGIN
kiemtra_chinhsach 0 hoặc 1, được chỉ định trong lệnh CREATE LOGIN hoặc ALTER LOGIN
kiemtra_thoihan 0 hoặc 1, được chỉ định trong lệnh CREATE LOGIN hoặc ALTER LOGIN
makhau_bam Giá trị băm của mật khẩu

Tương thích trong các phiên bản cũ

Ở các bản SQL Server cũ, bạn có thể lấy thông tin của tất cả các Login bằng bảng hệ thống SQL Server 2000 như sys.syslogins, bằng lệnh dưới đây.

SELECT *
FROM master.sys.syslogins;

Bảng hệ thống sys.syslogins (SQL Server 2000) chứa các cột sau.

Cột Giải thích
giatri_duynhat Giá trị duy nhất được chỉ định trong lệnh CREATE LOGIN
trangthai Không áp dụng
ngaytao Ngày/thời gian tạo Login bằng lệnh CREATE LOGIN
ngaycapnhat Ngày/thời gian chỉnh sửa Login lần cuối bằng lệnh ALTER LOGIN
accdate Không áp dụng
totcpu Không áp dụng
totio Không áp dụng
spacelimit Không áp dụng
timelimit Không áp dụng
resultlimit Không áp dụng
ten Đây là ten_dangnhap được chỉ định trong lệnh CREATE LOGIN.
tendb Cơ sở dữ liệu mặc định
matkhau NULL
ngonngu Ngôn ngữ mặc định
tuchoidangnhap 0 hoặc 1
duoctruycap 0 hoặc 1
khongphaiten 0 hoặc 1
khongphainhom 0 hoặc 1
khongphainguoidung 0 hoặc 1
adminhethong 0 hoặc 1
adminbaomat 0 hoặc 1
adminsetup 0 hoặc 1
adminquytrinh 0 hoặc 1
adminodia 0 hoặc 1
nguoitaodb 0 hoặc 1
adminbulk 0 hoặc 1
tendangnhap Đây là ten_dangnhap được chỉ định trong lệnh CREATE LOGIN.