Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SAP Sybase SQL Anywhere 16.0 (中文) » SQL Anywhere 服务器 - 编程 » 数据库和应用程序部署 » 数据库服务器部署

 

设置事件日志消息的格式

通过创建注册表项,确保服务器写入 Windows 事件日志的消息格式正确无误。

前提条件

执行此任务没有前提条件。

 任务
  1. 创建注册表项。

    对于 32 位版本的服务器,创建以下注册表项:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application\SQLANY 16.0

    对于 64 位版本的服务器,创建以下注册表项:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application\SQLANY64 16.0
  2. 在该项中,添加一个名为 EventMessageFile 的 REG_SZ 值,并为其赋予 dblgen16.dll 完全限定位置的数据值,例如 C:\Program Files\SQL Anywhere 16\Bin32\dblgen16.dll

    以下语句将 EventMessageFile 项指定为 c:\\sa16\\bin32\\dblgen16.dll 目录:

    "EventMessageFile"="c:\\sa16\\bin32\\dblgen16.dll"

    可以不考虑部署语言而指定英语版本的 DLL dblgen16.dll

  3. 通过创建注册表项,确保 MESSAGE...TO EVENT LOG 语句写入事件日志的消息格式正确无误。

    对于 32 位版本的服务器,创建以下注册表项:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application\SQLANY 16.0 Admin

    对于 64 位版本的服务器,创建以下注册表项:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application\SQLANY64 16.0 Admin
  4. 在该项中,添加一个名为 EventMessageFile 的 REG_SZ 值,并为其赋予 dblgen16.dll 完全限定位置的数据值,例如 C:\Program Files\SQL Anywhere 16\Bin32\dblgen16.dll

    例如,以下语句将 EventMessageFile 项指定为 c:\sa16\bin32\\dblgen16.dll 目录:

    "EventMessageFile"="c:\\sa16\\bin32\\dblgen16.dll"

    可以不考虑部署语言而指定英语版本的 DLL dblgen16.dll

  5. 创建以下注册表项,用于控制日志条目取消:

    Software\Sybase\SQL Anywhere\16.0\EventLogMask

    可将此项置于 HKEY_CURRENT_USER 或 HKEY_LOCAL_MACHINE 配置单元中。

  6. 创建名为 EventLogMask 的 REG_DWORD 值,并为其指派含有不同 Windows 事件类型内部位的位掩码值。

    以下位类型供 SQL Anywhere 数据库服务器使用:

    EVENTLOG_ERROR_TYPE        0x0001
    EVENTLOG_WARNING_TYPE      0x0002
    EVENTLOG_INFORMATION_TYPE  0x0004

    例如,如果将 EventLogMask 项设置为零,则根本不显示消息。最好设置为 1,这样可以不显示信息性消息和警告消息,但显示错误消息。缺省设置(没有输入项)是显示所有消息。下面是示例注册表设置:

    "EventLogMask"=dword:00000007

结果

事件日志消息采用所需语言设置格式,并根据指派给 EventLogMask 注册表项的位掩码值进行报告。

以下示例显示的示例注册表文件用于设置由 32 位版服务器发送的事件日志消息的格式:

REGEDIT4
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application\SQLANY 16.0]
"EventMessageFile"="c:\\sa16\\bin32\\dblgen16.dll"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application\SQLANY 16.0 Admin]
"EventMessageFile"="c:\\sa16\\bin32\\dblgen16.dll"

[HKEY_LOCAL_MACHINE\SOFTWARE\Sybase\SQL Anywhere\16.0]
"EventLogMask"=dword:00000003

在本示例中,假定英语版 DLL 位于 c:\\sa16\\bin32\\dblgen16.dll 中,用于设置事件日志消息的格式。EventLogMask 的位掩码值指示应当仅记录错误和警告,而不记录信息性消息。