Since there seems to be no way to strip the procedure definition from comments without parsing cf. this, there seem to be no reliably T-SQL query to answer this question.
Or can I get this information from any system view?
Database Administrators Stack Exchange is a question and answer site for database professionals who wish to improve their database skills and learn from others in the community. It only takes a minute to sign up.
Sign up to join this communitySince there seems to be no way to strip the procedure definition from comments without parsing cf. this, there seem to be no reliably T-SQL query to answer this question.
Or can I get this information from any system view?
No. There is no flag or metadata about "UsesDynamicSQL"
You have to search the definition...
There are 2 ways to execute dynamic SQL
EXEC (..
or EXECUTE ('
You can search for the first in sys.sql_modules, the 2nd using LIKE
WHERE
REPLACE(definition, ' ', '') LIKE '%EXEC(%'
OR
REPLACE(definition, ' ', '') LIKE '%EXECUTE(%'
OR
definition LIKE '%sp[_]executesql%'