当前位置: 首页 > news >正文

统一观测丨使用 Prometheus 监控 SQL Server 最佳实践

作者:啃唯

SQL Server 简介

SQL Server 是什么?

Microsoft SQL Server 是 Microsoft 推出的关系型数据库解决方案,支持企业 IT 环境中的各种事务处理、商业智能和分析应用程序。Microsoft SQL Server 是市场领先的数据库技术之一。

SQL Server 特点

  • 稳定:针对企业的应用需求,制定出适应环境的解决方案,保证了企业的数据安全和顺利运行。
  • 易用:提供了丰富的图形化管理工具,方便用户快速搭建数据库系统。
  • 兼容:原生适配 Windows 系统,提供丰富的 API 访问。
  • 性能:多种数据库引擎优化算法,支持大量数据查询存储。

SQL Server 核心概念

图片

关系引擎: 关系引擎控制存储引擎对数据的处理,并提供 SQL Server 组件来准确确定应如何执行查询。关系引擎由三个主要部分组成。CMD 解析器(parser)主要负责识别和消除语义和语法错误,并生成查询树。优化器(Optimizer)通过消除冗余任务和寻找最优计划,确保所请求的查询响应尽可能高效。查询执行器(Query Executoe)会生成数据获取逻辑的行为。

存储引擎: 当数据由存储引擎存储时,会从存储系统(例如 SAN 或磁盘)检索数据。存储引擎中存在三种类型的文件:主文件、辅助文件和日志文件。访问方法(Access Method)负责在缓存管理器和事务日志之间交换数据。缓存管理器(Buffer Manager)缓存当前的执行计划和页。事务管理器(Transaction Manager)使用日志和锁管理器对事务进行管理。

协议层: 该层支持客户端-服务器架构以及流。协议层支持 3 种类型的客户端服务器架构:共享内存、TCP/IP、命名管道。

主要适用场景

Microsoft SQL Server 凭借其可视化界面及其所具有的选项和工具,非常适合在关系数据库中存储所有所需的信息,以及轻松管理此类数据。

  • 事务处理: SQL Server 支持事务处理,通过使用事务,用户可以将一系列数据库操作组合在一起,并确保它们要么全部成功执行,要么全部回滚到初始状态。这对于处理银行交易、在线购物和库存管理等需要保证数据一致性的应用程序非常关键。
  • 通过大数据集群对所有数据进行智能分析: SQL Server 提供了强大的数据仓库和商业智能功能。用户可以使用 SSIS 将数据从不同的数据源中提取、转换和加载到数据仓库中。然后,您可以使用 SSAS 创建多维数据模型和立方体,以支持复杂的数据分析和报表需求。此外,SQL Server还提供了数据挖掘和预测分析功能,帮助组织发现数据中隐藏的模式和趋势。
  • 可扩展性: SQL Server 提供了广泛的开发和编程功能,以支持应用程序开发人员。SQL Server 还支持水平和垂直扩展,用户可以在需要时增加服务器硬件资源或在多个服务器之间进行数据分区和分布,以处理大规模数据和高并发负载。SQL Server 允许用户轻松地将数据库管理系统与任何设备和 Azure 服务集成,以获得更好的数据性能和分析能力。

主要版本介绍

SQL Server 2022:安全、性能、可用性等加强;查询存储和智能查询处理

SQL Server 2019:数据虚拟化和大数据群集;智能数据库、智能查询;内存数据库

SQL Server 2017:图形数据库功能、动态管理视图、内存优化等

SQL Server 2016:内存OLTP、Stretch Database、集成 Hadoop 等

监控关键指标

这里介绍监控 SQL Server 服务中常见的关键指标。

图片

系统指标

运行状态

启动状态是监控 SQL Server 最基础的指标,表示 SQL Server 实例是否在正常运行,或是否重启。SQL Server 重启时,没有 commit 的数据会丢失,小概率产生错误。

版本/实例时间

监控启动的 SQL Server 实例是否符合预期,是否是业务要求的 SQL Server 版本。保证 SQL Server 的本地时间与客户端保持一致,否则数据库返回的时间有可能发生错误。

读写指标

页指标

页读写: 页是 SQL Server 存储引擎磁盘管理的最小单位,为数据库中的数据文件(.mdf 或 .ndf)分配的磁盘空间可以从逻辑上划分成页(从 0 到 n 连续编号)。磁盘 I/O 操作在页级执行。也就是说,SQL Server 读取或写入所有数据页。因此对页的读写监控尤为重要。通过读写页数量的指标,可以计算出页读写的速率,从而判断 SQL Server 的执行性能。

