sql >> データベース >  >> RDS >> Sqlserver

SQL データベースのすべての許可を表示するにはどうすればよいですか?

    指定されたソリューションは、スキーマまたはデータベース自体に対して権限が付与される場所をカバーしていません。これらは、テーブルに対しても権限を付与します。これにより、これらの状況も発生します。 WHERE 句を permission_name に対して使用して、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
    

    また、db_datawriter は暗黙的な INSERT、UPDATE、および DELETE 権限を付与するため、メンバーシップをチェックする必要があります。つまり、パーミッション DMV またはその派生物には表示されません。



    1. サブクエリが複数の値を返しました...エラーの原因は何ですか?

    2. 単一の更新クエリに必要なトランザクション?

    3. GoogleマップはPHPを使用してMySQLでポリゴンとポイントを保存します

    4. PHP / MySQLでjQuerySlickGridを使用する方法(サーバーデータをロードして変更を保存する)