MS SQL 错误 :17883,严重度: 1,状态: 0

 公司一台老旧的SQL SERVER 2000 数据库,一周内会出现若干次(一次或多次)CPU 持续100%,导致应用程序没有反应的情况,如下图所示:

错误信息如下所示:

View Code

 数据库版本、补丁情况如下:

Code Snippet

  1. SELECT SERVERPROPERTY('productversion')   AS ProductVersion ,
  2.  
  3.            SERVERPROPERTY('productlevel')  AS ProductLevel  ,
  4.  
  5.            SERVERPROPERTY('edition')       AS Edition
  6.  
  7.  
  8.    ProductVersion            ProductLevel            Edition
  9. ---------------------------------------------------------------------
  10.     8.00.760                      SP3                Enterprise Edition

查看微软官方文档,提示出错原因:检查点进程强制 SQL Server
将所有脏页都写入磁盘。支持和维护快速 I/O 速率以及不会导致 I/O 尝试被挂起的系统可以触发一种情况,由此,检查点进程便无需延迟以等待完成
I/O 进程。当检查点未能正确生成时,它会影响整个数据库活动和性能。这可能导致事务减少及批量提交速率降低。SQL Server
错误日志中可能出现以下错误消息:

错误:17883, 严重性:1, 状态: 0
调度程序 0 似乎已被挂起。SPID 7,ECID 0,UMS 上下文 0x045530B8。

解决方案:

 

从微软官方文档来看,这是SQL SERVER 2000的一个bug,需要打相关补丁,具体参考资料如下所示:

 

Service Pack 信息

要解决此问题,请获取最新的 Microsoft SQL Server 2000 Service Pack。有关其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

