• Change to the schema affect the system tables which, unfortunately, cannot have triggers on them.

    You can schedule a 24-hour trace on the server, looking for statements starting with CREATE, DROP or ALTER. But drawbacks with this approach is that you'll pick up creation of temporary objects too. It's also all too easy for someone who suspects they're being "watched" to structure their SQL statements so they're not captured.

    Another option is monitor crdate in sysobjects to tell you what has been created recently. However, the ALTER statement doesn't update this column. The ALTER does however result in the "internal use" column BASE_SCHEMA_VER being incremented.

    Other contributors may have ideas/solutions.


    Cheers,
    - Mark