SQL Server 2022 的“高级”服务器属性页面

你提供的截图是 SQL Server 2022 的“高级”服务器属性页面,其中包含多个关键配置项。结合你之前提到的硬件环境(24核 CPU + 100GB 内存)和业务场景(金蝶云星空 V9.1 演示版/生产环境),以下是针对该页面的逐项优化建议


✅ 一、核心优化项(必须调整)

1. 🚫 FILESTREAM 访问级别 → 已禁用

💡 金蝶云星空默认不使用 FILESTREAM,所以“已禁用”是正确的。


2. ⚙️ 并行相关设置(重点优化!)

▶ 并行的开销阈值 = 5

▶ 查询等待值 = -1

▶ 锁 = 0

▶ 最大并行度 = 4

🔁 修改后需点击“确定”生效,或通过 T-SQL:

EXEC sp_configure 'max degree of parallelism', 8;
EXEC sp_configure 'cost threshold for parallelism', 50;
RECONFIGURE;

3. 🌐 网络数据包大小 = 4096


4. 🕒 远程登录超时值 = 10


5. 📅 两位数年份截止 = 2049


6. 🌍 默认全文语言 = Simplified Chinese


7. 🔄 启动时扫描存储过程 = False


8. 🆙 全文升级选项 = 重新生成


9. 🧵 使用 Windows 纤程(轻型池)= False


10. 🏆 提升 SQL Server 优先级 = False


11. 🎯 游标阈值 = -1


12. ⚡ 允许触发器激发其他触发器 = True


13. 📉 针对即席工作负荷进行优化 = False


14. 🚧 阻塞的进程阈值 = 0


15. 📄 最大文本复制大小 = 65536


✅ 二、补充建议(不在本页面,但密切相关)

虽然这些不在“高级”页,但对整体性能至关重要:

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;

✅ 最终提醒


你当前的 SQL Server 2022 服务器配置非常强大:24核 CPU + 100GB 内存,但截图中显示:

最大服务器内存 (MB) = 2147483647 MB(即约 2TB)

这显然是默认值或未手动限制,在生产环境中这是严重隐患 —— SQL Server 会试图占用所有可用内存,导致操作系统和其他应用(如金蝶云星空、IIS、防病毒软件等)内存不足,引发系统卡顿、崩溃甚至蓝屏。


✅ 核心优化建议(针对你的硬件和业务场景)

🎯 1. 【必须做】限制 SQL Server 最大内存使用量

❗为什么?

SQL Server 默认“贪吃”内存,不会主动留给 OS 和其他进程。即使你有 100GB 物理内存,也应预留一部分给操作系统和金蝶应用层。

✅ 推荐设置:

👉 在“服务器属性 → 内存”中设置:

最小服务器内存(MB): 0 (或设为 40960 = 40GB,避免频繁伸缩)
最大服务器内存(MB): 81920 (= 80GB)

💡 注:1 GB = 1024 MB → 80 × 1024 = 81920 MB

✅ 设置后点击“确定”,无需重启服务即可生效(动态调整)。


🎯 2. 【可选但推荐】设置最小内存(防止内存被过度回收)

如果你的服务器上只有 SQL Server 和金蝶应用,且希望保证数据库性能稳定,可以设置:

最小服务器内存(MB): 40960 (= 40GB)

这样即使系统压力大,SQL Server 也能保留至少 40GB 内存,避免因内存波动导致查询变慢。


🎯 3. 【高级优化】启用“锁定页面内存”权限(Lock Pages in Memory)

⚠️ 适用条件:

🔧 操作步骤:

  1. 打开 gpedit.msc → 计算机配置 → Windows 设置 → 安全设置 → 本地策略 → 用户权利分配
  2. 找到 “锁定内存中的页面”
  3. 添加 SQL Server 服务启动账户(通常是 NT SERVICE\MSSQLSERVER 或自定义域账户)
  4. 重启 SQL Server 服务

