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

你的浏览器不受支持

你需要更新你的浏览器才能使用该网站。

更新到 Internet Explorer 的最新版本

FIX: 在 tempdb 数据库的使用的空间增加了连续运行一个查询,以在 SQL Server 2005 中将 tempdb 数据库中创建内部对象时

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

点击这里察看该文章的英文版: 947204
错误 #: 50002301 (SQL 修补程序)
Microsoft 将 Microsoft SQL Server 2005 修补程序分发作为一个可下载的文件。因为该修补程序是累积性的因此每个新版本包含的所有修补程序和所有安全修补程序附带以前 SQL Server 2005 修补都程序版本。
症状
在 Microsoft SQL Server 2005,您要运行一个查询,以在 tempdb 数据库中创建内部对象。当您运行该查询时多次时,tempdb 数据库中使用的空间不断增加。最后,tempdb 数据库已满。此外,您必须重新启动清理 tempdb 数据库 SQL Server 服务。

此问题发生时,您运行下面的语句对 tempdb 数据库很多时候。
SELECT SUM(internal_object_reserved_page_count) AS [internal object pages used],(SUM(internal_object_reserved_page_count)*1.0/128) AS [internal object space in MB]FROM sys.dm_db_file_space_usage;
如果执行此操作 internal_object_reserved_page_count 列的值将增加每次运行此语句。

然后,您查询 sys.dm_db_session_space_usage 动态管理视图。执行此操作时不 internal_objects_dealloc_page_count 列的值中的相应增加的情况下会增加 internal_objects_alloc_page_count 列的值。
原因
每次运行查询,SQL Server tempdb 数据库中创建内部对象。在一些的情况下 SQL Server 确实不解除分配分配给 tempdb 数据库中的内部对象的网页。
解决方案
在累积更新 6 首先释放此问题的修复程序。有关如何获取 SQL Server 2005 Service Pack 2 的此累积更新包的详细信息单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
946608对于 SQL Server 2005 Service Pack 2 的累积更新包 6
注意因为这些版本是累积性的因此每个新的修补程序版本包含的所有修补程序和所有安全修补程序附带以前 SQL Server 2005 修补都程序版本。Microsoft 建议您考虑应用最新的修补程序版本包含此修补程序。有关详细的信息请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
937137SQL Server 2005 生成发布 SQL Server 2005 Service Pack 2 之后发布的
为特定 SQL Server 服务包创建 Microsoft SQL Server 2005 修补程序。必须将 SQL Server 2005 Service Pack 2 修补程序应用到 SQL Server 2005 Service Pack 2 的安装。默认状态下,SQL Server service pack 中提供的任何修补程序包含在下一个 SQL Server 服务包中。
状态
Microsoft 已经确认这是在"适用于"一节中列出的 Microsoft 产品中的问题。
更多信息
使用内部对象的操作的完整列表的详细信息,请访问以下 Microsoft 网站:若要确定有问题的会话 id (SPID),分配将 tempdb 数据库中的网页,您可以检查分配的信号缓冲区。要这样做,您必须首先启用跟踪标志 1106年。默认状态下,未启用跟踪标记 1106年。然后,您必须运行下列语句,以显示 tempdb 数据库中的分配信息和解除分配信息。
SELECT record.value('(Record/@id)[1]', 'int') AS record_id,CONVERT (varchar, DATEADD (ms, -1 * ((inf.cpu_ticks / inf.cpu_ticks_in_ms) - [timestamp]), GETDATE()), 126) AS EventTime,[timestamp] , record.value('(Record/@id)[1]', 'int') AS RingBuffer_Record_Id, record.value('(Record/ALLOC/Event)[1]', 'int') AS AllocationEventType, record.value('(Record/ALLOC/SpId)[1]', 'int') AS SpId, record.value('(Record/ALLOC/EcId)[1]', 'int') AS EcId, record.value('(Record/ALLOC/PageId)[1]', 'nvarchar(50)') AS AllocatedPageId, record.value('(Record/ALLOC/AuId)[1]', 'nvarchar(50)') AS AllocationUnitId, record.value('(Record/ALLOC/LsId)[1]', 'nvarchar(50)') AS LsIdFROM sys.dm_os_sys_info inf CROSS JOIN (SELECT timestamp, CONVERT (xml, record) AS record FROM sys.dm_os_ring_buffers WHERE ring_buffer_type = 'RING_BUFFER_ALLOC_TRACE'AND ( record LIKE '%<Event>23</Event>%' -- uniform extent allocationOR record LIKE '%<Event>22</Event>%' -- uniform extent deallocationOR record LIKE '%<Event>24</Event>%' -- mixed extent allocationOR record LIKE '%<Event>25</Event>%' -- mixed extent deallocationOR record LIKE '%<Event>10</Event>%' -- page allocationOR record LIKE '%<Event>11</Event>%' -- page deallocation)) AS t    ORDER BY record.value('(Record/@id)[1]', 'int') ASC 
可以从 SQL Server 事件探查器,以确定的查询的分配页和的执行不解除分配 tempdb 数据库中的页的信息比较此信息。

注意我们建议不要在生产服务器上使用跟踪标记 1106年,因为跟踪标志 1106年会影响 SQL Server 的性能。

有关哪些文件发生更改的详细信息,并应用累积更新包包含此 Microsoft 知识库文章中描述的修补程序的任何系统必备项有关的信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
946608对于 SQL Server 2005 Service Pack 2 的累积更新包 6
参考
有关列表后 SQL Server Service Pack 2 的可用版本的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
937137SQL Server 2005 生成发布 SQL Server 2005 Service Pack 2 之后发布的
对于 SQL Server 增量的服务模型的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
935897一个增量的服务模型是可从 SQL Server 团队提供报告的问题的修补程序
有关如何获取 SQL Server 2005 Service Pack 2 的详细信息单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
913089如何获取最新的 service pack,SQL Server 2005 年
有关新功能和 SQL Server 2005 Service Pack 2 中的改进的详细信息请访问下面的 Microsoft 网站:有关命名 SQL Server 更新架构的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
822499Microsoft SQL Server 软件更新程序包的新命名架构
有关软件更新术语的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
824684用于描述 Microsoft 软件更新的标准术语的说明

警告:本文已自动翻译

属性

文章 ID:947204 - 上次审阅时间:02/19/2008 19:12:00 - 修订版本: 1.2

  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL 2005 Server Enterprise
  • Microsoft SQL Server 2005 Standard X64 Edition
  • Microsoft SQL Server 2005 Standard Edition for Itanium Based Systems
  • Microsoft SQL Server 2005 Enterprise X64 Edition
  • Microsoft SQL Server 2005 Enterprise Edition for Itanium Based Systems
  • kbmt kbsql2005engine kbhotfixrollup kbfix kbpubtypekc kbqfe kbexpertiseadvanced KB947204 KbMtzh
反馈
varClickTracking = 1; var varCustomerTracking = 1; var Route = "76500"; var Ctrl = ""; document.write(" ext/javascript" src="https://c.microsoft.com/ms.js">