页在缓存的停留时间: 所有数据库软件的主要设计目标之一是尽量减少磁盘 I/O,因为磁盘的读取和写入操作占用大量资源。SQL Server 在内存中生成缓存池,用于保存从数据库读取的页。我们需要监控页在缓存池的生命时长,页在缓存池中存在的时间越长,表示其被命中的可能性越大,也就是说访问该页时不需要访问磁盘。

惰性写(lazy write): 在缓冲区缓存中修改页后,不会将其立即写回磁盘;而是将其标记为“脏”。也就是说在将页物理写入磁盘之前,可以将其逻辑写入多次。在正常运行的情况下,脏页定期地刷入磁盘。而当不断地有新数据写入 SQL Server 且缓存不够用的情况下,大量的脏页会被移出缓存。

检查点(checkpoint): 当检查点发生时,SQL Server 要求刷新所有脏页至磁盘,此时 SQL Server 性能受到一定影响。我们需要监控检查点的速度,确保检查点的刷新速度达到预期。

页错误(page fault): 当页错误发生时,表示需要的页在 SQL Server 可管理的内存区域之外。当遇到页面错误时,程序执行停止并设置为等待状态。操作系统在磁盘上搜索所请求的地址。当找到该页面后,操作系统将其从磁盘复制到空闲 RAM 页面中。操作系统允许程序随后继续执行。

日志成长次数

SQL Server 数据库引擎为数据库中的每个操作写入日志记录,其中包括执行数据修改过程时、创建或删除数据库表或索引时以及每次分配或删除页面后开始或结束 SQL 事务。日志助于在系统或硬件发生故障时将数据库恢复到特定时间点。在具有过多日志记录操作的事务性很强的系统中,SQL Server 事务日志文件将快速增长,直到达到其最大大小,从而生成错误号 9002。如果启用自动增长选项,底层磁盘驱动器将耗尽可用空间。

I/O 等待(stall)时间

I/O 等待时间是一个可用于检测 I/O 问题的指标。SQL Server 将数据写入文件或是从文件读数据时,都需要等待较长的时间,表示为 I/O 等待时间,停顿时间较长表明存在 I/O 问题和磁盘活动繁忙。文件 I/O 属于数据库的关键路径,等待的时间直接反应到客户端读写 SQL Server 的延迟。

每个数据库存储的文件不同,使用的存储介质也可能不同。因此除了监控整体的 I/O  等待时间,还需要监控各个数据库的 I/O 等待时间,以便运维做出针对性的优化。

连接指标

在 SQL Server 中,执行查询都依赖于建立和维护客户端连接。当需要维护 SQL Server 的可用性和高性能,监控连接是运维工作的良好入口。当 SQL Server 并发连接数过多可能会使服务器超载。当连接成功建立,不管是否使用连接,每个连接都会产生开销。

存储指标

如上文所述,尽管 SQL Server 将数据存储在磁盘中,但因为缓存池的存在,对 SQL Server 内存使用情况同样要重点关注。默认情况下,SQL Server 根据可用的系统资源动态管理其内存需求。如果 SQL Server 需要更多内存,它会查询操作系统以确定是否有可用的空闲物理内存并使用可用内存。如果操作系统的可用内存不足,SQL Server 会将内存释放回操作系统,直到内存不足的情况得到缓解,或者直到 SQL Server 达到最小服务器内存限制。

性能指标

事务处理速率(TPS)

一个事务是指一个客户端向 SQL Server 发送请求然后 SQL Server 做出反应的过程。客户端在发送查询请求时开始计时,收到 SQL Server 响应后结束计时,以此来计算使用的时间和完成的事务个数。一般的,评价 SQL Server 性能均以每秒钟完成的客户端请求的数量来衡量。

批处理(T-SQL)速率

T-SQL (Transact-SQL) 是 Sybase 和 Microsoft 的一组编程扩展,它为结构化查询语言 ( SQL ) 添加了多种功能,包括事务控制、异常和错误处理、行处理和声明的变量。所有与 SQL Server通信的应用程序都是通过向服务器发送 T-SQL 语句来实现的。

指标详细定义

系统指标

图片

读写指标

图片

连接指标

图片

存储指标

图片

性能指标

图片

监控大盘

