微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

SQL Server 2008 R2占用cpu、内存越来越大的两种解决方法

sql Server 2008 R2运行越久,占用内存会越来越大。

第一种:

有了上边的分析结果,解决方法就简单了,定期重启下sql Server 2008 R2数据库服务即可,使用任务计划定期执行下边批处理:

rush:plain;"> net stop sqlserveragent net stop mssqlserver net start mssqlserver net start sqlserveragent

第二种:

进入sql server 企业管理器(管理数据库和表的,这个都不知道就不用往下看了),在数据库服务器名称上点击【右键】,选择【属性】,然后,找到【内存】选项,在右边的【使用AWE分配内存】(sqlServer64的应该不用勾)左边把对勾打上。在最大服务器内存(MB)上填入适当的大小(具体填多大,肯定不能超过计算机的物理内存,当然,也可以在任务管理器中查一下,sqlserver.exe占有多大时,系统会变慢作为参考),记得是以M(兆)为单位,点确定,重启一下sql服务器!OK!

解决sql Server cpu占用率高

sql Server cpu占用率高,一般是因为查询数据量大,执行时间长造成的。

这里提供调试方法,方便找出异常sql

1、打开sql Server Profiler

2、新建跟踪

a.点击新建跟踪,并设置好数据库连接

b.设置跟踪属性,选择模板“Standard”

c.切到“事件选择”进行跟踪设置

1)只保留如下两个事件选项

2) 点击列筛选

3) 进行详细筛选设置

设置cpu时间作为筛选条件,单位毫秒(用于跟踪耗cpu占用较长的查询,可设置为大于等于20000,按cpu内核数×1000,可以跟踪cpu占用100%大于1秒的查询

3、点击运行,跟踪语句,定位cpu占用较多的语句

如下图所示,cpu占用2660146毫秒,cpu为24 核,则至少cpu占用100%耗时2660146/24/1000 = 110秒才可以执行好相应的操作

4、根据语句特征,在你的服务器程序中找到相应的功能,作出修正

4.1) 分析查询中需要检索数据量较大的部分,作出简单修正(如注销)

4.2) 更新后重新执行此查询,查看profiler中是否cpu占用消失

4.3) 如果已消失说明问题定位正确,可以优化查询,若cpu占用任然很多,则回滚修改,继续4.1操作

补充资料:

sql Server 2008 R2运行越久,占用内存会越来越大。

第一种:
有了上边的分析结果,解决方法就简单了,定期重启下sql Server 2008 R2数据库服务即可,使用任务计划定期执行下边批处理:

net stop sqlserveragent
net stop mssqlserver
net start mssqlserver
net start sqlserveragent

第二种:

进入sql server 企业管理器(管理数据库和表的,这个都不知道就不用往下看了),在数据库服务器名称上点击【右键】,选择【属性】,然后,找到【内存】选项,在右边的【使用AWE分配内存】(sqlServer64的应该不用勾)左边把对勾打上。在最大服务器内存(MB)上填入适当的大小(具体填多大,肯定不能超过计算机的物理内存,当然,也可以在任务管理器中查一下,sqlserver.exe占有多大时,系统会变慢作为参考),记得是以M(兆)为单位,点确定,重启一下sql服务器!OK!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_no='LJCG001H' THEN dbo.ELTPNAME(a.fw_nu) ELSE d.fm_name END),e.fw_state_nm,f.fw_rmk_nm
if not exists(select name from syscolumns where name='tod_no' and id=object_id('iebo09d12')) alter table iebo09d12 add tod_no varchar(
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_nm,g.fa_name from LJSS007H a (nolock) Left join LJPA002H b (nolock) On a.pa_no =b.pa_no Left jo
要在 SQL Server 2019 中设置定时自动重启,可以使用 Windows 任务计划程序。下面是详细的步骤: 步骤一:创建批处理文件 打开记事本。 输入以下内容: net stop "SQL Server (MSSQLSERVER)" net start "SQ
您收到的错误消息表明数据库 'EastRiver' 的事务日志已满,导致数据库操作失败。要解决这个问题,可以按照以下步骤操作: 1. 备份事务日志首先,备份事务日志以释放空间: BACKUP LOG [EastRiver] TO DISK = N'C:\Backup\East
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标识ID,若不知道怎么查询数据库的标识ID, 打开SQL Server management studio,点击工具。选择SQL Server Profiler。 登录,登录成功后,如果有个默认弹窗,先取消 新建追踪 命名
--最新的解决方法 --先创建用户帐户,不进行授权,然后通过下面的SQL语句将该用户帐户关联至对应的数据库用户。优点是避免了重新授权的操作。 USE tempdbEXEC sp_change_users_login 'Update_One', 'iemis', &#3
命令: ALTER TABLE 表名 add 列名 数据类型 default 默认值 not null 例如: ALTER TABLE LJEL005H add el_req int default 15 not null
declare @i int set @i=340 while @i<415 begin set @i=@iʱ insert into LJWK007H select '2024','28','9110','3PTSD621000000