• To list all modules where an "execute as" has been specified, you can run the below SQL.

    SELECTobjects.type_desc AS ObjectTypeDescription

    ,objects.type AS ObjectTypeCd

    ,SCHEMA_NAME(objects.SCHEMA_ID) AS SchemaName

    ,objects.nameAS ObjectName

    ,USER_NAME(sql_modules.execute_as_principal_id) ExecAsUserName

    ,objects.SCHEMA_ID

    ,sql_modules.execute_as_principal_id

    FROMsys.objectsAS objects

    JOINsys.sql_modulesAS sql_modules

    ON sql_modules.OBJECT_ID= objects.OBJECT_ID

    WHEREsql_modules.execute_as_principal_id IS NOT NULL -- Exec As is not "owner"

    ANDsql_modules.execute_as_principal_id

    COALESCE(objects.principal_id , objects.SCHEMA_ID )

    SQL = Scarcely Qualifies as a Language