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

複数のオブジェクトに対する SQL 許可実行

    ワイルドカードは使用できません。いずれかを すべて に付与する必要があります オブジェクト (またはスキーマ内のすべてのオブジェクト) - または、すべてのオブジェクトを 1 つずつリストする必要があります。

    あなたができることは次のようなものです - SQL Server にこれらのステートメントを生成させます:

    SELECT
       p.Name,
       GrantCmd = 'GRANT EXECUTE ON OBJECT::' + p.name + ' TO [domain\user]'
    FROM sys.procedures p
    WHERE p.Name LIKE 'XU%'
      

    このクエリは、XU で始まるすべてのプロシージャを一覧表示します GRANT EXECUTE ON .... を含む列を作成します。

    これを SQL Server Management Studio で実行し、結果の GrantCmd をコピーするだけです 列を開き、新しいウィンドウに貼り付けて、そこで実行してください。

    もしあなたが本当に これを自動化したい場合は、このクエリをカーソルに変換し、動的 ​​SQL を使用して結果の GrantCmd を自動的に実行することもできます ステートメント....




    1. MySQLの列名とエイリアス

    2. nullセーフな同等性チェックを実行するためのより優れたOracleオペレーターはありますか?

    3. SQL Serverのスカラー値関数が遅くなるのはなぜですか?

    4. Androidを搭載したドライバーJDBCPostgreSQL