惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Simon Willison's Weblog
Simon Willison's Weblog
P
Privacy International News Feed
www.infosecurity-magazine.com
www.infosecurity-magazine.com
T
Troy Hunt's Blog
Hacker News - Newest:
Hacker News - Newest: "LLM"
Attack and Defense Labs
Attack and Defense Labs
S
Secure Thoughts
V2EX - 技术
V2EX - 技术
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
O
OpenAI News
Cloudbric
Cloudbric
Google Online Security Blog
Google Online Security Blog
Schneier on Security
Schneier on Security
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Help Net Security
Help Net Security
Cyberwarzone
Cyberwarzone
G
GRAHAM CLULEY
L
Lohrmann on Cybersecurity
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Spread Privacy
Spread Privacy
NISL@THU
NISL@THU
N
News and Events Feed by Topic
T
Tenable Blog
S
Security @ Cisco Blogs
N
News and Events Feed by Topic
The Hacker News
The Hacker News
C
CXSECURITY Database RSS Feed - CXSecurity.com
宝玉的分享
宝玉的分享
月光博客
月光博客
酷 壳 – CoolShell
酷 壳 – CoolShell
美团技术团队
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Google DeepMind News
Google DeepMind News
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
T
Tailwind CSS Blog
V
Visual Studio Blog
P
Proofpoint News Feed
Webroot Blog
Webroot Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
博客园 - 三生石上(FineUI控件)
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Jina AI
Jina AI
雷峰网
雷峰网
T
The Blog of Author Tim Ferriss
Hugging Face - Blog
Hugging Face - Blog
腾讯CDC
L
LangChain Blog
The Register - Security
The Register - Security
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 聂微东

SQL Server

Reporting Services 从 2014 升级到 2019 后,报表订阅发送邮件时报错: SMTPUTF8 is required, but was not offered by host。 - V2EX 完整备份还原后,事务日志却没有,是怎么回事? - V2EX sql server 重置密码后本地可以连接,远程连接失败。 - V2EX SQL Server 去除重复数据问题 - V2EX 请教: MSSQL 如何确定死锁根源 session_id? - V2EX SQL Server 数据库迁移到 PostgreSQL 或者其它云原生 OLAP 库有哪些比较好的方案 - V2EX 在.Net 中 是否有第三方实现 Sqlserver 客户端连接池的 SDK - V2EX sqlserver 查询缓慢问题 - V2EX 关于 sqlserver 的内存使用问题? - V2EX 请教一下获取最后一次数据的 sql 写法 目前 SQL Server 有哪些主流版本 - V2EX sql server 如何对中文进行编码,在网上找了很多都不靠谱,希望用 js 的 decodeUrl 能够解码成功 - V2EX sql server 遇到的一个问题? - V2EX sql server 如何做主从数据库 - V2EX sqlserver 查询问题 - V2EX SQL Server openquery 查询 Oracle 遇到特殊字符报错 - V2EX sql server 定时更新统计信息作业执行失败,提示内存不足。 - V2EX 做外贸系统遇到订单日期的问题, sql 不知道该怎么写 - V2EX sql server 同步问题 - V2EX pageadmin 数据库连接不上 - V2EX SQL Server 查询优化 - V2EX MSSQL 语句计算值为零。 - V2EX MSSQL 创建作业后,作业会立即执行么? - V2EX 多线程批量更新数据库死锁问题? - V2EX SQLSERVER 表数据迁移 - V2EX 求个命令行 sqlserver 导出工具 - V2EX 求助 SQL server 远程连接问题 - V2EX 一个 T 的 SqlServer 数据库太慢, 想删除旧的数据, 怎么做比较好?
SQLServer 特定场景优化问题 - V2EX
Afar · 2022-03-09 · via SQL Server

Afar

 

Afar · 2022 年 3 月 9 日 · 4734 次点击

这是一个创建于 1558 天前的主题,其中的信息可能已经有所发展或是发生改变。

使用场景: 车间内 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. 其它问题。

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

sss007

4

sss007      2022 年 3 月 9 日

1.网络问题可能性不大,排查方法就是找一台失败的电脑连续 ping ,到出现失败查看是否丢包
2. 这个有可能,但是概率不大,原因可能是插入是锁表,看下是不是业务上使用触发器之类的,频繁写操作的表尽量避免使用触发器
3. 免费版 cpu 限制 4 核,还有内存限制的都很小,你这服务器配置性能完全没有发货。
4. 上述排除完毕之后还有问题就 使用 sqlserver 自带的分析工具 Sql Server Profiler 挺好用,也很简单

paradoxs

5

paradoxs      2022 年 3 月 9 日

发到 MQ 上,慢慢拉

c6h6benzene

6

