FIX: 的日志读取器代理程序可能会导致 17883 错误消息

文章翻译 文章翻译
文章编号: 867878 - 查看本文应用于的产品
错误 #: 471610 (SHILOH_BUGS)
Microsoft SQL Server 2000 修补程序分发作为一个可下载的文件。因为该修补程序是累积性的因此每个新版本包含的所有修补程序和所有安全修复程序以前 SQL Server 2000 中包含的修补都程序版本。
展开全部 | 关闭全部

本文内容

症状

日志读取器代理程序可能会导致 17883 错误消息。这些 17883 错误消息可能会导致您的实例的 SQL Server 停止响应:
错误: 17883 严重性: 1,状态: 0
服务器进程 162:0 (0) 使 UMS 上下文 0x11DE8B68 似乎并进行无-生成计划 1 上。
若要确定是否发生此问题,查看 $ IsXactStartValid 函数生成的 17883 错误信息,然后搜索的小型转储文件。如果您发现 IsXactStartValid 函数,进行比较,日志读取器导致错误的因素线程堆栈的"更多信息"一节中所述堆栈小型转储文件中。如果将匹配在堆栈,发生此问题。

解决方案

服务包信息

若要解决此问题,获得最新的 service pack,对于 Microsoft SQL Server 2000。有关详细的信息请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
290211如何获取最新的 SQL Server 2000 服务包

修补程序信息