我们默认提供了 SQL Server Overview 大盘。

总览

在该 panel 能看到 SQL Server 运行时需要重点关注的指标,在检查 SQL Server 状态时,首先查看总览中是否有异常状态,再检查具体的指标。

  • 启动状态:绿色代表正常运行,红色代表异常运行
  • 内存使用率:使用红黄绿颜色提示,内存使用率在 80% 以下时为绿色,80%~90% 为黄色,90% 以上为红色

图片

资源

内存是 SQL Server 的重点关注硬件资源,通过该 panel 能了解 SQL Server 的内存使用情况:

  • 最大内存:提供内存整体状态
  • 内存使用率/使用量:分析内存使用的趋势
  • 文件扩展次数:分析操作数据量的趋势
  • 数据库文件大小:查看数据库存储的数据量趋势,以及日志的存储量的趋势

图片

图片

性能

在以下 panel 能看到 SQL Server 的运行效率,分为以下三类:

  • 事务处理速率:表示 SQL Server 每秒处理的事务数量,直接影响客户端查询请求的延迟
  • 批处理速率:表示 SQL Server 每秒能处理多少个 Transact-SQL
  • 死锁次数:检测是否发生了因为数据库竞争而发生的死锁,严重影响性能

图片

读写

在以下 panel 能看到 SQL Server 的运行效率:

  • 读写页速率:监控读写页的速率趋势,是否达到预期速率,是否发生波峰波谷等
  • 惰性写速率:定期输入脏页的速率趋势,监控是否平稳
  • page 生命预期:page 的生命预期越高越好
  • I/O 等待时间:SQL Server 等待读写文件的等待时间趋势
  • 检查点速率:当发生检查点,需要监控运行速率

图片

数据库 I/O Stall

除了监控 SQL Server 的整体 I/O 等待时间,还需要分别监控数据库的 I/O 等待时间。每个数据库存储的文件不同,存储的磁盘可能不同,需要做出针对性优化方案。

图片

连接

需要随时检查 SQL Server 的连接情况,防止过高的并发影响性能。

  • 总连接数:监控整体连接数的趋势
  • 连接错误数:监控是否有客户端发生了连接错误,保证系统正常运行
  • 各数据库的连接用户:分别监控每个数据库连接的客户端,以及每个客户端发起的连接数量

图片

数据库状态

监控各数据库是否正常运行,下表定义了数据库的状态。

状态定义
ONLINE可以对数据库进行访问。即使可能尚未完成恢复的撤消阶段,主文件组仍处于在线状态。
OFFLINE数据库无法使用。数据库由于显式的用户操作而处于离线状态,并保持离线状态直至执行了其他的用户操作。例如,可能会让数据库离线以便将文件移至新的磁盘。然后,在完成移动操作后,使数据库恢复到在线状态。
RESTORING正在还原主文件组的一个或多个文件,或正在脱机还原一个或多个辅助文件。数据库不可用。
RECOVERING正在恢复数据库。恢复进程是一个暂时性状态,恢复成功后数据库将自动处于在线状态。如果恢复失败,数据库将处于可疑状态。数据库不可用。
RECOVERY PENDINGSQL Server 在恢复期间遇到与资源相关的错误。数据库未损坏,但是可能缺少文件,或系统资源限制可能导致无法启动数据库。数据库不可用。需要用户另外执行操作来解决问题,并让恢复进程完成。
SUSPECT至少主文件组可疑或可能已损坏。在 SQL Server 启动过程中,数据库无法恢复。数据库不可用。需要用户另外执行操作来解决问题。
EMERGENCY用户更改了数据库,并将其状态设置为 EMERGENCY。数据库处于单用户模式,可以修复或还原。数据库标记为 READ_ONLY,禁用日志记录,并仅限 sysadmin 固定服务器角色的成员访问。EMERGENCY 主要用于故障排除。例如,可以将标记为“可疑”的数据库设置为 EMERGENCY 状态。这样可以允许系统管理员对数据库进行只读访问。只有 sysadmin 固定服务器角色的成员才可以将数据库设置为 EMERGENCY 状态。

图片

关键告警规则

在对 SQL Server 进行告警规则配置时,我们推荐基于以上采集得到的指标,从以下几个方面进行告警规则的配置,分别是运行情况、资源使用情况、连接使用情况。一般来说,我们默认生成影响 SQL Server 正常使用的告警规则,优先级较高。读写速率等与业务相关的告警则由用户自定义。以下是一些推荐的告警规则。

