性能监视器使用(SQLServer 2008)
sqlserver counter用法

sqlserver counter用法SQL Server Counter用法SQL Server Counter是一种用于监视和跟踪SQL Server性能的工具。
它可以提供实时的性能数据,帮助管理员和开发人员识别和解决性能问题。
本文将介绍SQL Server Counter的用法,包括如何启用计数器、如何选择适当的计数器、如何分析计数器数据等。
一、启用计数器要使用SQL Server Counter,首先需要启用计数器。
以下是启用计数器的步骤:1. 打开“性能监视器”(Performance Monitor)。
2. 在左侧窗格中,单击“性能监视器”菜单下的“添加”按钮。
3. 在弹出的“添加计数器”对话框中,选择“从本地或远程计算机选择对象”。
4. 在“选择计算机”对话框中,输入要监视的SQL Server所在的服务器名称,并单击“确定”。
5. 在“对象名称”列表中,选择“SQLServer:General Statistics”。
6. 从“计数器列表”中选择要监视的计数器。
例如,“Batch Requests/sec”表示每秒钟处理的批处理请求数量,“Buffer cache hit ratio”表示缓存命中率等等。
7. 单击“添加”按钮,将所选计数器添加到列表中。
8. 单击“确定”,关闭对话框并开始收集数据。
二、选择适当的计数器为了有效地监视SQL Server性能,需要选择适当的计数器。
以下是一些常用的计数器:1. SQLServer:Buffer Manager- Buffer cache hit ratio:缓存命中率- Page life expectancy:页面寿命期望值- Free pages:空闲页数2. SQLServer:General Statistics- Batch Requests/sec:每秒处理的批处理请求数量- Transactions/sec:每秒完成的事务数量- User Connections:当前连接到服务器的用户数3. SQLServer:Locks- Lock waits/sec:每秒等待锁定的数量- Average wait time (ms):平均等待时间(毫秒)4. SQLServer:SQL Statistics- SQL Compilations/sec:每秒编译的SQL语句数量- SQL Re-Compilations/sec:每秒重新编译的SQL语句数量5. SQLServer:Memory Manager- Total Server Memory (KB):服务器总内存(KB)- Target Server Memory (KB):目标服务器内存(KB)以上仅是一些常用的计数器,具体选择要根据实际情况而定。
SQL-Server-2008-安装过程中遇到性能计数器解决方法

1.SQL Server 2008 安装过程中遇到“性能计数器注册表配置单元一致性”检查失败问题的解决方法在Windows Server 2003 、Windows XP或者Windows 2000中安装 SQL SERVER 2008 开发版和企业版时,会遇到“性能计数器注册表配置单元一致性”检查失败的问题(Windows Server 2008 由于暂时没有环境,尚未测试)(图一)安装提示错误信息为:(图二)解决方法:1. 在 Microsoft Windows 2003 或 Windows XP 桌面上,依次单击“开始”、“运行”,然后在“打开”中键入 regedit.exe,再单击“确定”。
在 Windows 2000 中,使用 regedt32.exe 启动注册表编辑器2. 定位到以下注册表项:[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib]"Last Counter"=dword:0000566a(22122) (这个值根据不同的机器各不相同,不是固定值)"Last Help"=dword:0000566b(22123) (这个值根据不同的机器各不相同,不是固定值)(图三)在图三中我们看到,Perflib下存在两个子项目[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\004][HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\009]经过比较,发现在两个子文件夹项目下面存在的计数器最大值不同(图四)Perflib\004中Counter项目的最大值为22178(这个值根据不同的机器各不相同,不是固定值)(图五)Perflib\004中Help项目的最大值为22179(这个值根据不同的机器各不相同,不是固定值)(图六)Perflib\009中Counter项目的最大值为22122(这个值根据不同的机器各不相同,不是固定值)(图七)Perflib\009中Help项目的最大值为22123(这个值根据不同的机器各不相同,不是固定值)很显然,如图所示,在我的机器上[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib]中"Last Counter"和"Last Help"这两项的值,和[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\009]中保存的最大值是相同的,分别为22122和22123(这两个数值每台电脑各不相同),而和[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\004]中保存的最大值不相同,正是由于这个差异,造成了SQL Server 2008 安装过程中遇到“性能计数器注册表配置单元一致性”检查失败的故障。
sql managementstudio 2008

