0

我在使用客户端 IBM.data.DB2 版本从 DB2 数据库获取数据的生产服务器中遇到一个奇怪的问题。这个应用程序是用 C# 设计并部署在 IIS-7 上的。在 1740 分钟后请求应用程序池回收之前,所有事务都可以正常工作 。这是默认的 IIS 应用程序池设置。

IIS 中的相同代码和设置在另一台服务器上运行良好,即使在应用程序池回收后也不会记录错误。

事件查看器中记录的事件顺序:

  1. 为应用程序池“ASP .NET v2.0”提供服务的进程 ID 为“968”的工作进程已请求回收,因为该工作进程已达到其允许的处理时间限制。

  2. 为应用程序池“Webservice WS”提供服务的进程意外终止。进程 ID 为“2988”。进程退出代码为“0x0”。

  3. 为应用程序池“ASP .NET v2.0”提供服务的进程在关闭期间超出了时间限制。进程 ID 为“968”。

4.为应用程序池“Webservice WS”提供服务的进程意外终止。进程 ID 为“1456”。进程退出代码为“0x0”。

  1. 同时在事件查看器中记录错误

找不到来自源 DB2的事件 ID 4 的描述。 引发此事件的组件未安装在本地计算机上,或者安装已损坏。您可以在本地计算机上安装或修复组件。

如果事件起源于另一台计算机,则显示信息必须与事件一起保存。

活动中包含以下信息:

2014-10-28-15.27.29.648000 实例:DB2 节点:000 PID:6820(w3wp.exe) TID:4340 Appid:无 RAS/PD 组件 pdDmpErrMsg 探针:20

ADM14000E DB2 无法打开诊断日志文件“C:\ProgramData\IBM\DB2\DB2COPY1\DB2\db2diag.log”。运行命令“db2diag -rc "0x840f0001"”以了解更多信息。

4

1 回答 1

0

如果您db2diag -rc "0x840f0001"按照建议在 DB2 服务器上运行,您将看到以下内容:

Description:
    Access Denied

Associated information:
    Sqlcode -970
SQL0970N  The system attempted to write to a read-only file.

显然,DB2 服务器无法访问其诊断日志以进行写入。您需要与您的 DBA 交谈以解决问题。运行 DB2 服务器的用户帐户可能已更改,进程现在无法访问日志文件,或者可能是某些 Windows 软件(如防病毒软件或备份程序)锁定了该文件。

于 2014-10-28T22:49:28.747 回答