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_uynhiemGiá trị số
giatri_duynhatGiá 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
vohieuhoa0 hoặc 1
ngay_taoNgày/thời gian tạo Login bằng lệnh CREATE LOGIN
ngay_chinhsuaNgà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_macdinhNgô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_chinhsach0 hoặc 1, được chỉ định trong lệnh CREATE LOGIN hoặc ALTER LOGIN
kiemtra_thoihan0 hoặc 1, được chỉ định trong lệnh CREATE LOGIN hoặc ALTER LOGIN
makhau_bamGiá 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_duynhatGiá trị duy nhất được chỉ định trong lệnh CREATE LOGIN
trangthaiKhông áp dụng
ngaytaoNgày/thời gian tạo Login bằng lệnh CREATE LOGIN
ngaycapnhatNgày/thời gian chỉnh sửa Login lần cuối bằng lệnh ALTER LOGIN
accdateKhông áp dụng
totcpuKhông áp dụng
totioKhông áp dụng
spacelimitKhông áp dụng
timelimitKhông áp dụng
resultlimitKhông áp dụng
tenĐây là ten_dangnhap được chỉ định trong lệnh CREATE LOGIN.
tendbCơ sở dữ liệu mặc định
matkhauNULL
ngonnguNgôn ngữ mặc định
tuchoidangnhap0 hoặc 1
duoctruycap0 hoặc 1
khongphaiten0 hoặc 1
khongphainhom0 hoặc 1
khongphainguoidung0 hoặc 1
adminhethong0 hoặc 1
adminbaomat0 hoặc 1
adminsetup0 hoặc 1
adminquytrinh0 hoặc 1
adminodia0 hoặc 1
nguoitaodb0 hoặc 1
adminbulk0 hoặc 1
tendangnhapĐây là ten_dangnhap được chỉ định trong lệnh CREATE LOGIN.

Bài trước: Lệnh DROP LOGIN trong SQL Server

Bài sau: Lệnh CREATE USER trong SQL Server

Thứ Sáu, 10/05/2019 10:51
4,52 👨 2.103
0 Bình luận
Sắp xếp theo