SQLServer 特定场景优化问题

2022-03-09 13:09:04 +08:00
 Afar

使用场景: 车间内 142 台 PC ,通过配置 ODBC ,执行插入数据到局域网内服务器上的 SQLServer 数据库,频率为每 10 秒一次。 每台 PC 对应服务器中的一个数据库,共 142 个数据库,每个库有 18 张表,单表最大字段 780 个。

车间 PC 操作系统为 Win7/XP,内存为 4G 。 服务器配置为 Xeon Gold 5218 ,内存 128G ,SQLServer 版本为 2019 社区版,默认安装默认配置。

异常现象: 偶尔会出现数据插入异常,PC 端报数据库写表失败。

可能问题:

  1. 网络问题。
  2. 插入数据量过大,插入频率过大。
  3. SQLServer 数据库优化不足,升级为专业版或优化数据库参数配置。
  4. 其它问题。

麻烦各位大佬,给些建议或者指导,非常感谢。

2606 次点击
所在节点   SQL Server
25 条回复
PopRain
2022-03-09 20:48:53 +08:00
@Afar SQL SERVER express 最大只能用 1G 内存,你还开了这么多 database , 你可以安装一个开发版测试一下,我觉得肯定有改善,你这个数据量对 SQL server 来说不算什么。
qile1
2022-03-10 01:08:45 +08:00
把服务器虚拟化成多个系统,每个系统安装 sql server
zzlhr
2022-03-10 14:44:13 +08:00
如果超市 SQL Server Profiler 应该是监测不到的,但是你可以看成功的执行时间是多久,如果排队会出现很多执行时间很长的 sql ,而且目前看来很明确是版本问题了。sqlserver 缓存池跟用户量和数据库大小,运行时间都有直接联系,缓存池都是在内存里,楼上说了限制 1g 我不知道准确不,没仔细看,但是就算不是也不会超过 4g ,就你这个使用情况内存是不够的
PopRain
2022-03-22 14:11:11 +08:00
楼主最后把结果告诉大家一下
Afar
2022-03-23 09:31:19 +08:00
@PopRain
谢谢各位。
由于是生产车间,且设备数量较多,稳妥起见,两个方案同步进行。
1. 将 Express 版本升级到企业版。
2. 数据插入频率由 10s 改为 60s 。
更改后,报警数量明显减少,但是很遗憾,没有找到具体原因。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/839120

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX