• Since CCR does not own the dbo schema, you must give permission to ALTER it, too.

    GRANT ALTER ON SCHEMA::dbo TO ccr;

    However, you probably want to create a role, given the permissions to the role, and make ccr a member of the role. For instance:

    CREATE ROLE ModifyTable;

    GO

    GRANT CREATE TABLE TO ModifyTable;

    GRANT ALTER ON SCHEMA::dbo TO ModifyTable;

    GO

    EXEC sp_addrolemember 'ModifyTable', 'ccr';

    GO

    REVOKE CREATE TABLE FROM ccr;

    Now, because a user has ALTER permissions on the schema, he/she can affect existing objects. So you'll have to build a DDL trigger to restrict the role to just being able to touch tables. There are examples of this in the forums and the scripts if you do a search.

    K. Brian Kelley
    @kbriankelley