• In my shop CLR functions have a limited use, primarily for complex financial computations. One crucial best practice when coding CLR objects should include mechanisms to avoid runaway CLR processes (calling sleep functions every x iterations). Especially true for looping procedures. A non-yielding CLR process in SQL Server can have disastrous results when it happens to be on the same scheduler as the Log Writer process. Let's just say I have first hand experience here :).