天天看点

Failed to create AppDomain 'xxx'. Exception has been Failed to create AppDomain

一服务器上的数据库全部被置于紧急模式(emergency),在错误日志里面能看到大量下面的错误

failed to create appdomain "yoursqldba.dbo[runtime].79". exception has been thrown by the target of an invocation.

failed to create appdomain "yoursqldba.dbo[runtime].76". exception has been thrown by the target of an invocation.

....................................................................

在error log里面,我们可以看到甚至包括yoursqldba这个库也被设置为单用户模式、紧急模式。如下截图所示,这个发生在凌晨yoursqldba_fullbackups_and_maintenance作业启动做备份、维护的时候。

Failed to create AppDomain 'xxx'. Exception has been Failed to create AppDomain

由 microsoft 在 2011/12/6 於 22:24 公佈

errors like:

msg 6517, level 16, state 1, line 3

appdomain "mds.dbo [runtime] .20" could not create.

exception has been thrown by the target of an invocation.

come

directly from .net/clr itself. it's usually about some inconsistency

with the clr/.net itself. it means the clr installation is corrupted

(unlikely), or, more likely, a .net patch was recently installed and the

machine is pending a reboot.

let us know if reboot doesn't fix the problem.

about the upgrade failure from upgrade step 677 to 678: this issue is fixed in denali rc1.

翻译过来就是:这个错误通常是.net/clr 它本身导致的,通常是由于clr/.net它本身的一些不一致性导致(inconsistency),这意味着clr安装损坏了(这个不太可能),大部分是由于最近安装了.net 补丁,服务器没有重新启动导致。

续查找更早的日志,其实发现9号就有这个“failed to create appdomain

"yoursqldba.dbo[runtime].xx". exception has been thrown by the target of

an invocation"这个错误出现,告警邮件也有收到,只是忙于处理其它事情,没有留意。

检查系统日志(windows nt system log),发现确实存在microsoft .net framework 自动更新的记录。如下所示

Failed to create AppDomain 'xxx'. Exception has been Failed to create AppDomain

另外在”控制面板“->"程序”->"程序和功能“->"已安装更新"里面可以看到

Failed to create AppDomain 'xxx'. Exception has been Failed to create AppDomain
Failed to create AppDomain 'xxx'. Exception has been Failed to create AppDomain

解决方法很简单,需要重启数据库服务器来解决这个问题。

上一篇: LAMP
下一篇: LAMP