Restrictions on creating new SQL tables? I'm working on a huge database consist of more than a 1000 table, the database is increasing dramatically and I need to put some restrictions on creating new tables. thinking out loudly, a prompt message could show up when the developer create new table or creating a rule for adding the purpose behind creating the table? Also I need to find a way that temp tables or testing tables will be scheduled somewhere for a clean up process later on.
Please don't hesitate to share any idea could be useful! :)
If this is a production database, you should remove developer's access rights to create tables. This can be achieved via the REVOKE command. You may have further work to do if the developers are adminstrators.

Developers should then create new tables in a developement database and these are migrated to production via the DBA team following a code review and test cycle.

Alternatively, you could create a DDL trigger that could stop users creating tables via a ROLLBACK and create a warning message for the developers as you suggest.

Finally, to clean up test tables, you will need some method to identify them (table name pattern, owner etc). You can then automate a script to drop such tables.