运行情况

SQL Server 停机

SQL Server 停机是 0/1 阈值的告警规则。一般来说,部署在 ACK 等阿里云环境的 SQL Server 服务具有高可用的能力,当一个 SQL Server 实例停止,其他的实例会继续工作。本报警引发的原因可能是所有的 SQL Server 都无法正常启动,或者 Exporter 错误无法获取数据。我们默认设定5分钟内 SQL Server 无法恢复的告警。

SQL Server 重启

SQL Server 重启是 0/1 阈值的告警规则绝大部分情况下 SQL Server 因为有日志的存在,不存在数据丢失的情况。但 SQL Server 重启之后缓存池的内容被清空,造成暂时的查询缓慢。正在执行的事务要回退给客户端,引发一系列暂时的错误,需要客户端重新发起请求。

资源使用情况

内存使用率过高

SQL Server 对服务器内存的使用策略是用多少内存就占用多少内存,不加限制的话有可能把节点的所有内存资源占用。当内存使用率过高,SQL Server 无法正常运行。我们设定的内存使用阈值为:危险值 80%,告警值 90%。当内存使用率为 80% 时,节点高负荷运转,但一般不影响正常使用。当内存长时间使用率为 90% 时,将发出告警,提示运维资源紧缺,尽早处理。

发生死锁

SQL Server 发生死锁是 0/1 阈值的告警规则,不考虑死锁的个数。一系统中遇到的死锁数通常很少,而一旦发生死锁,需要终止被线程执行的当前批处理,回滚死锁牺牲品的事务,回退给客户端一个错误信息。

连接使用情况

发生连接错误

SQL Server 发生连接错误是 0/1 阈值的告警规则。发生该错误可能有很多原因,如:远程主机强制关闭现有连接、超时过期。操作完成之前已过的超时期限或服务器未响应、无法生成 SSPI 上下文等,需要登录数据库并检查日志查看错误原因。

典型问题场景及其排查/解决方法

SQL Server 性能差

SQL Server 性能差体现在事务处理速率(TPS)、批处理(T-SQL)速率低的指标上, 性能差有许多原因可能导致,我们需要联系多个指标进行排查。

检查内存使用率

  • 原因:内存不足的情况下,缓存池无法缓存所有的热点数据,导致多次数据访问请求发送到磁盘
  • 排查方法:检查大盘中的内存使用率 panel,检查内存使用率是否一直都很高。检查告警历史,查看是否提示内存资源不足。
  • 解决方法:优化对应节点的磁盘资源;

检查 I/O 等待时间

  • 原因:I/O 等待时间较长表明存在 I/O 问题和磁盘活动繁忙。
  • 排查方法:检查大盘中的 I/O 等待时间 panel,检查 I/O 等待时间是否一直都很高。检查告警历史,查看是否提示内存资源不足。
  • 解决方法:可能是出现大量的波峰访问,突然增大磁盘访问,考虑优化 SQL Server 架构;进一步检查节点的文件系统是否有 I/O 问题;优化对应节点的磁盘资源;

检查日志增长次数

  • 原因:当数据库中执行任何修改时,SQL Server 会将修改写入日志缓冲区,然后将该缓冲区数据写入磁盘。当写入数据过多,日志内容来不及刷入磁盘。
  • 排查方法:检查大盘中日志增长次数的 panel,检查是否有某段时间日志增长次数突然升高。
  • 解决方法:为日志文件选择的磁盘必须在顺序读写吞吐量和最小延迟方面表现良好。

检查检查点(checkpoint)

  • 原因:执行检查点时,SQL Server 将内存中的所有脏页刷新到磁盘,会影响整体数据库性能,给磁盘带来较大压力。
  • 排查方法:查看检查点 panel,查看是否有检查点速率的数据,表示在该时间段进行了检查点操作。
  • 解决方法:设计进行检查点的时机,尽量避开高峰时间段。

监控体系搭建

自建 Prometheus 监控 SQL Server 的痛点

