Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Làm cách nào để xem tất cả các khoản trợ cấp cho Cơ sở dữ liệu SQL?

Giải pháp đã cho không bao gồm trường hợp quyền được cấp đối với lược đồ hoặc chính cơ sở dữ liệu, vốn cũng cấp quyền đối với các bảng. Điều này cũng sẽ cung cấp cho bạn những tình huống. Bạn có thể sử dụng mệnh đề WHERE đối với allow_name để hạn chế chỉ DELETE.

SELECT 
    class_desc 
  , CASE WHEN class = 0 THEN DB_NAME()
         WHEN class = 1 THEN OBJECT_NAME(major_id)
         WHEN class = 3 THEN SCHEMA_NAME(major_id) END [Securable]
  , USER_NAME(grantee_principal_id) [User]
  , permission_name
  , state_desc
FROM sys.database_permissions

Ngoài ra, db_datawriter cần phải được kiểm tra tư cách thành viên vì nó cung cấp các quyền CHÈN, CẬP NHẬT và XÓA ngầm, nghĩa là bạn sẽ không thấy nó hiển thị trong DMV cho phép hoặc các công cụ phái sinh của chúng.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tính toán ngày đến hạn sử dụng giờ làm việc và ngày lễ

  2. Chèn 2 triệu hàng vào SQL Server nhanh chóng

  3. Chọn nhóm hàng phù hợp với tất cả các mục trong danh sách

  4. SQL Server FOR XML Path tạo các nút lặp lại

  5. Làm thế nào để bạn đặt lại mật khẩu SA?