日期:2014-05-17  浏览次数:20657 次

迁移数据库后,CLR程序集无法使用
现在有个数据库A
我完整了备份这个数据库A,还原到了另一台服务器上的数据库B中

其中,A有CLR的引用,由于B完整的还原了A的数据库,A中对于这个CLR文件的引用也一并过来了

但是现在这个CLR无法使用,然后我就想重新修改一下这个CLR引用,可是现在既无法Drop(提示有依赖的Object),也没法重新添加(提示重复);

请各位赐教

------解决方案--------------------
无法使用 报什么错????
------解决方案--------------------
查询一下与CLR 相关的SQL对象,先删除这些对象然后再删除程序集
select a.name,m.assembly_class,m.assembly_method,ao.type_desc,
su.name,OBJECT_NAME(um.object_id) from sys.assembly_modules m 
join sys.assemblies a on a.assembly_id =m.assembly_id
left join sys.module_assembly_usages  um on um.assembly_id =a.assembly_id 
left join sys.all_objects ao on ao.object_id=um.object_id 
left join sys.sysusers su on su.uid=m.execute_as_principal_id 
---删除程序集
DROP ASSEMBLY .... WITH NO DEPENDENTS 

------解决方案--------------------
引用:
引用:

查询一下与CLR 相关的SQL对象,先删除这些对象然后再删除程序集
SQL code
select a.name,m.assembly_class,m.assembly_method,ao.type_desc,
su.name,OBJECT_NAME(um.object_id) from sys.assembly_modules m
join sys.asse……


GOOD LUCK