1

当我尝试删除程序集时,我收到此错误:

DROP ASSEMBLY [test.Sql.Clr]
Msg 701, Level 17, State 13, Line 1
There is insufficient system memory in resource pool 'default' to run this query.

我在 Windows NT 6.1(Build 7601:Service Pack 1)上运行 Microsoft SQL Server 2008 R2 (SP1) - 10.50.2500.0 (X64) Enterprise Edition(64 位)。

当我运行 sys.assemblies 时,有问题的程序集有一个空白的 clr_name,并且包含一个已正确替换的依赖程序集(尝试加载较新的程序集时出现问题)

select name, clr_name from sys.assemblies
test.Sql.Clr.Models test.sql.clr.models...
test.Sql.Clr    

有没有人看到这个问题或知道如何解决它?

约翰

4

1 回答 1

2

在史蒂夫的帮助下,我能够按如下方式进行清理:使用链接中的技术启用对系统表的直接访问(使用 -m 参数在单用户模式下启动 SQL,使用 -A 标志在管理员模式下直接运行 sqlcmd )。我们通过查看 sys.assemblies 和 sys.assembly_files 上的 sp_helptext 手动清除了对损坏的 CLR 的所有引用。我们不得不清理很多表,并且在删除所有损坏的条目之前无法正确加载程序集。

于 2013-09-24T20:33:05.160 回答