通常我们当前的 SQL Server 都是部署在 ECS 上,因此自建 Prometheus 监控 SQL Server 时,我们将面临的典型问题有:

  1. 由于安全、组织管理等因素,用户业务通常部署在多个相互隔离的 VPC,需要在多个 VPC 内都重复、独立部署 Prometheus,导致部署和运维成本高。

  2. 每套完整的自建监控系统都需要安装并配置 Prometheus、Grafana、AlertManager 等,过程复杂、实施周期长。

  3. 缺少与阿里云 ECS 无缝集成的服务发现(ServiceDiscovery)机制,无法根据 ECS 标签来灵活定义抓取 targets。如果自行实现类似功能,则需要使用 Golang 语言开发代码(调用阿里云 ECS POP 接口)、集成进开源 Prometheus 代码、编译打包后部署,实现门槛高、过程复杂、版本升级困难。

  4. 常用开源 Grafana SQL Server 大盘不够专业,缺少结合 SQL Server 原理/特征和最佳实践进行深入优化。

  5. 缺少 SQL Server 告警指标模板,需要用户自行研究、配置告警项,工作量大。

用阿里云 Prometheus 进行自建 SQL Server 的监控

  • 登录 ARMS 控制台 [ 1]
  • 在左侧导航栏选择 Prometheus 监控 > Prometheus 实例列表,进入可观测监控 Prometheus 版的实例列表页面。
  • 单击目标 Prometheus 实例名称,进入集成中心页面。
  • 单击 SQL Server 卡片的安装

图片

  • 配置相关参数,并单击确定,完成组件接入。

图片

已接入的组件会显示在集成中心页面的已安装区域。单击该组件卡片,在弹出的面板中可以查看 Targets、指标、大盘、告警、服务发现配置、Exporter 等信息。

图片

,您可以看到目前可观测监控 Prometheus 版提供的关键告警指标。

图片

您可以在大盘页签,单击大盘缩略图,查看对应 Grafana 大盘。

图片

您可以面板中单击告警页签,查看 SQL Server 的 Prometheus 告警。您还可以根据业务需求新增告警规则。创建 Prometheus 告警规则的具体操作,请参见 Prometheus 告警规则 [ 2]

图片

自建 Prometheus 与阿里云可观测监控 Prometheus 版监控 SQL Server 优劣对比

图片

可观测监控 Prometheus 版针对产品新用户,提供三个月每日 2000w 自定义指标上报额度,点击此处立即免费试用。

参考链接:

[1] https://learn.microsoft.com/zh-cn/sql/sql-server/what-s-new-in-sql-server-2022?view=sql-server-ver16#query-store-and-intelligent-query-processing

[2] https://www.sqlshack.com/sql-server-troubleshooting-disk-i-o-problems/

[3] https://learn.microsoft.com/en-us/sql/relational-databases/performance/monitor-and-tune-for-performance?view=sql-server-ver16

[4] https://learn.microsoft.com/zh-cn/sql/relational-databases/pages-and-extents-architecture-guide?view=sql-server-ver16

[5] https://learn.microsoft.com/zh-cn/troubleshoot/sql/database-engine/performance/troubleshoot-sql-io-performance

[6] https://learn.microsoft.com/zh-cn/sql/relational-databases/memory-management-architecture-guide?view=sql-server-ver16

[7] https://www.sqlshack.com/sql-server-memory-performance-metrics-part-1-memory-pagessec-memory-page-faultssec/

[8] https://www.sqlshack.com/sql-server-transaction-log-growth-monitoring-and-management/

[9] https://blog.csdn.net/Superman7658/article/details/130799559

[10] https://learn.microsoft.com/zh-cn/sql/relational-databases/databases/database-states?view=sql-server-ver16&redirectedfrom=MSDN

相关链接:

[1] ARMS 控制台

https://account.aliyun.com/login/login.htm?oauth_callback=https%3A%2F%2Farms.console.aliyun.com%2F#/home

[2] Prometheus 告警规则https://help.aliyun.com/zh/arms/prometheus-monitoring/create-alert-rules-for-prometheus-instances#task-2121615

相关文章:

统一观测丨使用 Prometheus 监控 SQL Server 最佳实践

作者:啃唯 SQL Server 简介 SQL Server 是什么? Microsoft SQL Server 是 Microsoft 推出的关系型数据库解决方案,支持企业 IT 环境中的各种事务处理、商业智能和分析应用程序。Microsoft SQL Server 是市场领先的数据库技术之一。 SQL S…...

最短无序连续子数组

题目链接 最短无序连续子数组 题目描述 注意点 找出符合题意的 最短 子数组&#xff0c;并输出它的长度-100000 < nums[i] < 100000 解答思路 本题的数组可以分为三段&#xff0c;左段中段和右段&#xff0c;如下图所示 观察规律可知&#xff0c;左段元素始终比中段…...

