sqlserver2008 R2 分离加载数据库后自定义CLR函数不能使用的问题。

来源:互联网 发布:php定位当前地理位置 编辑:程序博客网 时间:2024/05/22 06:48

使用sqlserver copy database 但不知道为什么总是不成功

找不到原因,干脆自己实行分离加载的方式。

 

步骤如下:

1.从A服务器数据库分离数据库,复制文件到B服务器。

2.分别加载两个服务器的文件。

 问题:

发现所有对象(表,存储过程,索引都完全没变(废话)),但有个自定义的CLR标量函数不能使用了。

A服务器的提示是:"SQL Server failed to load assembly with PERMISSION_SET = EXTERNAL_ACCESS or UNSAFE"

B服务器的提示是:未启用CLR,启用 clr enable选项。

 

解决办法:

A服务器上执行  "ALTER DATABASE mydatabase SET TRUSTWORTHY ON"

B服务器上执行

 

EXEC sp_configure 'show advanced options', 1
GO
RECONFIGURE
GO
EXEC sp_configure 'clr enabled', 1
GO
RECONFIGURE
GO

 

然后再执行

  "ALTER DATABASE mydatabase SET TRUSTWORTHY ON"

 

这样就都可以重新使用CLR函数了。。