• When you say you script them, have you applied the script to a different server? One without UDT's defined on it already? And it worked?

    And when you say,

    "Frankly if your schema is in a regular state of flux and you are not in a development environment then there is something seriously wrong with the design or analysis behind the database."

    I totally agree. However, as a contractor, I'm the guy who walks in to clean up this very situation once they decide the network admin wasn't the guy to do the database design after all. In almost all cases, there is no documentation, the database is in a state of failure in some way, it's a production system and mission critical to the business using it, and there are no standards of any kind established, and when you say "Structured Design Methodology" to the IT manager, he says "Method what?" The last thing I want to have to deal with is figuring out what the heck the dude was doing with UDT's. The first thing I want to do is set up a test enviroment, by scripting the database structure and re-building the database on a different server, generally, a Desktop Engine. Why not just restore a backup, you ask? Generally, disk space. Sql Server is great about optimizing its queries and such and using statistics, so the database has to be quite large to overcome this to the point of pain that causes the company to call me. And generally, companies supply the machine they have, and have never even thought about a standby server, development enviroment, Qa Enviroment, etc. Even in the ones who have, budget issues are universal, and generally you make do and do the best you can for them. I'm working for a well developed international company right now that has a massive workforce, on a P III, 128MB Ram, and 8 GB HD, and it has to be my development enviroment. And then lastly, once I get things in order, I'm done, my contract is over, and regardless of the advice I give, they don't hire a DBA, but turn it back over to whoever. Which means, that I am unable to say what will happen once I'm gone.

    So, it's not that I'm particuarly against them, it's just that they couldn't possibly work in a lot of the enviroments I work in. And it cost me, finding out about the scripting thing the hard way. I wouldn't want others to suffer this, if they could be aware of it up front. I'm sure that in an enviroment such as you describe, where changes are rare and managed, they would be fine.