更新 | 持续开源迅为RK3568驱动指南第十二篇-GPIO子系统

《iTOP-RK3568开发板驱动开发指南》更新&#xff0c;本次更新内容对应的是驱动&#xff08;第十二期_GPIO子系统-全新升级&#xff09;视频&#xff0c;后续资料会不断更新&#xff0c;不断完善&#xff0c;帮助用户快速入门&#xff0c;大大提升研发速度。 文档教程更新至第十…...

centos7安装erlang23.3.4.11及rabbitmq3.9.16版本

rpm包有系统版本要求&#xff0c;el是Red Hat Enterprise Linux(EL)的缩写。 EL7是Red Hat 7.x&#xff0c;Centos 7.x EL8是Red Hat 8.x, Centos 8.x 所以我们在安装erlang及rabbitmq时需要选择与自己的服务器相对应的rpm包 # rabbitmq的rpm安装包 https://github.com/rabbi…...

VMware和Debian下载

文章目录 ⭐️写在前面的话⭐️一、VMware二、Debain三、建立虚拟机&#x1f680; 先看后赞&#xff0c;养成习惯&#xff01;&#x1f680;&#x1f680; 先看后赞&#xff0c;养成习惯&#xff01;&#x1f680; ⭐️写在前面的话⭐️ CSDN主页&#xff1a;程序员好冰 目前在…...

mysql面试题48:MySQL中 Innodb的事务与日志的实现方式

该文章专注于面试,面试只要回答关键点即可,不需要对框架有非常深入的回答,如果你想应付面试,是足够了,抓住关键点 面试官: Innodb的事务与日志的实现方式 以下是InnoDB事务和日志的实现方式的详细说明: 事务日志(Transaction Log): InnoDB使用事务日志来保证事务的…...

数据结构 优先级队列(堆)

数据结构 优先级队列(堆) 文章目录 数据结构 优先级队列(堆)1. 优先级队列1.1 概念 2. 优先级队列的模拟实现2.1 堆的概念2.2 堆的存储方式2.3 堆的创建2.3.1 堆向下调整2.3.2 堆的创建2.3.3 建堆的时间复杂度 2.4 堆的插入与删除2.4.1 堆的插入2.4.2 堆的删除 2.5 用堆模拟实现…...

如何在edge浏览器中给PDF添加文字批注

我用的edge浏览器是目前最新版的&#xff08;一般自动更新到最新版&#xff09; 最近&#xff0c;我喜欢用edge浏览器查看PDF&#xff0c;节省电脑资源&#xff0c;快捷且方便。 但edge对PDF的标注种类较少&#xff0c;主要是划线和涂色&#xff0c;文字批注功能尚未出现在工具…...

集成学习的小九九

集成学习&#xff08;Ensemble Learning&#xff09;是一种机器学习的方法&#xff0c;通过结合多个基本模型的预测结果来进行决策或预测。集成学习的目标是通过组合多个模型的优势&#xff0c;并弥补单个模型的不足&#xff0c;从而提高整体性能。 集成学习的主要策略 在集成…...

深入理解Scrapy

Scrapy是什么 An open source and collaborative framework for extracting the data you need from websites. In a fast, simple, yet extensible way. Scrapy是适用于Python的一个快速、简单、功能强大的web爬虫框架&#xff0c;通常用于抓取web站点并从页面中提取结构化的数…...

想做WMS仓库管理系统,找了好久才找到云表

公司内部仓库管理原方式均基于人工电子表格管理方式来实现收发存管理&#xff0c;没有流程化管理&#xff0c;无法保证数据的准确性和及时性&#xff0c;同时现场操作和数据核对会出现不同步的情况&#xff0c;无法提高仓库的运作效率&#xff0c;因此&#xff0c;我们基于云表…...

公司销售个人号如何管理?

微信管理系统可以帮助企业解决哪些问题呢&#xff1f; 一、解决聊天记录监管问题 1.聊天记录的保存&#xff0c;让公司的管理者可以随时查看公司任意销售与客户的聊天记录&#xff0c;不用一个一个员工逐一去看&#xff0c;方便管理&#xff1b; 2.敏感词监控&#xff0c;管理者…...

COLE HERSEE 48408 工业4.0、制造业X和元宇宙

