Có bất kỳ truy vấn nào trên SQL Server trả về tất cả Người dùng đã tạo không?
Trên SQL Server có một bảng hệ thống được gọi là sys.database_principals. Bạn có thể chạy truy vấn trên và kết quả là tất cả Người dùng được tạo trên cơ sở dữ liệu và thông tin về họ.
Để truy xuất tất cả Người dùng trong SQL Server, hãy chạy lệnh sau:
SELECT *
FROM master.sys.database_principals;
Hệ thống sys.database_principals bao gồm các cột sau:
BỘ SƯU TẬP LƯU Ý Tên người dùng được tạo trong mã chính của lệnh CREATE USER major_id (giá trị số), nhậpNhập mã gốc:
S =Người dùng SQL Server
U =Người dùng Windows
G =Nhóm Windows
A =Vai trò ứng dụng
R =Vai trò cơ sở dữ liệu
C =Chứng chỉ đã được ánh xạ
K =Khóa không đối xứng được ánh xạ
Mô tả các loại chính:
SQL_USER
WINDOWS_USER
WINDOWS_GROUP
APPLICATION_ROLE
DATABASE_ROLE
CERTIFICATE_MAPPED_USER
ASSYMETRIC_KEY_MAPPED_USER
Đối với các phiên bản cũ hơn
Trong các phiên bản cũ hơn của SQL Server, bạn có thể truy xuất tất cả Người dùng bằng cách sử dụng bảng sys.sysusers trong SQL Server 2000. Lệnh như sau:
SELECT *BỘ SƯU TẬP LƯU Ý uid trạng thái Id người dùng (giá trị số duy nhất) Không áp dụng Tên người dùng được tạo trong lệnh TẠO NGƯỜI DÙNG Giá trị Sid được chỉ định trong lệnh TẠO vai trò ĐĂNG NHẬP Không được tạo ngày / Giờ được tạo Người dùng bằng lệnh CREATE NGƯỜI DÙNG cập nhật Ngày / Giờ để chỉnh sửa Người dùng không phải áp dụng mật khẩu Không áp dụng gid Mã nhóm được chỉ định cho Môi trường người dùng Không áp dụng hasdbaccess Giá trị 0 hoặc 1 islogin Giá trị 0 hoặc 1 isntname Giá trị 0 hoặc 1 isntgroup Giá trị 0 hoặc 1 isntuser Giá trị 0 hoặc 1 Issqluser Giá trị 0 hoặc 1 isaliased Giá trị 0 hoặc 1 Giá trị Issqlrole 0 hoặc 1 isapprole Giá trị 0 hoặc 1
FROM master.sys.sysusers;
Xem thêm:
- Tìm thông tin đăng nhập trong SQL Server
- Lệnh CREATE USER trong SQL Server