核心系统表
-
sysconfigures:
(图片来源网络,侵删)- 作用: 存储了数据库服务器的默认或配置文件中的参数值。
- 这些值是服务器启动时从配置文件(如
RUN_SERVER_NAME文件)中读取的,代表了服务器“应该”以什么配置运行。
-
syscurconfigs:- 作用: 存储了数据库服务器当前正在运行的参数值。
- 这些是服务器在内存中实际生效的配置值,如果一个参数在运行时被动态修改了,
syscurconfigs中的值会立即更新,而sysconfigures中的值保持不变,直到你手动修改配置文件并重启服务器。
关键区别: syscurconfigs 显示的是当前生效值,sysconfigures 显示的是配置文件中的值。
查看参数的方法
使用系统存储过程 sp_configure (最常用)
这是最标准、最推荐的方法。sp_configure 提供了友好的界面来查看和修改参数。
查看所有参数

(图片来源网络,侵删)
执行不带任何参数的 sp_configure,会列出所有参数及其当前值、默认值、运行值等。
sp_configure;
输出列说明:
- name: 参数名称。
- config_value: 在
sysconfigures表中的值(即配置文件中的值)。 - run_value: 在
syscurconfigs表中的值(即当前内存中生效的值)。 - definition: 参数的详细描述。
- memory: 是否需要重启服务器才能生效。
- status: 参数状态(如
change_allowed,dynamic等)。
查看特定参数
如果你想快速查找某个特定参数的配置,可以将其名称作为参数传递给 sp_configure。

(图片来源网络,侵删)
-- 查看内存相关参数 'total logical memory' sp_configure 'total logical memory'; -- 查看数据库大小限制参数 'max databases' sp_configure 'max databases';
查看与特定字符串匹配的参数
可以使用通配符 来查找一组相关的参数,例如所有与 "lock" 相关的参数。
sp_configure '%lock%';
直接查询系统表 (底层方法)
如果你需要更直接地访问数据,或者编写脚本进行自动化处理,可以直接查询系统表。
查看所有参数的当前值
select name, value from syscurconfigs order by name;
查看所有参数的配置文件值
select name, value from sysconfigures order by name;
同时查看当前值和配置文件值进行对比
这是一个非常有用的查询,可以快速识别哪些参数在运行时被修改过。
select
sc.name as parameter_name,
sc.value as config_file_value,
scc.value as current_running_value,
sc.definition as description
from
sysconfigures sc
join
syscurconfigs scc on sc.config = scc.config
order by
sc.name;
注意:sysconfigures 和 syscurconfigs 通过 config 列关联。
参数分类和常见重要参数
Sybase ASE 的参数非常多,下面列出一些最常见和最重要的类别及参数,供你参考。
内存相关
total logical memory: 服务器总共可以使用的逻辑内存大小(单位为 2K 页),这是最重要的内存参数之一,决定了 ASE 能管理多少内存。data cache size: 数据缓存的大小,用于缓存数据页,提高 I/O 性能。procedure cache size: 过程缓存的大小,用于存储编译好的存储过程、触发器等的执行计划,减少编译开销。max memory: ASE 可以使用的操作系统最大物理内存,通常设置为total logical memory的值。
网络相关
number of user connections: 允许的最大用户连接数。network packet size: 网络数据包的大小,较大的包可以减少网络通信次数,但会增加内存使用,需要根据网络环境进行调整。
数据库和对象相关
max databases: 服务器上可以创建的数据库的最大数量。max online engines: 可以在线运行的引擎数量,与 ASE 的许可证和 CPU 核心数有关。max remote connections: 可以同时建立的远程过程调用的最大数量。
错误日志和审计相关
errorlog path: 错误日志文件的存放路径。audit trail path: 审计跟踪文件的存放路径。
高级性能和锁相关
lock scheme: 锁定方案,可以是allpages(所有页锁),datarows(数据行锁), 或datapages(数据页锁)。datarows通常能提供最高的并发性能。lock escalation threshold: 锁升级阈值,当单个表的锁数量超过此值时,会升级为表锁,以减少锁的开销。
修改参数 (简要提及)
了解如何查看后,你可能也需要知道如何修改。
-
动态修改 (无需重启): 对于标记为
dynamic的参数,可以使用sp_configure直接修改,并让修改立即生效。-- 修改最大连接数为 500 sp_configure 'number of user connections', 500; go -- 执行 reconfigure with override 使修改立即生效 reconfigure with override; go
-
静态修改 (需要重启): 对于标记为
change_requires_restart或memory的参数,修改后必须重启服务器才能生效。-- 修改数据缓存大小 sp_configure 'data cache size', 50000; -- 单位是 2K 页 go -- 执行 reconfigure 将修改写入配置文件 reconfigure; go -- 必须重启服务器才能生效 -- shutdown with nowait
| 方法 | 命令/查询 | 优点 | 缺点 |
|---|---|---|---|
sp_configure |
sp_configure; 或 sp_configure 'param_name'; |
最推荐,界面友好,信息全面,可修改 | 无明显缺点 |
| 直接查询系统表 | select * from syscurconfigs; |
直接,底层,适合脚本自动化 | 输出格式不友好,需要自己关联表 |
最佳实践:
- 日常查看: 使用
sp_configure。 - 参数变更对比: 使用
JOIN查询sysconfigures和syscurconfigs。 - 修改前: 仔细阅读参数的
definition,并理解其影响。 - 修改后: 对于需要重启的参数,务必规划好维护窗口。
希望这份详细的指南能帮助你轻松地查看和管理 Sybase ASE 的参数配置!