SQL Management Studio 2008是微软推出的一款数据库管理工具,它为SQL Server提供了全面的管理、开发和配置功能。
作为数据库管理员或开发人员,熟练掌握SQL Management Studio 2008是非常重要的,因为它可以帮助我们更高效地管理和维护数据库,提高工作效率。
下面将从几个方面介绍SQL Management Studio 2008的功能和使用方法,希望对大家有所帮助。
一、安装和配置1. 下载安装包我们需要下载SQL Management Studio 2008的安装包,可以在微软冠方全球信息站上找到并进行下载。
2. 安装软件下载完成后,双击安装包,按照提示进行安装。
安装过程中需要选择安装路径、接受许可协议等步骤,按照默认设置进行即可。
3. 配置连接安装完成后,我们需要配置连接数据库的参数,包括服务器名称、身份验证方式等。
在连接成功后,我们就可以开始使用SQL Management Studio 2008了。
二、主要功能1. 查询和分析SQL Management Studio 2008提供了强大的查询和分析功能,可以帮助我们快速编写和运行SQL查询语句,并对查询结果进行分析和可视化展示。
2. 数据库管理通过SQL Management Studio 2008,我们可以方便地管理数据库,包括创建、删除、备份、还原等操作。
还可以对数据库对象进行管理,如表、视图、存储过程等。
3. 开发和调试作为开发人员,SQL Management Studio 2008还提供了丰富的开发和调试功能,包括编写存储过程、触发器,进行调试和性能优化等。
4. 安全性管理数据库的安全性是非常重要的,SQL Management Studio 2008可以帮助我们管理用户、角色、权限等安全性相关的配置,确保数据库的安全性。
5. 可视化管理SQL Management Studio 2008提供了直观的用户界面,可以通过图形化界面进行大部分操作,使得管理数据库变得更加简单和直观。
sqlserver2008使用教程

sqlserver2008使用教程SQL Server 2008是由微软公司开发的一款关系型数据库管理系统(RDBMS),用于存储和管理大量结构化数据。
本教程将向您介绍SQL Server 2008的基本功能和使用方法。
首先,您需要安装SQL Server 2008软件。
您可以从微软官方网站下载并安装免费的Express版本,或者购买商业版本以获取更多高级功能。
安装完成后,您可以启动SQL Server Management Studio (SSMS),这是一个图形化界面工具,可用于管理和操作SQL Server数据库。
在SSMS中,您可以连接到本地或远程的SQL Server实例。
一旦连接成功,您将能够创建新的数据库,更改数据库设置,执行SQL查询和管理用户权限等。
要创建新的数据库,您可以右键单击数据库节点并选择“新建数据库”。
在弹出的对话框中,输入数据库名称和其他选项,然后单击“确定”。
新的数据库将出现在对象资源管理器窗口中。
要执行SQL查询,您可以在查询编辑器中编写SQL语句。
例如,要创建一个新的表,您可以使用“CREATE TABLE”语句,并在括号中定义表的列和数据类型。
将查询复制到查询窗口中,并单击“执行”按钮来执行查询。
除了执行基本的SQL查询外,SQL Server 2008还提供了许多高级功能,如存储过程、触发器、视图和索引等。
这些功能可以提高数据库的性能和安全性。
存储过程是预编译的SQL代码块,可以按需执行。
您可以使用存储过程来处理复杂的业务逻辑或执行重复的任务。
要创建存储过程,您可以使用“CREATE PROCEDURE”语句,并在大括号中定义存储过程的内容。
触发器是与表相关联的特殊存储过程,可以在表中插入、更新或删除数据时自动触发。
通过使用触发器,您可以实现数据的约束和验证。
视图是虚拟表,是对一个或多个基本表的查询结果进行封装。
视图可以简化复杂的查询,并提供安全性和数据隐藏。
零点起飞学SQL Sever之监控SQL Server 28状态

