Heh... I find custom schemas to be incredibly annoying but not because anything you said about them isn't true. They ARE incredibly useful for all the reasons you stated.
The reason why I find them incredibly annoying is because, just as with other object names, many people don't actually have a plan and so you end up with some pretty stupid usage of custom schemas. And, no, you don't need a thousand different schemas... that's what different object names are for.
I will say that I have a very strong dislike for schema names that are more than 4 characters or so. There are useful exceptions but they shouldn't be used like table names (for example), which some folks seem to do/prefer.
Of course, that's just my opinion and preferences. If I'm doing work in someone else's shop and regardless of what my opinion and preferences are, I'll do it their way.
The bottom line is just like anything else... you can destroy an excellent tool by the way you name things. Have a plan and a standard.
is pronounced ree-bar and is a Modenism for R
First step towards the paradigm shift of writing Set Based code: Stop thinking about what you want to do to a row... think, instead, of what you want to do to a column.
If you think its expensive to hire a professional to do the job, wait until you hire an amateur. -- Red Adair
When you put the right degree of spin on it, the number 318
is also a glyph that describes the nature of a DBAs job. Helpful Links:
How to post code problemsHow to post performance problemsForum FAQs