.net – 在SQL Server上执行用户定义函数时出现System.Security.HostProtectionException

前端之家收集整理的这篇文章主要介绍了.net – 在SQL Server上执行用户定义函数时出现System.Security.HostProtectionException前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我编写了一个用户定义函数,它获取UtcTimeStamp和 windowstimezoneid作为参数,并返回TimeZone的TimeStamp.

但如果我想在一个简单的选择中执行它我得到以下错误

A .NET Framework error occurred during execution of user-defined routine or aggregate "ToLocalTime": 
System.Security.HostProtectionException: Attempted to perform an operation that was forbidden by the CLR host.

The protected resources (only available with full trust) were: All
The demanded resources were: MayLeakOnAbort

System.Security.HostProtectionException: 
   bei TimeFunctions.ToLocalTime(DateTime UtcTimestamp,String WindowsTimeZoneId)

我执行select as sa.我将clr设置为1.我使用sql Server 2008 R2(10.50.1600).

有谁知道我必须设置什么才能使这个工作或我可能做错了什么?

解决方法

CLR程序集有 trust levels.

这个需要UNSAFE权限,因为使用“MayLeakOnAbort”所需的权利

将CLR更改为更安全的内容,或者使用UNSAFE权限重新添加程序集. “UNSAFE”这个词当然是……

原文链接:https://www.f2er.com/mssql/76463.html

猜你在找的MsSQL相关文章