Permissions to see and script objects, but not alter them? I am a software developer.

I have a production database that I need full ddl read access to, but not any ddl write or execute access.

Is there a script I can send my DBA that will grant me full ddl read access without allowing me to affect the database?
You will need VIEW DEFINITION on the database and that will give you access to the DDL.

USE &lt;database&gt;;
GRANT VIEW DEFINITION TO &lt;user&gt;;