290211 (http://support.microsoft.com/kb/290211/ )

如何获取最新的 SQL Server 2000 Service Pack

安全修补程序信息

此修复程序随 Microsoft 安全公告 MS03-031 的安全修补程序一起提供。 有关如何从 Microsoft 下载中心获取此安全修补程序的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

815495 (http://support.microsoft.com/kb/815495/ )

MS03-031:SQL Server 累积安全修补程序

821277 (http://support.microsoft.com/kb/821277/ )

MS03-031:SQL Server 2000 Service Pack 3 的安全修补程序

----------------------------------------------------------------------------------------------------------------------

自从打补丁后,最近几天都没有出现这个问题了,后续需要观察一段时间,看是否还会出现此类问题,才能确定补丁是否真正解决了这个问题。

 

时间: 2025-01-19 02:25:38

MS SQL 错误 :17883,严重度: 1,状态: 0的相关文章

MS SQL 错误:The operation could not be performed because OLE DB provider "SQLNCLI10" for linked server "test" was unable to begin a distributed transact

   一同事在测试服务器(系统:Windows 2008 R2 Standard 数据库:SQL SERVER 2008 R2)通过链接服务器test使用分布式事务测试时出错,出错信息如下: set xact_abort on begin tran update test.mydb.dbo.test_one set name='test' where  id= 3 ; commit OLE DB provider "SQLNCLI10" for linked server "

MS SQL 错误:无法绑定由多个部分组成的标识符 "xxxxx"

    今天有个同事问我一个SQL问题,觉得有点意思,虽然能很快定位并解决问题,但是就是有种说不清道不明的感觉.因为不能解释清楚(很多是建立在假设上),顺便记录一下,希望有清楚原理的人能解答一二. 原SQL语句不便于说明问题,我用一个简单的例子来描述这个问题,请看下面SQL:  SELECT TYPE, COUNT(1) FROM sys.objects t GROUP BY sys.objects.type; 消息 4104,级别 16,状态 1,第 2 行 无法绑定由多个部分组成的标识符 "

MS SQL错误:SQL Server failed with error code 0xc0000000 to spawn a thread to process a new login or connection. Check the SQL Server error log and the W

      早晨宁波那边的IT人员打电话告知数据库无法访问了.其实我在早晨也发现Ignite监控下的宁波的数据库服务器出现了异常,但是当时正在检查查看其它服务器发过来的各类邮件,还没等到我去确认具体情况,就收到了电话.我首先检查网络是否畅通,结果发现网络没有问题,然后远程登录到该服务器,查看了一下数据库的服务发现其运行正常,但是在本机使用MSSMS管理工具亦无法连接数据库,当下有两种方案:方案一:使用DAC登录数据库,检查具体情况,方案二:直接去查看错误日志,查看具体错误信息.于是为了快点找到原

MS SQL Server数据库清理错误日志的方法

SQL错误日志记录了数据库运行过程的遇到的各种问题及一些重要信息,作为排错需要,我们通常都不会主动去清理这些日志文件,只有每次重启服务器时,SQL会自动删除时间最老的日志文件,并新生成一个日志文件. 通过在服务器上查看数据库的日志文件,发现存在大量的query notification dialog的信息,而且出现的频率非常的高,导致日志文件增大非常快. 通过google了解到这个错误跟service broker的消息机制由关系,可以通过使用跟踪标记:DBCC TraceOn(4133,-1)

MS SQL 监控错误日志的告警信息

    SQL Server的错误消息(Error Message)按照消息的严重级别一共划分25个等级,级别越高,表示严重性也越高.但是如果你统计sys.messages,你会发现,实际上只有 16(SQL SERVER 2008/2012)或17个(SQL SERVER 2005)个级别.猜测应该是一些留作扩展用,一些留作用户自定义错误消息的级别.   sys.messages 中有个字段is_event_logged,取值为1时表示出现错误时将消息记入事件日志. 对于 message_id

MS SQL Server数据库查询优化及分页算法

server|分页|数据|数据库|算法|优化 探讨如何在有着1000万条数据的MS SQL SERVER数据库中实现快速的数据提取和数据分页.以下代码说明了我们实例中数据库的"红头文件"一表的部分数据结构:CREATE TABLE [dbo].[TGongwen] (    --TGongwen是红头文件表名    [Gid] [int] IDENTITY (1, 1) NOT NULL ,--本表的id号,也是主键    [title] [varchar] (80) COLLATE

远程检测MS SQL Server账号安全性

server|安全|安全性 ODBC是开放数据互连(Open Database Connectivity)的简称,它是一个用于远程访问数据库(主要是关系型数据库)的统一界面标准. ODBC下现实运用中是一个数据库的访问库,它提供了一组ODBC API函数可以提供给编程者使用.对于程序员来说,ODBC API函数集实际上等于一个动态连接库(DLL)集,可以在应用程序中直接使用它们. 一个应用程序直接调用ODBC API函数来进行数据库的应用工作,工作过程一般比较复杂.其中一种办法大概是以下几步:<

MS SQL 能否修改实例名称

前几天研究了了一下修改数据库名称的方式后,今天突然冒出一个问题,MS SQL的命名实例是否也可以修改呢?例如下图,我在本机上安装了一个命名实例GSP,如果我想将其改为GSPS,能行吗? 如果可以,那么该怎么做呢? 该如何下手呢,真的不知道怎么做,毕竟以前都没有做过修改命令实例(当然修改计算机名称是另外一回事),先从网上搜索资料吧,结果,搜索到一堆不相关的资料,其实都不是真正的修改命名实例名称,只是修改计算机名称.不过最后搜索到一点有用的信息http://www.itpub.net/thread-

探讨如何在有着1000万条数据的MS SQL SERVER数据库中实现快速的数据提取和数据分页

探讨如何在有着1000万条数据的MS SQL SERVER数据库中实现快速的数据提取和数据分页.以下代码说明了我们实例中数据库的一表的部分数据结构: CREATE TABLE [dbo].[TGongwen] (    --TGongwen是红头文件表名    [Gid] [int] IDENTITY (1, 1) NOT NULL ,--本表的id号,也是主键    [title] [varchar] (80) COLLATE Chinese_PRC_CI_AS NULL ,  --红头文件的