Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Bagaimana saya bisa melihat semua hibah untuk Database SQL?

Solusi yang diberikan tidak mencakup di mana izin diberikan terhadap skema atau database itu sendiri, yang juga memberikan izin terhadap tabel. Ini akan memberi Anda situasi itu juga. Anda dapat menggunakan klausa WHERE terhadap permission_name untuk membatasi hanya 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

Selain itu, db_datawriter perlu diperiksa keanggotaannya karena memberikan hak INSERT, UPDATE, dan DELETE implisit, yang berarti Anda tidak akan melihatnya muncul di DMV izin atau turunannya.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara menggunakan batas di Microsoft SQL Server 2008?

  2. membuat tabel #temp secara dinamis dan kemudian digunakan untuk memasukkan data

  3. Bagaimana Hibernate memetakan tipe data SQL nvarchar(max)?

  4. SQL Server 2016:Buat Basis Data

  5. Coldfusion:Berurusan dengan nilai Null di Bidang Tanggal