连接远程 SQL Server 数据库时,如果发现性能慢,可以检查会不会存在以下问题:
1. 网络连接:首先,应检查客户端和目标服务器之间的网络连接质量。 如果没有单独搭建双向稳定地连接,就需要检查网络连接的速率和延迟问题。
例如,在下面的命令中,我们可以查看从客户端到服务器的网络延迟:
“`bash
$ ping xx.xx.xx.xx
如果返回值大于 150ms,说明网络质量很差,应斟酌着改良网络连接。
2. 服务端瓶颈:另外,客户真个网络性能良好,不代表服务真个SQL Server的性能也一定良好,可能有硬件瓶颈出现,包括硬盘I/O,内存和CPU负载等等,这些指标可以通过客户端工具或进入SQL Server管理工具进行检查。
SQL Server 客户端可使用sys. dm_os _wait_ stats对当前Server实例进行性能瓶颈分析,该语句就能够帮忙找到性能问题瓶颈所在:
```sqlSELECT TOP 20 *
FROM sys.dm_os_wait_statsORDER BY waiting_tasks_count DESC
以上SQL语句以降序排列,可以查看每种类型的Poll中等待时间最长的等待事件,以帮助进一步定位可能的瓶颈,比如磁盘I/O,碎片化等。
3. 对SQL语句的建议:另外,应针对SQL语句进行优化,通过查看SQL Server 的诊断信息,看到缓存中的查询和准备的履行计划,如果发现不公道的做法,就会影响性能。
举个例子,我们可使用SQL Server提供的一些技术(如动态管理视图sys. dm_exec_ query_ stats)来检查查询正在运行的时间,看会不会存在致使性能问题的潜伏表查询:
“`sql
SELECT
DB_NAME(DEST.dbid)AS[数据库名],
OBJECT_NAME(DEST.Objectid,DEST.dbid)AS[表名],
EXECUTION_COUNT AS[履行次数],
(TOTAL_ELAPSED_TIME/EXECUTION_COUNT)AS[平均_耗时],
TOTAL_ELAPSED_TIME AS[总耗时],
TOTAL_ELAPSED_TIME/EXECUTION_COUNT/1000 AS[单次耗时_毫秒]
FROM sys.dm_exec_query_stats AS DEST
履行以上语句后,就能够针对当前用户发出的典型查询,在列表中查看该查询的整体性能情况,通过优化某些查询,可以改良整体性能。
总之,要想提高SQL Server远程连接的性能,要斟酌网络质量,SQL查询语句的优化和服务器硬件瓶颈,只有全面分析这些因素,才能更好的解决性能慢的问题。
本文来源:https://www.yuntue.com/post/99237.html | 云服务器网,转载请注明出处!

微信扫一扫打赏
支付宝扫一扫打赏