Microsoft 为一个可下载文件分发 Microsoft SQL Server 2008年的修补程序。修补程序是累积性的因为每个新版本包含的所有修补程序,包含上一个 SQL Server 2008 的所有安全修补程序的修补都程序版本。
症状
虽然 Microsoft SQL Server 2008年报告服务 (SSRS 2008) 呈现大型报表或大型模型,您将收到以下运行时错误信息︰
来源︰.NET 运行库
日期︰
事件 ID: 1023年
任务类别: 无
级别︰ 错误
关键词︰ 经典
用户︰ 不适用
计算机︰
说明:
.NET 运行时版本 2.0.50727.3603-执行引擎错误 (000006427F44AE16) (80131506)
此外可能 SSRS 2008 日志文件中记录以下错误消息︰
rshost ! rshost ! 18f0 ! < 日期时间 >:: 电子错误︰ 生成转储并退出此进程由于严重的运行时错误。
SQL Server 2008年中运行的公共语言运行时 (CLR) 对象时,在 SQL Server 2008年数据库引擎也可能会发生此问题。在这种情况下,您可能会收到以下错误消息︰
< 时间 > 服务器错误︰ 6536,严重性︰ 16,状态︰ 1。
在.NET Framework 公共语言运行库中出现 < 时间 > 服务器 A 致命错误。SQL Server 正在关闭。如果重新启动服务器后,再次出现错误,请与客户支持服务联系。
SQL 错误日志可能会显示带有以下字样的堆栈转储为转储︰
<time> Server * *******************************************************************************<time> Server *
<time> Server * BEGIN STACK DUMP:
<time> Server * 03/24/11 19:05:12 spid 0
<time> Server *
<time> Server * A fatal error occurred in .NET Framework runtime.
<time> Server * *******************************************************************************
<time> Server *
<time> Server * BEGIN STACK DUMP:
<time> Server * 03/24/11 19:05:23 spid 0
<time> Server *
<time> Server * Full CLR state dump: A fatal error occurred in .NET Framework runtime.
原因
混合程序集使用 CreateThread Win32 API 或 BeginThread Win32 API 来创建线程时,将出现此问题。该线程以后尝试转换到托管代码。这一转变将使 CLR 运行库宿主请求任务上下文。为明确禁止这种转换,则会发生运行时错误。
注意:因为每个计划程序缓存需要线程都在非优先模式中,他们尝试访问缓存之前,明确不允许转换。
解决方案
此问题的修补程序首次发布的累积更新 7 为 SQL Server 2008 Service Pack 1。有关此累积更新包的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章 ︰
979065累计更新 SQL Server 2008 Service Pack 1 包 7注意:因为版本具有累计性,所以每个新修补程序版本包含上一个 SQL Server 2008 修补程序版本随附的所有修补程序和所有安全修复程序。我们建议您考虑将应用包含此修复程序的最新的修补程序版本。有关详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
SQL Server 2008年生成 SQL Server 2008 Service Pack 1 发布后发布的970365
为特定的 SQL Server 服务包创建 Microsoft SQL Server 2008年的修补程序。必须将一个 SQL Server 2008 Service Pack 1 的修补程序应用到安装的 SQL Server 2008 Service Pack 1。默认情况下,在下一次 SQL Server service pack 中包含任何 SQL Server service pack 中提供的修补程序。
解决方法
若要变通解决此问题对于 SQL Server 2008年数据库引擎,尝试确定是否任何不安全的 SQL CLR.NET 程序集加载到数据库引擎以及有可能产生的会遇到此问题的线程。避免使用这样的程序集,或从系统逐个删除它们,直到症状被隔离和 subsides 问题。
例如,您可能会看到类似于下面显示的 SQL CLR 程序集将 SQL 错误日志中的信息的使用情况以及可能会触发故障现象︰
2011-03-29 12:01:01.00 spid51 安全程序集 < 程序集名称 > 版本 = 0.0.0.0,区域性程序 = null,processorarchitecture = msil 载入 appdomain 1 (< appdomain 名称 >)
状态
Microsoft 已经确认这是“适用于”一节中列出的 Microsoft 产品中的问题。
参考资料
SQL Server 的增量服务模式的信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章︰
935897的增量服务模式是可以从 SQL Server 团队提供报告的问题的修补程序
有关命名 SQL Server 更新架构的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章︰
822499对于 Microsoft SQL Server 软件更新程序包的新命名方案
有关软件更新术语的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
用于描述 Microsoft 软件更新的标准术语的824684说明