最近懒癌发作,好久没来了,今天拼死爬起来把上上周协助处理的一个应用程序集的问题给列一下.
1.尽量不要使用应用程序集
2.如果要使用,尽量使用安全模式来新建应用程序集
3.如果需要使用无限制的应用程序集,尽量在库级别加上密钥
如果上面的办法都没有办法满足,用下面的方法处理:
首先查看数据库的属性
如果是false需要使用下面的脚本来进行修改(修改的账号必须是sysadmin角色)
alter database [testclr] set trustworthy on with no_wait;
执行完成后,重新打开数据库的属性窗口
这时可以执行下述脚本来给当前数据库添加无限制访问的应用程序集
USE [testclr]
GO
CREATE ASSEMBLY [XXXXX]
AUTHORIZATION [dbo]
FROM ‘c:\XXXX.dll‘
WITH PERMISSION_SET = UNSAFE
GO
以上的操作能够简单的让数据库账号调用相关函数来使用应用程序集中的方法,建议上述操作添加的应用程序集是自行编译的dll文件,而不是从网上下载的,否则将存在安全风险,需要特别特别注意.
新建应用程序集注意事项
原文:http://www.cnblogs.com/qkiori/p/5272150.html