✅ 此操作可显著提升高负载下的稳定性,尤其适合金蝶这种 ERP 系统。


🎯 4. 【CPU 相关】检查并行度与成本阈值

虽然你有 24 核,但不要放任 SQL Server 自动决定并行计划。

建议设置:

-- 查看当前配置
EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;
EXEC sp_configure 'max degree of parallelism';
EXEC sp_configure 'cost threshold for parallelism';

-- 推荐设置(根据经验):
EXEC sp_configure 'max degree of parallelism', 8;        -- 最多使用8个CPU核心 per query
EXEC sp_configure 'cost threshold for parallelism', 50;   -- 只有成本 > 50 的查询才启用并行
RECONFIGURE;

💡 理由:避免单个大查询占满全部24核,影响并发用户体验;同时避免小查询不必要的并行开销。


🎯 5. 【存储与 TempDB 优化】

✅ TempDB 多文件配置(强烈建议):

TempDB 是临时对象密集区,多文件可减少争用。

-- 假设你有4个逻辑驱动器(或SSD分区),每个放一个TempDB数据文件
ALTER DATABASE tempdb 
ADD FILE (NAME = tempdev2, FILENAME = 'D:\TempDB\tempdb2.ndf', SIZE = 8GB, MAXSIZE = UNLIMITED, FILEGROWTH = 512MB);
-- 重复添加至共4~8个文件(一般不超过8个)

📌 文件大小建议初始设为相同(如8GB),增长步长一致,避免碎片。

✅ 数据文件预分配空间:

不要依赖自动增长!提前为数据库主数据文件和日志文件分配足够空间(比如各50GB+),并关闭自动增长或设较大增量(如512MB)。


🎯 6. 【监控与维护】

✅ 启用性能计数器监控:

✅ 定期更新统计信息 & 重建索引:

-- 示例:每周凌晨执行
EXEC sp_updatestats;
-- 或使用 Ola Hallengren 脚本进行智能维护

🎯 7. 【金蝶云星空特别注意事项】

金蝶云星空对 SQL Server 有特定要求:

ALTER DATABASE [YourK3CloudDB] SET READ_COMMITTED_SNAPSHOT ON WITH ROLLBACK IMMEDIATE;

📊 总结:你的服务器优化清单

项目 当前状态 建议设置 是否紧急
最大内存 2TB(危险!) 80GB 🔴 必须立即改
最小内存 0 40GB(可选) 🟡 推荐
并行度 默认(可能24) 8 🟡 推荐
成本阈值 默认5 50 🟡 推荐
TempDB 文件数 未知 4~8个等大文件 🟢 重要
锁定页面内存 未启用 启用(若为Server系统) 🟢 推荐
统计信息/索引维护 未知 定期自动化 🟢 必需

🛠️ 快速执行脚本(复制粘贴到 SSMS 执行)

-- 1. 设置内存上限 80GB
EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;
EXEC sp_configure 'max server memory (MB)', 81920;
RECONFIGURE;

-- 2. 设置最小内存 40GB(可选)
EXEC sp_configure 'min server memory (MB)', 40960;
RECONFIGURE;

-- 3. 设置并行度和成本阈值
EXEC sp_configure 'max degree of parallelism', 8;
EXEC sp_configure 'cost threshold for parallelism', 50;
RECONFIGURE;

-- 4. 开启读提交快照隔离(替换为你的数据库名)
ALTER DATABASE [Kingdee.K3Cloud] SET READ_COMMITTED_SNAPSHOT ON WITH ROLLBACK IMMEDIATE;

✅ 最后提醒


如有需要,我可以为你生成完整的“金蝶云星空 + SQL Server 2022 优化部署文档”或提供 Ola Hallengren 维护脚本模板。欢迎继续提问!



Revision #2
Created 7 March 2026 12:18:57 by Admin
Updated 7 March 2026 12:21:22 by Admin