﻿
exec sp_configure

exec sp_configure 'clr enabled',1
reconfigure with override


exec sp_configure 'show advanced options',1
reconfigure with override


exec sp_configure 'clr strict security',0;
reconfigure with override


USE master;   
GO    

CREATE ASSEMBLY MarkupDataParse 
FROM 'D:\Markus_V3\dbFunctions\MarkupDataParse.dll'
WITH PERMISSION_SET = SAFE;  

-- dll 트러스터 오류 발생시/ 어셈블리 참조를 찾지 못한다고 나오는 경우
EXEC sp_changedbowner 'sa'
ALTER DATABASE [markus_SEC] SET TRUSTWORTHY ON;

-- 특정 .net dll을 못찾는 경우 select * from sys.dm_clr_properties로 .net framework의 경로에 들어가서 복사한다.

select * from sys.assemblies

USE markus_SEC;   
GO    

CREATE FUNCTION MarkupDataCompress(@inputString NVARCHAR(MAX))
RETURNS NVARCHAR(MAX)
AS EXTERNAL NAME MarkupDataParse.[MarkupDataParse.MarkupDataFunctions].CompressString;
