Some of the benefits of using CLR procedures are:
Granular control:
SQL Server administrators have little control over XPs. A SQL Server
administrator can assign one of SAFE, EXTERNAL_ACCESS, or UNSAFE permissions to
exert varying degrees of control over the operations that managed code is
allowed to perform Using the Code Access Security model.
Reliability:
Managed code in the SAFE and EXTERNAL_ACCESS permission sets, provides a
reliable programming model
Data access:
Managed CLR code can access local data using a more natural and efficient
programming model that takes advantage of the current connection and
transaction context.
Additional Data Types:
The managed APIs support new data types introduced in SQL Server 2005, while the
ODS APIs have not been extended to support these new types.
Scalability:
With CLR code, SQL Server can detect that a given thread has not yielded for a
long period of time and force the task to yield so that other work can be
scheduled.