你目前正处于脱机状态,正在等待 Internet 重新连接

修复: 资源监视器上运行 SQL Server 2008年的服务器或 SQL Server 2008 R2 输入未转交的条件

注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。

点击这里察看该文章的英文版: 2216485
症状
在运行 Microsoft SQL Server 2008年的服务器或 SQL Server 2008 R2,资源监视器任务每隔五秒记录以下消息:
Date_And_Time 服务器使用 dbghelp.dll 版本"4.0.5"
Date_And_Time 服务器 ** 转储线程的 spid = 0,PSS = 0x0000000000000
2000 中,EC = 0X0000000000000000
Date_And_Time 登录为 OPENTEXT\sqlcrmusr 用户成功登录。连接: 受信任。[客户端: ) 的 ip 地址]
Date_And_Time spid78 错误: 4014,严重性: 20,状态: 2。
Date_And_Time spid78 从网络读取输入的流时发生错误。该会话将被终止。
Date_And_Time 发送到服务器 *** 堆栈转储 驱动器: \MSSQL2005\LOG\SQLDump####.txt
Date_And_Time Server * *******************************************************************************
Date_And_Time 服务器 *
Date_And_Time 服务器 * 开始堆栈转储:
Date_And_Time 服务器 * Date_And_Time 0 spid
Date_And_Time 服务器 *
Date_And_Time 服务器 * 未转交资源监视器
Date_And_Time 服务器 *
Date_And_Time Server * *******************************************************************************
Date_And_Time Server * -------------------------------------------------------------------------------
Date_And_Time 服务器 * 短堆栈转储
Date_And_Time 服务器堆栈转储的签名是 0x000000000000005C

Date_And_Time服务器,未知、 资源监视器 (0x9b0) 工作 0x0000000003A2C1C0 显示为未转交上 Node_ #.释放的内存: 0 KB。约 CPU 使用: 内核 0 msnull 用户 0 msnull 时间间隔: Interval_value.
原因
在 SQL Server 2008年和 SQL Server 2008 R2,资源监视器任务定期唤醒来收听并通知低、 高,或内存事件的订阅服务器。这些内存事件可能是 SQL Server 的外部 (系统范围内的通知从操作系统) 或 SQL Server 的内部 (进程范围的通知从缓冲池)。发生这样的通知后,各种内存使用者修剪其内存使用情况。

请注意 使用者可以是内存高速缓存存储、 用户存储或对象存储的条件。

如果某些内存的使用者使用大量的内存,请使用者执行的调整可能需要很长时间才能完成。

计划程序监视任务运行每隔五秒检查是否资源监视器已经从一个使用者到另一个在过去 60 秒。当计划程序监视器检测到资源监视器具有不移动以外的使用者为 60 秒时,计划监视器将其解释为资源监视器进入未转交的状态,并将计划监视器然后记录"症状"部分中提到的错误消息。

如果在该资源监视器将释放内存速率是小于 2 MB 每隔五秒,则这些消息也引发事件。

这些消息是只有一种指示资源监视器忙清理大的使用者,而且这些消息不必然表示资源监视器问题本身。
解决方案
从 Microsoft SQL Server 2008 Service Pack 2 和 Microsoft SQL Server 2008 R2 Service Pack 1,未转交资源监视器消息已扩展,以方便地找出未转交条件将导致内存职员。

新邮件将如下所示:
资源监视器 (0x9b0) 工作 0x0000000003A2C1C0 似乎未转交节点上 Node_ #.释放的内存: 0 KB。上一次等待: lastwaittype。 上一次 clerk: 类型 clerk_type名称 clerk_name.约 CPU 使用: 内核 0 毫秒,用户 0 毫秒,时间间隔: Interval_value.
此消息中使用的各种字段的说明如下:
  • 释放的内存: 这是多少内存释放通过资源监视器以进行指定的时间间隔为以千字节为单位。如果此时释放的内存的速率不超过 2 MB 每隔五秒,计划程序监视器作为未转交条件检测这种情况。
  • 最后一个等待: 这是最后一种等待类型的资源监视器线程。您可以使用此字段与一起使用 约使用 CPU 字段以确定是否在资源监视器线程正在运行或正在等待的时间间隔的一个重要组成部分。
  • 最后一个职员: 它的类型和名称未转交条件发生时,已修剪其内存内存职员。
  • 约使用 CPU: 这是内核和用户作为资源监视器使用的时间以毫秒为单位。可以与其他字段一起使用此验证在指定时间间隔内,资源监视器说在取得进展。
  • 时间间隔: 这是最后一个职员通知,以毫秒为单位) 以来经过的时间。
除了从邮件的时间 RING_BUFFER_RESOURCE_MONITOR 项此消息可用于标识的内存不足通知源。

有关如何解释 RING_BUFFER_RESOURCE 显示器的详细信息。请访问下面的 MSDN 网络日志:有关 SQL Server 如何侦听和响应内存通知和有关资源监视器任务,并在 SQL Server 中与内存相关的性能问题进行故障排除的详细信息,请参阅以下 MSDN 博客文章:

SQL Server 2008 年的服务包信息

要解决此问题,请获取最新的 service pack,SQL Server 2008 年。有关详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
968382 如何获取最新的 service pack,SQL Server 2008 年

SQL Server 2008 R2 的服务包信息

要解决此问题,请获取最新的 service pack,为 SQL Server 2008 R2。有关详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2527041如何获取最新的 service pack,为 SQL Server 2008 R2
状态
Microsoft 已经确认这是在"适用于"一节中列出的 Microsoft 产品中的问题。

此问题最早在 SQL Server 2008 Service Pack 2 SQL Server 2008 年。
此问题最早在 SQL Server 2008 R2 Service Pack 1 的 SQL Server 2008 R2。
SQL2008 卡持有占用的 KatmaiPCU2 暂停挂起

属性

文章 ID:2216485 - 上次审阅时间:04/22/2011 18:10:00 - 修订版本: 2.0

Microsoft SQL Server 2008 Enterprise, Microsoft SQL Server 2008 Developer, Microsoft SQL Server 2008 Standard, Microsoft SQL Server 2008 R2 Developer, Microsoft SQL Server 2008 R2 Enterprise, Microsoft SQL Server 2008 R2 Standard

  • kbprb kbfix kbtshoot kbmemory kbmt KB2216485 KbMtzh
反馈