I need to deny drop table access on all logins except sa but I can't seem
to do this without also denying create/modify object access.

I took a different approach and created a new login group called SQLAdmin,
and granted it read, write on all objects. I then granted it create table,
create view, create procedure access. This seems to be fine and restricks
SQLAdmin from dropping objects, but I cant go into design mode to change
views/tables schemas.

Does anyone know any other way?