+ SQL Server Profiler可显示SQL Serve
在内部解析查询。这就使管理员能准确查看提 交到服务器的Transact-SQL语句,以及服务器 是如何访问数据库或多维数据集以返回结果集 的。使用SQL Server Profiler可以执行下列操作。 创建基于可重用模板的跟踪; 当跟踪运行时监视跟踪结果; 将跟踪结果存储在表中; 根据需要启动、停止、暂停和修改跟踪结果; 重播跟踪结果。
+ 为了限制收集的事件数能够减少跟踪对性
能的影响,用户可以通过将筛选器添加到 包含跟踪定义的跟踪模板,来限制跟踪所 收集的事件数。同样用户如果已设置了跟 踪模板的筛选器,也可以对该筛选器进行 编辑。
+ 数据库引擎优化顾问是SQL Server 2008数
据库为用户提供的新工具,使用该工具可 以优化数据库、提高查询处理的性能。数 据库引擎优化顾问检查指定数据库中处理 查询的方式,然后建议如何通过修改物理 设计结构(如索引、索引视图和分区)来 改善查询处理性能。
+ 监控SQL Server 2008数据库的运行状态,
是数据库管理员的一项重要工作。通过监 控可以对数据库进行优化、发现并修复错 误。SQL Server 2008提供了丰富的工具来 监视和优化数据库的运行,主要包括 Windows性能监视器、SQL Server事件查看 器、SQL Server Profilter和数据库引擎优化 顾问等。
+
+ + +
键点,主要包括SQL Server 2008数据库的 重要指标参数。 1.监视磁盘I/O 2.隔离SQL Server产生的磁盘活动 3.监视CPU 4.监视内存
+ SQL Server Profiler(事件探查器)是SQL跟
SQLServer2008R2-监视与调优解决方案

基本原则
防止与处理死锁
尽量避免或尽快处理阻塞 访问数据的顺序要相同 让不同的连接使用相同的锁 提供不同的数据访问路径
发生死锁后的解决
设置Deadlock优先级,让不重要的事务自动放弃
性能调优的方法学
架构设计
•表
查询优化
•存储过程 •视图
索引优化
•覆盖查询
并发控制
•锁 •事务
最简单 但是收效最少
锁与事务
锁 事务
不可分割性(Atomicity) 一致性(Consistency) 隔离性(Isolation) 持久性(Durability)
并发
事务隔离 • 未提交读 • 已提交读 • 可重复读 • 序列化 • 读提交快照 •行 •页 • 分区 •表 锁升级粒度
尽量将需要更新的数据放在一张较小的表中
在大规模删除中评估分区的效果
减少对自动编号的依赖
性能调优的方法学
架构设计
•表
查询优化
•存储过程 •索引视图
索引优化
•覆盖查询
并发控制
•锁 •事务
存储优化
•文件组 •分区
服务器优化
•内存 •处理器亲和度
性能最
优化
最困难 但最有成效
调优顺序
最简单 但是收效最少
CREATE INDEX IX_A ON T(att1) WHERE Name = ‘A’ OR Name = ‘E’ SELECT Name FROM T WHERE att1 = ‘a’
筛选索引的工作原理
ID 1 2 3 4 5 6 7 8 9 Name A B C D E F G H I h b k t w u k m att1 a d t j u l o att2 att3 x f att4 att5 att6 att7 att8 att9
sql2008使用教程

sql2008使用教程SQL Server 2008是由微软公司开发的关系型数据库管理系统。
它具有高度可扩展性、高性能和可靠性,被广泛用于企业级应用程序和数据仓库。
在SQL Server 2008的使用教程中,首先要了解的是如何安装和配置SQL Server 2008。
安装过程相对简单,只需要按照向导的指示进行操作即可。
一般来说,需要选择安装位置、设置实例名称和选择安装要使用的功能。
在安装过程中,你还可以选择安装SQL Server Management Studio(SSMS),这是一个图形化界面工具,用于管理和操作SQL Server数据库。
安装完成后,可以打开SSMS并连接到SQL Server 2008实例。
连接后,你可以使用查询编辑器来执行SQL查询,并对数据库进行管理。
查询编辑器提供了一些快捷键和自动完成功能,以帮助你更方便地编写查询语句。
你可以使用标准SQL语法编写查询,并使用T-SQL特有的功能,如存储过程、视图和触发器等。
在SQL Server 2008中,数据库是用来存储和组织数据的容器。
你可以使用SSMS创建新的数据库,或者导入现有的数据库。
导入数据库时,可以选择从备份文件恢复,或者从其他数据库导入数据。
创建数据库后,可以使用表来组织数据。
一个表由一个或多个列组成,每个列都有一个数据类型。
你可以使用SSMS创建表,并定义列的名称、数据类型和约束等。
除了表,SQL Server 2008还提供了其他对象,如视图、存储过程和触发器等,用于进一步组织和管理数据。
视图是一个虚拟的表,是根据查询结果动态生成的。
存储过程是一段预编译的SQL代码,它可以接受参数并执行一系列的操作。
触发器是当特定事件发生时自动执行的代码,通常用于实现数据验证或日志记录等功能。
在SQL Server 2008中,你还可以进行数据备份和恢复。
备份是将数据库转储到磁盘上的一个文件,以便在需要时进行恢复。
你可以使用SSMS创建备份任务,并选择备份的类型、路径和计划等。
WindowsServer2008监控服务器性能的教程图解

