Ripping out existing infrastructure just to do things "correctly" is usually bad, especially if things are working. Probably better to put controls in place for stored procedures and backend processes. E.g. Use VSS to track all changes to the database. I have been a huge user of T-SQL in the past, and it served me well. Some things just rip along when run right on the database server. You're really just writing your BL in T-SQL. Not that different than running a webservice host directly on the SQL Server, no? With SQL 2005 you can even write you procs in .NET. That being said, it's really hard to separate your TSQL stuff from the database later if you need to scale out. Forget about porting to another rdbms. I have reformed from my past TSQL sins, and don't intend to go back. Unless of course the environment or situation calls fors it.;)