Question: can db_ddladmin create stored procedures?
Answer: One thing the db_ddladmin does not do is allow the user to alter permissions on the objects. So a member of this role can create or modify the object, such as a stored procedure, but not alter the permissions on it unless he or she is the owner. ... The db_ddladmin role cannot alter security.