WindowsServer2008监控服务器性能的教程图解下⾯学习Windows Server2008监控服务器性能包括⽇志管理,归档⽇志,⽇志排错,怎么配置计算机以转发和收集事件,使⽤任务管理监控内存和CPU的使⽤,查看程序内存使⽤,查看程序CPU使⽤,结束进程,查看登录计算机的⽤户。
1.在ADServer服务器上⾯点击开始菜单,选择管理⼯具,打开事件查看器。
2.打开事件管理器点击Windows⽇志,选择安全可以查看,账号审核情况,什么时候登录过系统什么时候注销都有记录。
3.打开事件查看器选择Windows⽇志,点击系统可以查看事件,⾥⾯包括有信息,警告,错误等详细信息。
4.可以右键选择系统筛选⽇志,只显⽰警告跟错误信息。
5.点击系统右键导出⽇志⽂件,⽅便以后查看,可以通过查看⽇志信息,找到系统错误或报错问题。
6.订阅其他计算机上的⽇志⽂件,在DCServer服务器跟WebServer服务器上⾯在运⾏框输⼊WinRM QuickConfig命令。
7.在两台服务器上⾯都运⾏⼀下WinRM QuickConfig命令,然后输⼊Y。
8.打开DCServer服务器上⾯的服务器管理器找到本地⽤户和组然后把ADServer服务器加⼊到Event Log Readers⽇志组⾥⾯,点击添加选择对象全部勾选计算机,然后输⼊对象名称输⼊ADServer然后确定。
9.WebServer服务器也是⼀样,这两台服务器都把ADServer服务器加⼊到⽇志这个组,然后确定。
10.在ADServer服务器上⾯开启订阅,选择是。
11.右键创建订阅,输⼊订阅名称,然后选择计算机添加DCServer服务器和WebServer服务器然后确定。
12.点击选择事件,事件级别全部勾选,事件⽇志我们选择系统,点击确定。
13.打开订阅,查看连接状态,和其他信息,订阅过来的⽇志在转发事件⾥⾯。
14.打开转发事件,可以看到订阅过来的⽇志,计算机有DCServer跟WebServer的⽇志信息。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
LR11如何启动系统监视器(Windows) SQL Server 2008 R2使用系统监视器可以监视系统资源的使用率。
使用计数器形式收集和查看服务器资源(如处理器和内存使用)和许多Microsoft SQL Server 资源(如锁和事务)的实时性能数据。
在Windows 中启动系统监视器∙在“开始”菜单上,指向“运行”,在“运行”对话框中键入perfmon,然后单击“确定”。
∙对SQLSERVER进行性能监控对SQLSERVER进行性能监控在上一篇文章《SQLSERVER性能监控级别步骤》里说到性能监控的步骤中有一步涉及到建立性能基线,但是没有说到有哪些计数器可以用来进行监控的,这篇文章结合《企业级平台管理实践》的书本说一下监控SQLSERVER 有哪些计数器可以用到的3、建立性能基线当确定了性能监控中所涉及的资源、负载和目标后,开始进行监控,并建立性能基线与当前服务器性能进行比较。
性能基线是一个保证系统正常操作性能范围值,达到或超过这个范围,系统性能可能会显著下降。
应该对接近或超过性能基线的数字做进一步调查找出原因监控的周期是一段时间,而不是一两天。
其中应该包括数据库活动的峰值时间和非峰值时间,数据查询和批处理命令的响应时间、数据库备份和还原所需时间建立服务器性能基线后,将基线统计与当前服务器性能进行比较。
对高于或远低于基线的数字需要做进一步调查。
他们可能表明有需要调整或重新配置的区域。
例如,执行一组查询的时间增加,检查这些查询以确定能否重新编写他们,或者是否添加统计信息或索引介绍:性能监视器Performance Monitor性能监视器是Windows的一个工具,在系统管理工具组里。
默认里面就有很多Windows 层面的性能计数器,可以监视系统的运行。
直接运行"perfmon",也可以打开他。
这里以WindowsXP/2003/2008的性能监视器为例。
Windows2008R2和Windows7的性能监视器界面有了比较大的变化,功能也有扩展,更加好用。
同时也完全向前兼容。
后面谈到的功能都有包括SQLSERVER自己开发了一些扩展的性能计数器。
在安装SQLSERVER的时候,会注册到Windows里。
这样,Windows的性能监视器就能看到一些以“SQL”打头的计数器了。
SQLSERVER在运行时,会统计这些计数器的值。
在性能监视器里能够看到:默认性能监视器是用来实时检测系统的,在窗口里,用不同颜色的线条表示不同的计数器值。
当窗口画满以后,会从头覆盖前面的内容。
所以默认只能看到最近一小段时间的值。
但是在现实的问题分析中,实时监测还是比较少的。
更常见的场景是需要在问题发生之前,就要开启性能计数器的收集,收集一段时间之后,或者问题重现之后,再离线地分析问题的现象和原因。
那么日志怎样收集呢?通常可以使用下面这些步骤:(1)在性能监视器左边的窗口,展开性能日志和警告子树,点击“计数器日志”在右边的窗口里,右键点击,选择“新日志设置”,他会弹出一个对话框,让你为新的日志记录配置命名。
这里我们取名为Test,日志默认保存路径是%systemdrive%\PerfLogs\Admin\Test(2)在接着弹出的对话框里,就可以配置DBA要搜集的信息要求了。
首先要选择搜集哪些计数器,以及他们的取样时间间隔sample data every,默认是15秒取一次,这个间隔能够满足大部分需求。
有说法讲在搜集和磁盘相关的性能日志时,间隔要设置短一点,最好是3到5秒。
如果设置30秒以上,可能信息就不完整了。
所以15秒是大部分情况下比较好的选择(3)选择添加对象,就可以选择要收集的性能监视器对象。
对于非在线分析,问题可能还不清楚,很难确定哪些性能计数器有用,哪些没有用。
所以在这里,一定要多选一些。
一般的SQL问题,可以选择下面这些对象在memory,process,physicaldisk,processor,system对象下的所有计数器,以及他们的所有instance所有以SQLSERVER:开头的性能监视对象如果要监视CPU类问题,最好还包含thread下面的所有计数器,以及他所有的instance有些DBA会担心,抓这麽多计数器会不会影响性能。
应该说根据经验,性能监视器对系统整体性能的影响几乎感觉不到。
所以可以比较放心大胆地多收一些计数器。
基本工作原理是在.NET编译出的IL代码里放入钩子用来记录时间,然后通过直观的界面显示出哪部分代码耗能最大。
只是间隔可能还是选15秒比较安全(4)设置文件的位置和最大大小,另一个重要配置,是日志文件存放在哪里,保存格式,以及最大大小。
日志文件的后缀是blg的二进制文件,需要使用性能监视器才能打开这个文件如果性能日志文件大小超过1GB,可能有些机器打开会很慢。
所以一定要注意其最大值可以设为200MB。
如果一个200MB的文件写满,性能监视器会自动创建一个新的。
文件格式可以选二进制文件日志搜集当然可以手动开始和终止。
但是如果问题会发生在半夜,最好能让系统自动开启,自动关闭。
性能监视器也可以帮DBA做到这一点当得到一个性能日志后,可以在性能监视器里选择查看日志数据在数据源里添加日志文件然后点击数据选项卡,就能看到在原来那台服务器上收集的性能计数器了这时候再点击“源”选项卡,能看见性能日志文件所包含的那段时间。
拉动滚动条,可以把时间段缩短到DBA最关心的那段时间对收集到的日志,DBA可以进行分析一些性能监视器计数器相关计数器性能对象计数器SQLSERVER:BUFFER MANAGER: buffer cache hit ratio,lazy writes/sec ,procedure cache pages,total pagesSQLSERVER:Cache Manager: cache hit ratio,cache object counts,cache pages ,cache use counts/secSQLSERVER:MEMORY MANAGER: sql cache memory(kb)SQLSERVER:SQL STATISTICS: auto-param attmpts/sec,batch request/sec,failed auto-params/sec,safe autoparam/sec, sql compilations/sec,sql re-compilations/sec,unsafe auto-params/sec与内存有关的计数器Windows与SQLSERVER系统使用内存情况和合理配置SQLSERVER内存性能监视器perfmon --添加-》可用计数器-》Memory-》添加available MBytes和pages/sec数据收集器集-》用户定义-》新建-》数据收集器集-》名称:SQLSERVER内存使用-》手动创建-》性能计数器-》添加下面的性能计数器-》时间间隔15秒-》保存路径:C:\Users\Administrator\Desktop\SQLSERVER内存使用-》保存并关闭-》选中刚才创建的数据收集器-》启动-》变成datacollector01 -》在用户定义下面SQLSERVER内存使用右键-》停止或者在空白的地方-》右键-》停止可以右键-》在用户定义下面SQLSERVER内存使用-》属性-》更改数据收集器保存路径计数器committed bytes:整个Windows系统,包括Windows自身以及所有用户进程使用的内存总数commit limit:整个Windows系统能够申请的最大内存数,其值等于物理内存加上文件缓存大小available MBytes(重要):现在系统空闲的物理内存数。
这个指标能够直接反映出Windows 层面上有没有内存压力跑在Windows2000上会把空闲内存用完知道剩下4MB~10MB。
跑在Windows2003或以上就会留给Windows多一点的物理内存page file :%usage page file:% peak usage :反应缓存文件使用量的多少,使用越多缓存,性能越差pages /sec:每秒钟需要从磁盘上读取或写入的页面数目soft page fault一般不会带来性能影响,因此一般不太关心一个良好的系统,他要处理的数据应该比较长期地保存在物理内存里。
如果频繁换页/换入换出势必影响性能,pages/sec不能长时间保持在一个比较高的值对于一台SQL服务器,如果available MBytes长期小于10MB,说明物理内存不太够pages/sec 物理内存不足也会做成频繁换页/换入换出pages/sec不能长时间保持在一个比较高的值Windows系统自身内存使用情况一个32位Windows系统,正常内存使用大概几百MB --64位Windows系统大概1GB~2GB--如果发生内存泄漏(一般由硬件驱动造成),Windows会用到几个GB甚至十几GB,反过来挤压应用的内存memory :cache bytes --系统的working set,也就是系统使用的物理内存数目,包括高速缓存,页交换区,可调页的ntoskrnl.exe 和驱动程序代码,以及系统映射视图cache bytes计数器是下面几个计数器的和:system cache resident bytes,system driver resident bytes ,system code resident bytes ,pool paged resident bytessystem cache resident bytes:系统高速缓存消耗的物理内存。
高速缓存的主要功能是提高文件读写的速度pool paged resident bytes:页交互区消耗的物理内存system driver resident bytes:可调页的设备驱动程序代码消耗的物理内存system code resident bytes:ntoskrnl.exe中可调页代码消耗的内存system pool 内存池如果两个重要的内存池内存出现泄漏,或者空间用尽,Windows会出现奇怪不正常的行为,进而影响SQL稳定运行。
所以需要检查这两个内存池pool nonpaged bytes 非换页内存池pool paged resident bytes 换页内存池单个process使用情况常见场景:available MBytes看出服务器的内存基本用尽,但是从cache bytes看Windows 自己没有使用多少。
现在要开始分析应用程序的内存使用了在选择对象的实例里面要每个进程都要添加进计数器里面,不要选择_Total SQL的进程是sqlservr%processor time:是目标进程消耗的CPU资源数,包括用户态和核心态的时间page faults/sec:是目标进程上发生的page faults的数目handle count:目标进程handle(指向object指针)数目句柄数。