SQL Server supports CLR objects in a database. But – how much do we use them? I find myself as one of the rare SQL CLR users. I created myself a set of tools that include data types, scalar and especially aggregate functions. I use them for data overview and data quality assessment during data mining and master data management projects. Many times I encounter an obstacle for these objects: a DBA saying “CLR? Not in my house!”, and CLR is ruled out on that server.

I understand where the refusal comes from. DBAs do not understand .NET code, and are afraid of possible security and performance impacts if allowing it on their servers. Nevertheless, from security perspective, SAFE assembly permission set is what it says: SAFE. With this permissions set, CLR code cannot do anything that SQL code would not be able to do. About performance – is all SQL code performing well?

I would like to point out that SQL CLR is around from version 2005. Counting public 2005 CTP versions, this means more than six years! Now the question is: did these DBAs learn anything in these six years? Do they plan to make any progress in their lives, or are they finished with personal development?

Dejan Sarka