SQL Server 2022 的“高级”服务器属性页面
你提供的截图是 SQL Server 2022 的“高级”服务器属性页面,其中包含多个关键配置项。结合你之前提到的硬件环境(24核 CPU + 100GB 内存)和业务场景(金蝶云星空 V9.1 演示版/生产环境),以下是针对该页面的逐项优化建议:
✅ 一、核心优化项(必须调整)
1. 🚫 FILESTREAM 访问级别 → 已禁用
- 当前状态:已禁用
- 建议:✅ 保持禁用
- 除非你的金蝶系统明确使用了 FILESTREAM 存储大文件(如附件、图片等),否则无需启用。
- 启用会增加复杂性和潜在性能开销。
💡 金蝶云星空默认不使用 FILESTREAM,所以“已禁用”是正确的。
2. ⚙️ 并行相关设置(重点优化!)
▶ 并行的开销阈值 = 5
- 问题:太小!会导致大量简单查询也启用并行计划,浪费 CPU 资源。
- 建议改为:
50只有执行成本 > 50 的查询才考虑并行,避免小查询“杀鸡用牛刀”。
▶ 查询等待值 = -1
- 含义:无限等待并行线程资源。
- 建议改为:
30或60(秒)防止某个查询因等待并行资源而阻塞太久,影响其他用户。
▶ 锁 = 0
- 含义:不限制并行查询持有的锁数量。
- 建议保持
0(无限制),除非遇到严重锁争用问题。
▶ 最大并行度 = 4
- 问题:对于 24 核服务器来说太低了!
- 建议改为:
8允许单个查询最多使用 8 个 CPU 核心,平衡性能与并发能力。 (如果后续发现某些报表特别慢,可临时调到 12~16,但一般不超过 8)
🔁 修改后需点击“确定”生效,或通过 T-SQL:
EXEC sp_configure 'max degree of parallelism', 8;
EXEC sp_configure 'cost threshold for parallelism', 50;
RECONFIGURE;
3. 🌐 网络数据包大小 = 4096
- 当前值:4096 字节(默认)
- 建议:✅ 保持 4096
- 对于局域网内金蝶应用服务器连接 SQL Server,这个值足够。
- 如果是跨广域网或高延迟网络,可尝试设为
8192,但通常没必要。
4. 🕒 远程登录超时值 = 10
- 含义:远程连接尝试超时时间(秒)
- 建议:✅ 保持 10
- 合理值,过长会影响故障排查效率。
5. 📅 两位数年份截止 = 2049
- 含义:两位年份(如 “25”)被解释为 2025 还是 1925?
- 建议:✅ 保持 2049
- 符合现代标准,2000–2049 年间的日期都能正确解析。
6. 🌍 默认全文语言 = Simplified Chinese
- 建议:✅ 保持不动
- 金蝶系统主要处理中文数据,此设置合理。
7. 🔄 启动时扫描存储过程 = False
- 含义:启动时不预编译所有存储过程。
- 建议:✅ 保持 False
- 加快启动速度,按需编译更灵活。
8. 🆙 全文升级选项 = 重新生成
- 含义:升级全文索引时的行为。
- 建议:✅ 保持“重新生成”
- 确保全文索引结构最新,避免兼容性问题。
9. 🧵 使用 Windows 纤程(轻型池)= False
- 含义:是否启用轻量级线程调度。
- 建议:✅ 保持 False
- 在高并发 OLTP 场景中可能有益,但金蝶 ERP 属于混合负载,且 SQL Server 2022 默认不开启,稳定性优先。
10. 🏆 提升 SQL Server 优先级 = False
- 含义:是否让 SQL Server 进程获得更高 CPU 优先级。
- 建议:✅ 保持 False
- 除非你是独占数据库服务器,否则不要抢占操作系统或其他服务资源。
11. 🎯 游标阈值 = -1
- 含义:游标操作的成本阈值。
- 建议:✅ 保持 -1(无限制)
- 一般不需要干预。
12. ⚡ 允许触发器激发其他触发器 = True
- 建议:✅ 保持 True
- 金蝶系统内部逻辑可能依赖嵌套触发器,关闭可能导致功能异常。
13. 📉 针对即席工作负荷进行优化 = False
- 含义:是否为临时/ad-hoc 查询优化内存分配。
- 建议:✅ 保持 False
- 金蝶系统是标准化 ERP,查询模式相对固定,无需为此优化。
14. 🚧 阻塞的进程阈值 = 0
- 含义:当阻塞超过多少秒时记录到日志?0 表示不记录。
- 建议改为:
5或10便于监控和排查死锁/阻塞问题。
EXEC sp_configure 'blocked process threshold (s)', 5; RECONFIGURE;
15. 📄 最大文本复制大小 = 65536
- 含义:复制操作中单次传输的最大文本大小(KB)。
- 建议:✅ 保持 65536(64MB)
- 对大多数场景足够,除非你有超大字段复制需求。
✅ 二、补充建议(不在本页面,但密切相关)
虽然这些不在“高级”页,但对整体性能至关重要:
1. 【内存】回到“内存”页设置最大内存 = 81920 MB(80GB)
如前所述,这是最关键的一步!
2. 【TempDB】多文件配置
-- 添加 4 个 TempDB 数据文件(假设路径 D:\TempDB\)
ALTER DATABASE tempdb ADD FILE (NAME = tempdev2, FILENAME = 'D:\TempDB\tempdb2.ndf', SIZE = 8GB, MAXSIZE = UNLIMITED, FILEGROWTH = 512MB);
ALTER DATABASE tempdb ADD FILE (NAME = tempdev3, FILENAME = 'D:\TempDB\tempdb3.ndf', SIZE = 8GB, MAXSIZE = UNLIMITED, FILEGROWTH = 512MB);
ALTER DATABASE tempdb ADD FILE (NAME = tempdev4, FILENAME = 'D:\TempDB\tempdb4.ndf', SIZE = 8GB, MAXSIZE = UNLIMITED, FILEGROWTH = 512MB);
3. 【数据库级别】开启 READ_COMMITTED_SNAPSHOT
ALTER DATABASE [Kingdee.K3Cloud] SET READ_COMMITTED_SNAPSHOT ON WITH ROLLBACK IMMEDIATE;
📊 总结:你需要修改的关键项
| 配置项 | 当前值 | 建议值 | 是否紧急 |
|---|---|---|---|
| 最大并行度 | 4 | 8 | 🔴 高 |
| 并行的开销阈值 | 5 | 50 | 🔴 高 |
| 查询等待值 | -1 | 30 | 🟡 中 |
| 阻塞的进程阈值 | 0 | 5 | 🟡 中 |
| 最大服务器内存(另页) | 2TB | 81920 MB | 🔴 必须改 |
🛠️ 一键优化脚本(复制粘贴执行)
-- 设置并行度相关
EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;
EXEC sp_configure 'max degree of parallelism', 8;
EXEC sp_configure 'cost threshold for parallelism', 50;
EXEC sp_configure 'parallel wait time (ms)', 30000; -- 30秒
EXEC sp_configure 'blocked process threshold (s)', 5;
RECONFIGURE;
-- 设置内存(在“内存”页图形界面操作更安全,也可用下面命令)
EXEC sp_configure 'max server memory (MB)', 81920;
RECONFIGURE;
✅ 最终提醒
- 所有更改建议在非业务高峰期进行。
- 修改后观察任务管理器、性能监视器(PerfMon)、SQL Server DMVs(如
sys.dm_exec_requests)确认效果。 - 对于金蝶云星空,稳定性第一,性能第二 —— 不要过度追求极限参数。
如果你需要我为你生成一份完整的《金蝶云星空 + SQL Server 2022 优化部署手册》PDF 或 Word 文档,也可以告诉我,我可以提供结构化内容供你下载打印。
祝你系统运行稳定高效!🚀