COLE HERSEE 48408 工业4.0、制造业X和元宇宙 需要数据来释放工业4.0的全部潜力——价值链中的所有公司都可以访问大量数据。一个新的互联数据生态系统旨在提供解决方案:制造业x。 在德国联邦经济事务和气候行动部以及BDI、VDMA和ZVEI贸易协会的密切合作下&#xff0c;实施制…...

【Vue基础-数字大屏】加载动漫效果

一、需求描述 当网页正在加载而处于空白页面状态时&#xff0c;可以在该页面上显示加载动画提示。 二、步骤代码 1、全局下载npm install -g json-server npm install -g json-server 2、在src目录下新建文件夹mock&#xff0c;新建文件data.json存放模拟数据 {"one&…...

CSS 样式简写

在CSS中有许多简写的样式&#xff0c;它们被广泛使用。简写最好按照如下顺序进行书写 font font: font-style font-weight font-size/line-height font-familyfont-style italic//斜体 normal//正常字体(默认)font-weight 一般填写数字 400 normal(默认值) 700 bold(默认值)f…...

SQL Server创建数据库

简单创建写法 默认初始大小为5MB,增长速度为2MB create database DBTEST自定义 用户创建的数据库都被存放在sys.database中&#xff0c;每个数据库在表中占一行&#xff0c;name字段存放的数据库的名称&#xff0c;具体字段可以看此博客sys.database系统表详细说明 所以判断…...

树莓派安装.NET 6.0

首先安装.Net Core依赖&#xff08;未使用&#xff09; sudo apt install -y libunwind8 libunwind8-dev gettext libicu-dev liblttng-ust-dev libcurl4 libcurl4-openssl-dev libssl-dev uuid-dev unzip libgdiplus libc6-dev libkrb5-3 需要安装的依赖微软官方文档已经列出…...

小华HC32F448串口使用

目录 1. 串口GPIO配置 2. 串口波特率配置 3. 串口接收超时配置 4. 串口中断注册 5. 串口初始化 6. 串口数据接收处理 7. DMA接收配置和处理 1. 串口GPIO配置 端口号和Pin脚号跟STM32没什么区别。 串口复用功能跟STM32大不一样。 如下图&#xff0c;选自HC32F448 表 2…...

Redis实现简易消息队列的三种方式

Redis实现简易消息队列的三种方式 消息队列简介 消息队列是一种用于在计算机系统中传递和处理数据的重要工具。如果你完全不了解消息队列&#xff0c;不用担心&#xff0c;我将尽力以简单明了的方式来解释它。 首先&#xff0c;想象一下你正在玩一个游戏&#xff0c;而游戏中…...

基于SpringBoot的在线小说阅读平台系统

基于SpringBoot的在线小说阅读平台系统的设计与实现~ 开发语言&#xff1a;Java数据库&#xff1a;MySQL技术&#xff1a;SpringBootMyBatisVue工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 系统展示 主页 个人中心 登录界面 管理员界面 摘要 基于Spring Boot的在线小说阅读…...

VMware Workstation 与 Hyper-V 不兼容。请先从系统中移除 Hyper-V 角色

引用地址...

uniapp h5 MD5加密

文章目录 1.当使用 CryptoJS 进行 MD5 加密时&#xff0c;你需要先引入 CryptoJS 库并确保它已经正确安装。下面是一个更详细的示例代码&#xff1a;2.然后&#xff0c;在需要使用 MD5 加密的地方&#xff0c;引入 CryptoJS 代码库&#xff1a;3.接下来&#xff0c;我们定义一个…...

2023_Spark_实验十八:安装FinalShell

下载安装包 链接&#xff1a;https://pan.baidu.com/s/14cOJDcezzuwUYowPsOA-sg?pwd6htc 提取码&#xff1a;6htc 下载文件名称&#xff1a;FinalShell.zip 二、安装 三、启动FinalShell 四、连接远程 linux 服务器 先确保linux系统已经开启&#xff0c;不然连接不上 左边…...

文件服务器管理服务器怎么设置

文件服务器是一种提供文件存储和共享服务的服务器&#xff0c;它可以方便企业内部的员工共享文件&#xff0c;提高工作效率。为了更好地管理和维护文件服务器&#xff0c;需要对其进行合理的设置。下面小编将介绍文件服务器管理服务器的基本设置方法。 一、选择合适的操作系统 …...

LeetCode每日一题——Single Number

文章目录 一、题目二、题解 一、题目 136. Single Number Given a non-empty array of integers nums, every element appears twice except for one. Find that single one. You must implement a solution with a linear runtime complexity and use only constant extra …...

