unsafe clr sql 部署向导

1.部署安全权限的简单的程序集,非常简单,只需要正常发布就行,基本可以成功,前提是账号有部署clr assembly的权限

第一步:

创建登陆账号,尽量不要使用sa吧,默认架构为:dbo即可

第二部:

开启 crl 程序集

--启动CLR
exec sp_configure 'show advanced options', '1';
go
reconfigure;
go
exec sp_configure 'clr enabled', '1'
go
reconfigure;
exec sp_configure 'show advanced options', '1';
go

第三部:修改数据库的所有者,这步骤非常重要,否则就会报错,

alter database TEST2 set TRUSTWORTHY on
EXEC sp_changedbowner 'xxx'

登陆名就是所有者,同时,该数据库,下面的安全性-》用户,里面不要包含该用户名,否则,肯定无法设置为所有者

 

第四部:

发布程序集,我用vs2013发布,发布时,触发器很可能会提醒错误,因为无法解析对应的对象,这个问题提示你需要导入数据库架构,导入可以解决,但是这个

非常坑爹的问题是:导入数据库架构极有可能花掉很多小时的时间,这基本上是让人不能忍受。

解决办法是:

打开你的sqlprj文件,也就是项目文件:

修改里面的xml加入这段:

<SqlAssemblyName>Seeed.Yifei</SqlAssemblyName>
<IsModelAware>True</IsModelAware>
<GenerateSqlClrDdl>False</GenerateSqlClrDdl>

确切的说,这种方法不推荐使用,尽管可以生成,但是创建自动化安装脚本的时候会忽略很多程序集里面的东西,所以,还是用简单的方法吧。

如:点击项目的引用,添加数据库应用层引用

这个就是指那个.dacpac的文件,这个文件怎么来的?

可以用sqlserver2012的管理服务端,点击数据库,右击,任务,生成 里面就有

部署不安全的clr 程序集,需要做好一些工作

:use master
use master
G RA NT EXTERNAL ACCESS ASSEMBLY TO xxx
参考地址:

<a title="http://bbs.csdn.net/topics/300221762" href="http://bbs.csdn.net/topics/300221762" target="_blank">http://bbs.csdn.net/topics/300221762</a>

posted @ 2014-05-23 11:33  独步天下  阅读(309)  评论(0编辑  收藏  举报