此修补程序的英文版具有的文件属性 (或更新的文件属性) 在下表中列出。日期和时间对这些文件列出在协调世界时 (UTC)。当您查看文件信息时,将转换为本地时间。若要 UTC 与本地时间之间的时差使用控制面板中的日期和时间工具中的 时区 选项卡。
   Date         Time   Version            Size    File name
   ----------------------------------------------------------------------
   19-Jun-2004  00:51  2000.80.952.0     664,128  Autoplt.dll      
   19-Jun-2004  00:51  2000.80.952.0      78,400  Console.exe      
   19-Jun-2004  00:51  2000.80.952.0     315,968  Custtask.dll     
   19-Jun-2004  00:51  2000.80.952.0      33,340  Dbmslpcn.dll     
   08-Apr-2004  21:42                    786,432  Distmdl.ldf
   08-Apr-2004  21:42                  2,359,296  Distmdl.mdf
   10-Oct-2003  18:48                        180  Drop_repl_hotfix.sql
   19-Jun-2004  00:51  2000.80.952.0   1,905,216  Dtspkg.dll       
   19-Jun-2004  00:52  2000.80.952.0     528,960  Dtspump.dll      
   19-Jun-2004  00:52  2000.80.952.0   1,557,052  Dtsui.dll        
   19-Jun-2004  00:52  2000.80.952.0     639,552  Dtswiz.dll       
   10-Oct-2003  18:48                    747,927  Instdist.sql
   10-Oct-2003  18:48                      1,581  Inst_repl_hotfix.sql
   19-Jun-2004  00:51  2000.80.952.0     352,828  Isqlw.exe        
   19-Jun-2004  00:51  2000.80.952.0      82,492  Itwiz.exe        
   19-Jun-2004  00:52  2000.80.952.0      90,692  Msgprox.dll      
   19-May-2004  23:43  8.11.40209.0      209,408  Mssdi98.dll      
   19-Jun-2004  00:52  2000.80.952.0      62,024  Odsole70.dll     
   19-Jun-2004  00:52  2000.80.952.0      25,144  Opends60.dll     
   19-Jun-2004  00:51  2000.80.952.0      57,904  Osql.exe         
   19-Jun-2004  00:52  2000.80.952.0     279,104  Pfutil80.dll     
   10-Oct-2003  18:37                    550,780  Procsyst.sql
   08-Apr-2004  21:42                     12,305  Qfe469315.sql
   08-Apr-2004  21:42                     19,195  Qfe469571.sql
   15-Jun-2004  18:11                  1,105,167  Replmerg.sql
   19-Jun-2004  00:52  2000.80.952.0     221,768  Replprov.dll     
   19-Jun-2004  00:52  2000.80.952.0     307,784  Replrec.dll      
   15-Jun-2004  15:43  2000.80.952.0     159,813  Replres.rll
   10-Oct-2003  18:48                  1,087,150  Replsys.sql
   10-Oct-2003  18:48                    986,603  Repltran.sql
   19-Jun-2004  00:52  2000.80.952.0     287,304  Rinitcom.dll     
   19-Jun-2004  00:52  2000.80.952.0      78,416  Sdiclnt.dll      
   19-Jun-2004  00:52  2000.80.952.0      66,112  Semmap.dll       
   19-Jun-2004  00:52  2000.80.952.0      57,916  Semnt.dll        
   19-Jun-2004  00:52  2000.80.952.0     492,096  Semobj.dll       
   15-Jun-2004  16:18  2000.80.952.0     172,032  Semobj.rll
   19-Jun-2004  00:51  2000.80.952.0      53,832  Snapshot.exe     
   12-Mar-2004  03:10                    117,834  Sp3_serv_uni.sql
   19-Jun-2004  00:51  2000.80.952.0      28,672  Sqlagent.dll     
   19-Jun-2004  00:51  2000.80.952.0     311,872  Sqlagent.exe     
   19-Jun-2004  00:51  2000.80.952.0     168,001  Sqlakw32.dll     
   19-Jun-2004  00:52  2000.80.952.0      33,344  Sqlctr80.dll     
   19-Jun-2004  00:52  2000.80.952.0   4,215,360  Sqldmo.dll       
   19-Jun-2004  00:51                     25,172  Sqldumper.exe    
   15-Jun-2004  15:26  2000.80.952.0      28,672  Sqlevn70.rll
   19-Jun-2004  00:52  2000.80.952.0     180,792  Sqlmap70.dll     
   19-Jun-2004  00:52  2000.80.952.0     188,992  Sqlmmc.dll       
   15-Jun-2004  16:25  2000.80.952.0     479,232  Sqlmmc.rll
   19-Jun-2004  00:52  2000.80.952.0     401,984  Sqlqry.dll       
   19-Jun-2004  00:52  2000.80.952.0      57,920  Sqlrepss.dll     
   19-Jun-2004  00:52  2000.80.952.0   7,581,777  Sqlservr.exe     
   19-Jun-2004  00:52  2000.80.952.0     590,396  Sqlsort.dll      
   19-Jun-2004  00:52  2000.80.952.0      45,644  Sqlvdi.dll       
   19-Jun-2004  00:52  2000.80.952.0     106,588  Sqsrvres.dll     
   19-Jun-2004  00:52  2000.80.952.0      33,340  Ssmslpcn.dll     
   19-Jun-2004  00:52  2000.80.952.0      82,492  Ssnetlib.dll     
   19-Jun-2004  00:52  2000.80.952.0      25,148  Ssnmpn70.dll     
   19-Jun-2004  00:52  2000.80.952.0     123,456  Stardds.dll      
   19-Jun-2004  00:52  2000.80.952.0     158,240  Svrnetcn.dll     
   19-Jun-2004  00:51  2000.80.952.0      76,416  Svrnetcn.exe     
   19-Jun-2004  00:52  2000.80.952.0      53,808  Ums.dll          
   19-Jun-2004  00:52  2000.80.952.0      98,872  Xpweb70.dll      


注意由于存在文件依赖性最新的修补程序或功能,它包含这些文件可能还包含其他文件。

状态

Microsoft 已经确认这是在"适用于"一节中列出的 Microsoft 产品中的问题。 Microsoft SQL Server 2000 Service Pack 4 中,第一次已得到纠正此问题。

更多信息

此问题与时间相关和不可能总是发生。此问题不是很常见的。如果问题发生,日志读取器线程出现复制错误和是记录错误。 日志读取器线程可以记录该错误之前,必须产生另一个线程在线程已运行调度程序线程。当日志读取器线程产生调度程序时,线程持有名为 DBTABLE 内部 SQL Server 结构上的 spinlock 到。DBTABLE 结构至关重要的服务器操作。日志读取器线程产生后,已保存在 spinlock,日志读取器线程不能再运行一段时间。该时间可能取决于什么在该调度程序上的该时间在服务器上运行。 在此期间 SQL Server 中的没有其他线程可以访问 DBTABLE 结构和线程必须等待该 spinlock。当在 spinlock 的等待周期超过 60 秒时,触发 17883 错误消息。因为所有线程都进行旋转并等待 DBTABLE spinlock SQL Server 进程的 CPU 将是 100%。CPU 利用率可能会导致 SQL Server 停止响应的实例。