有什么手机软件能分离人声和音乐?

很多人在制作混剪视频&#xff0c;需要二次创作的时候&#xff0c;就经常会把人声分离、背景音乐伴奏提取出来&#xff0c;然后重新加入自己的创意跟想法。下面就一起来看看如何用手机软件分离人声和音乐的吧&#xff01; 音分轨 一款可以分离人声和背景音乐的手机软件&#x…...

私人服务器可以干嘛

目录 搭建个人网站或博客&#xff1a; 远程桌面&#xff1a; 作为网盘储存&#xff1a; 作为测试和学习环境&#xff1a; 推广产品&#xff1a; 游戏私服(注意,仅限于个人自己单机玩)&#xff1a; 个人服务器可以用于多种用途&#xff0c;以下是一些常见的用途&#xff1a;…...

【EI会议征稿】第三届高性能计算与通信工程国际学术会议(HPCCE 2023)

第三届高性能计算与通信工程国际学术会议(HPCCE 2023) 第三届高性能计算与通信工程国际学术会议&#xff08;HPCCE 2023&#xff09;将于2023年12月22-24日在长沙召开。HPCCE 2023将围绕“高性能计算与通信工程”的最新研究领域&#xff0c;为来自国内外高等院校、科学研究所、…...

项目管理,如何做到流程标准化?

在PMP管理学习规范化、标准化和流程化的背景下&#xff0c;我们在日常工作中会遇到各种大小不一的工作项目。为了能够确保项目按时高质量地完成&#xff0c;项目管理变得至关重要。项目管理可以简单地解释为&#xff0c;在给定的时间和资源限制下&#xff0c;通过协调有限资源&…...

windows编译ollvm笔记

准备工作 1.找到Android SDK目录配置好cmake环境变量 E:\AndroidSDK\cmake\3.18.1&#xff08;E:\AndroidSDK为 Android SDK目录地址&#xff09;。 下载llvm-mingw编译环境(gcc编译器的windows版本&#xff0c;即可以在windows平台上使用gcc编译器)&#xff0c;下载地址&…...

南昌网站建设渠道/广州市口碑seo推广

有好几种解决方案&#xff1a; https://hexo.io/zh-cn/docs/asset-folders 先试试配置yml的方式&#xff1b; 确实解决了问题...

重庆网站建设零臻靠谱/无经验能做sem专员

目录 〇&#xff0c;最强大脑同款游戏 《第1-4季》 一&#xff0c;盲填数独 二&#xff0c;盲指过天桥 三&#xff0c;盲填折线数独 四&#xff0c;盲填骑士跳 五&#xff0c;七阶幻立方 六&#xff0c;泰森多边形 七&#xff0c;分形 八&#xff0c;数独王中王&…...

java做网站需要的技术/百度网首页登录入口

昨天花了一个下午才升级成功&#xff0c;今天费了点儿周折才打上补丁&#xff0c;不想同道中人再浪费不必要的时间&#xff0c;把以把我的步骤给大家说一下&#xff0c;供参考。 使用工具:x65Flasher与VK 升级文件及工具下载:http://yizhe.net/c65/ 步骤&#xff1a; 1.关机&am…...

网站建设包含哪些/营销型网站建设服务

&#xff08;1&#xff09;mall-swarm是一套微服务商城系统&#xff0c;采用了 Spring Cloud Hoxton & Alibaba、Spring Boot 2.3、Oauth2、MyBatis、Docker、Elasticsearch、Kubernetes等核心技术&#xff0c;同时提供了基于Vue的管理后台方便快速搭建系统。mall-swarm在电…...

网站空间租用有哪些服务/seo课程排行榜

塑造肌肤纹理 步骤如下&#xff1a; 两种方法 第一种方式&#xff1a;自己制造噪点 打开原图新建一层编辑-填充-内容填充50%中性灰滤镜-增加杂色-默认参数就行滤镜-高斯模糊图层混合模式修改成线性光 第二种方式&#xff1a;利用原来好的皮肤提取纹理 先把皮肤好的人的纹理…...

如何破解wordpress主题/搜索引擎营销

1. Intent component : activity&#xff0c;service&#xff0c;broadcast receiver以及content provider component 与操作系统 通信的一种媒介工具 是intent。 intent是一种多用途通信工具。 Intent类的构造方法 //Class类型参数告诉ActivityManager应该启动哪个activi…...