SQL CLR

SQL CLR (SQL Common Language Runtime) 是自SQL Server 2005 才出现的新功能，它将.NET Framework中的CLR服务注入到SQL Server 中，让 SQL Server 的部分数据库对象可以使用.NET Framework 的编程语言开发（目前只支持VB.NET和C#），包括预存程序、用户自定义函数、触发程序、用户自定义类型以及用户自定义汇总函数等功能。

示例

下列示例为使用C# 开发 SQL Server 用户函数的代码：
[Microsoft.SqlServer.Server.SqlFunction]public static SqlString HashPasswordString(SqlString HashString){
    SHA384Managed hashAlgorithm = new SHA384Managed();
    byte[] srcPassword = System.Text.Encoding.ASCII.GetBytes(HashString.Value);
    byte[] destPassword = null;
    string hashedPasswordString = null;

    destPassword = hashAlgorithm.ComputeHash(srcPassword);
    hashedPasswordString = System.Text.Encoding.ASCII.GetString(destPassword);

    hashAlgorithm = null;
    return new SqlString(hashedPasswordString);}
将组件安装到SQL Server 的脚本为：
CREATE ASSEMBLY MyAssemblyLibrary FROM 'MySQLCLR.dll' WITH PERMISSION_SET = SAFE
将此函数引入SQL Server 中的DDL 脚本为：
CREATE FUNCTION dbo.HashPassword(
   @PasswordString varchar(4000))RETURNS varchar(4000)EXTERNAL NAME [MyAssemblyLibrary]。[MySQLCLR]。[HashPasswordString]
安装并引入后，即可如一般的SQL 函数方式使用：
SELECT dbo.HashPassword('mypassword') -- 回傳mypassword 被雜湊後的值。