sqlserv 配置 CLR

转载地址:http://www.cnblogs.com/Brambling/p/8000911.html   //clr 配置

                 https://docs.microsoft.com/zh-cn/sql/relational-databases/clr-integration/assemblies-getting-information?view=sql-server-2017 //获取程序集信息

--开启 CLR
sp_configure 'clr enabled', 1;
RECONFIGURE WITH override
GO


--权限不够时,设置目标数据库为可信赖的,例如:Test
ALTER DATABASE ceshi SET TRUSTWORTHY ON

--修改数据库所有者为当前登录的用户,也可以为其他用户,例如:sa
EXEC sp_changedbowner 'sa'


USE ceshi
GO
CREATE ASSEMBLY SqlCLRHelper
--AUTHORIZATION sa --指定数据库所有者,默认为当前用户
FROM 'C:myProjectsqlCLRsqlCLRinReleasesqlCLR.dll' --指定文件路径
WITH PERMISSION_SET = UNSAFE; --指定程序集的权限
--SAFE:无法访问外部系统资源;
--EXTERNAL_ACCESS:可以访问某些外部系统资源;
--UNSAFE:可以不受限制的访问外部系统资源
GO

--删除函数
DROP FUNCTION dbo.F_Replace
--删除程序集
DROP ASSEMBLY SqlCLRHelper
--查看程序集
SELECT * FROM sys.assemblies

SELECT * FROM sys.assembly_modules 

--注册函数

CREATE FUNCTION dbo.F_IsIntxt(@txt NVARCHAR(max),@regstr NVARCHAR(max),@restr NVARCHAR(max),@findstr NVARCHAR(max))
RETURNS int
WITH EXECUTE AS CALLER --用于在用户在执行函数的时候对引用的对象进行权限检查
AS
EXTERNAL NAME [SqlCLRHelper].[sqlCLR.SqlCLRHelper].[F_IsIntxt] --EXTERNAL NAME [注册的程序集名].[命名空间.类名].[方法名]
GO

原文地址:https://www.cnblogs.com/gfbppy/p/10728231.html