• you want to use a query to generate the commands for you, based ont he metadata.

    i just tested this: create user/login [Noobie];

    ran the results of the script below.

    logged in as that user, and with Object Explorer, could not see views or procs/functions, but could still see the tables.

    /*--results

    name (No column name)

    VW_BUDGETS_APPLICATION DENY VIEW DEFINITION ON [VW_BUDGETS_APPLICATION] TO SomeRole

    VW_FGSFUNITAFT4 DENY VIEW DEFINITION ON [VW_FGSFUNITAFT4] TO SomeRole

    VW_BUDGETS_AWARD DENY VIEW DEFINITION ON [VW_BUDGETS_AWARD] TO SomeRole

    */

    select name,'DENY VIEW DEFINITION ON ' + QUOTENAME(name) + ' TO SomeRole '

    from sys.objects

    where type_desc IN('VIEW',

    'SQL_STORED_PROCEDURE',

    'AGGREGATE_FUNCTION',

    'SQL_INLINE_TABLE_VALUED_FUNCTION',

    'SQL_TABLE_VALUED_FUNCTION',

    'SQL_SCALAR_FUNCTION')

    Lowell


    --help us help you! If you post a question, make sure you include a CREATE TABLE... statement and INSERT INTO... statement into that table to give the volunteers here representative data. with your description of the problem, we can provide a tested, verifiable solution to your question! asking the question the right way gets you a tested answer the fastest way possible!