日志读取器线程堆栈如下所示:

SharedUserData!SystemCallStub+0x4
ntdll!NtWaitForSingleObject+0xc
kernel32!WaitForSingleObjectEx+0xac
ums!UmsThreadScheduler::Switch+0x4c
ums!UmsScheduler::IdleLoop+0x105
ums!UmsScheduler::Suspend+0x66
ums!UmsEvent::Wait+0x8e
sqlservr!ExecutionContext::WaitForSignal+0x1aa
sqlservr!LatchBase::Suspend+0x16c
sqlservr!LatchBase::Acquire+0xae
sqlservr!BUF::AcquireLatch+0x1f
sqlservr!BPool::GetFromDisk+0x35a
sqlservr!bufget+0x278
sqlservr!SDES::GetPage+0xb8
sqlservr!LinkedPageSupplier::FirstPage+0x10c
sqlservr!LinkedPageSupplier::GetNextPage+0xd6
sqlservr!SDES::GetBiDi+0x19c
sqlservr!CSysScan::FGetNext+0x7f
sqlservr!wfindtext+0x24b
sqlservr!ex_sprint+0x3f
sqlservr!user_log+0x92
sqlservr!IsXactStartValid+0xeb
sqlservr!ReplXactFinder::GetNextPendingXact+0x137
sqlservr!repl_cmds_get_xacts+0x15f
sqlservr!repl_cmds+0x140
sqlservr!xp_replcmds+0x18a
sqlservr!CSpecProc::ExecuteSpecial+0x119
sqlservr!CXProc::Execute+0xa3
sqlservr!CSQLSource::Execute+0x3c0
sqlservr!execrpc+0x507
sqlservr!execute_rpc+0x19
sqlservr!process_commands+0x232
ums!ProcessWorkRequests+0x272
ums!ThreadStartRoutine+0x98
msvcrt!_threadstart+0x70
kernel32!BaseThreadStart+0x34


是,在 spinlock 等待线程之一的堆栈如下所示:

sqlservr!SpinlockBase::SpinToAcquire+0x3a
sqlservr!FEqProtstamp+0x4d
sqlservr!SecCache::_PsceLookupDbSecntxt+0x27
sqlservr!SecCache::FValidScedb+0x10
sqlservr!checkdbperm+0xd9
sqlservr!usedb+0xda
sqlservr!FDetermineSessionDb+0x66
sqlservr!FRedoLogin+0x16c
sqlservr!ResetConnAndDtcXact+0xdc
sqlservr!execrpc+0xad
sqlservr!execute_rpc+0x19
sqlservr!process_commands+0x232
ums!ProcessWorkRequests+0x272
ums!ThreadStartRoutine+0x98
msvcrt!_threadstart+0x70
kernel32!BaseThreadStart+0x34
17883 错误消息有关的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
319892新的并发性和日程排定方法添加到 SQL Server 诊断程序
有关详细的信息请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
824684用于描述 Microsoft 软件更新的标准术语的说明

属性

文章编号: 867878 - 最后修改: 2007年11月2日 - 修订: 2.3
这篇文章中的信息适用于:
  • Microsoft SQL Server 2000 Developer Edition
  • Microsoft SQL Server 2000 标准版
  • Microsoft SQL Server 2000 Enterprise Edition
  • Microsoft SQL Server 2000 Personal Edition
  • Microsoft SQL Server 2000 Workgroup Edition
  • Microsoft SQL Server 2000 Desktop Engine (Windows)
  • Microsoft SQL Server 2000 Enterprise Edition 64-bit
关键字:?
kbmt kbsqlserv2000presp4fix kbfix kbbug kbhotfixserver kbqfe KB867878 KbMtzh
机器翻译
注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。
点击这里察看该文章的英文版: 867878
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

提供反馈

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com