CREATE ASSEMBLY [CharSetUtil]
FROM 'XXX.dll'
WITH PERMISSION_SET = EXTERNAL_ACCESS
GO
ALTER DATABASE [somedb] set TRUSTWORTHY on
EXEC sp_changedbowner 'sa'
USE somedb
GRANT EXTERNAL ACCESS ASSEMBLY TO sa
exec sp_configure 'show advanced options', '1';
reconfigure;
go
exec sp_configure 'clr enabled', '1'
go
reconfigure;
exec sp_configure 'show advanced options', '1';
go
编写clr函数注意:
1. 静态类型static修饰的函数
2. 如果函数内部不执行sql查询,应定义DataAccessKind.None
3. 最好定义IsDeterministic = true。但如果是DataAccessKind.READ,定义确定性函数也是没有用的。