c6h6benzene      2022 年 3 月 9 日 via iPhone

Service Broker 丢队列里慢慢消费?

Afar

8

Afar      2022 年 3 月 9 日

@paradoxs @c6h6benzene 如果能本地数据库转 MQ ,推送到服务器端的 Broker 上最好了。但是这样又需要去每台机器上配置部署,同时增加了 PC 端负担。

Itoktsnhc

9

Itoktsnhc      2022 年 3 月 9 日

架构不调整的话首先该做的是对 SQL Server 以及所在机器的状态做一个监控,结合客户端报错的时间看指标,比如 CPU 情况,内存情况,网络流量情况,数据库连接数,是否存在死锁这些

mingl0280

10

mingl0280      2022 年 3 月 9 日 via Android

2 和 3 完全不可能,高度怀疑是 ODBC 插入代码有问题。

PopRain

11

PopRain      2022 年 3 月 9 日

社区版你就算有 128G 内存,它也只会用 1G 内存(数据库文件 MAX 10G)。。。。你建这么多数据库,本身就耗费缓存内存,缓存要不停交换到硬盘肯定影响插入效率,如果可以改,最好不要超过 10 个数据库

另外,可以先装个开发版试试(免费 180 天),如果没有问题,预算有限可以买个 WEB 版(max 64G),话说这么“豪华”的服务器都买了,舍不得买个标准版的数据库。。。。 如果这样,为什么不用 postgresql 呢?

PopRain

12

PopRain      2022 年 3 月 9 日

补充一下,如果客户端可以配置连接端口的话,是不是可以测试一下多安装几个实例,监听不同端口,这个不知道微软是否限制为共享 1G 内存,还是各自 1G

Afar

14

Afar      2022 年 3 月 9 日

PC 客户端是 WIN7/XP ,只能通过 ODBC 到服务器数据库,服务器端是 Windows Server 2016 ,如何实现多实例呢? VMware 么?

kiracyan

15

kiracyan      2022 年 3 月 9 日

你的社区版确定没阉割吗?

Afar

16

Afar      2022 年 3 月 9 日

@kiracyan 我也看不来有没有阉割,这是 select @@version 查询出来的

Microsoft SQL Server 2019 (RTM) - 15.0.2000.5 (X64) Sep 24 2019 13:48:23 Copyright (C) 2019 Microsoft Corporation Express Edition (64-bit) on Windows 10 Pro 10.0 <X64> (Build 16299: )

adoal

17

adoal      2022 年 3 月 9 日 via iPhone

“数据插入异常”时的具体表现是什么,服务器返回的错误码?客户端抛出的异常?日志里的记录?如果什么都没有,那不好猜。

PrinceofInj

18

PrinceofInj      2022 年 3 月 9 日

@Afar 直接新安装一个数据库,选评估版就行了。企业版的功能,180 天评估器,足够排查了吧。继续运行安装程序,选命名实例就是多实例了。

netnr

19

netnr      2022 年 3 月 9 日 via Android

判决大概率是版本问题,先换一个开发版观察是否依然出现问题,EE 版本限性能和大小
换个思路分析,142 台每 10 秒写入同一个数据库也顶得住

kiracyan

20

kiracyan      2022 年 3 月 9 日

@Afar 建议升级企业版 我之前公司上千台写入都没什么问题 服务器的系统版本时 win server 吗 我看你信息是 win10 版本的

PopRain

21

PopRain      2022 年 3 月 9 日

@Afar SQL SERVER express 最大只能用 1G 内存,你还开了这么多 database , 你可以安装一个开发版测试一下,我觉得肯定有改善,你这个数据量对 SQL server 来说不算什么。

qile1

22

qile1      2022 年 3 月 10 日 via Android

把服务器虚拟化成多个系统,每个系统安装 sql server

sss007

23

sss007      2022 年 3 月 10 日

如果超市 SQL Server Profiler 应该是监测不到的,但是你可以看成功的执行时间是多久,如果排队会出现很多执行时间很长的 sql ,而且目前看来很明确是版本问题了。sqlserver 缓存池跟用户量和数据库大小,运行时间都有直接联系,缓存池都是在内存里,楼上说了限制 1g 我不知道准确不,没仔细看,但是就算不是也不会超过 4g ,就你这个使用情况内存是不够的

PopRain

24

PopRain      2022 年 3 月 22 日

楼主最后把结果告诉大家一下

Afar

25

Afar      2022 年 3 月 23 日

@PopRain
谢谢各位。
由于是生产车间,且设备数量较多,稳妥起见,两个方案同步进行。
1. 将 Express 版本升级到企业版。
2. 数据插入频率由 10s 改为 60s 。
更改后,报警数量明显减少,但是很遗憾,没有找到具体原因。