特定の役割に対するSELECT権限を持つ、SQLServer2008データベース内のすべてのテーブルのリストを取得するように求められました。そのGRANTSELECT権限を取り消すスクリプトを作成する必要があるため、クエリに含める必要があります。
ありがとう。
特定の役割に対するSELECT権限を持つ、SQLServer2008データベース内のすべてのテーブルのリストを取得するように求められました。そのGRANTSELECT権限を取り消すスクリプトを作成する必要があるため、クエリに含める必要があります。
ありがとう。
これは完全な答えではありません(そして、そうすることはできません-私はいじくり回すSQL Serverのインストールがありません)が、うまくいけば、それはあなたを正しい軌道に乗せるでしょう。ストアドプロシージャを実行しています。
USE yourDB;
GO
EXEC sp_table_privileges
@table_name = '%';
結果セット内で、主に3番目の列table_name
と6番目の列に関心がありますprivileges
。
私の考えでは、次のステップは、これが探しているデータであると仮定して、EXECステートメントの結果を一時テーブルに挿入するSQLステートメントでラップし、必要に応じてスライスおよびダイスすることです。この努力は、読者の練習問題として残されています(ナッジナッジ)。このスタックオーバーフローの質問に対する3番目の回答は、上記のクエリを拡張するのに役立つ場合がありますが、いつものようにYMMVです。