sqlserver2008内存总是满怎么办?

baibaip22 2018-09-18 07:55:41
配置上限: 20480M
可是实际: 在任务管理器中 只看到4193772KB 就不再上涨了
与此配合的是CPU无限飙升
疑似内存满 数据库在自动清理内存
求指教 如何让我的数据库 以20G为上限 而不是 4个G
...全文
825 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
grace8 2018-10-08
  • 打赏
  • 举报
回复
分享个资源,供参考
SQL Server 2012编程入门经典(第4版)
吉普赛的歌 2018-09-20
  • 打赏
  • 举报
回复
引用 7 楼 baibaip22 的回复:
[quote=引用 5 楼 yenange 的回复:] 哥哥, 的确是索引不足的问题 加索引之后 的 行锁 叶锁 会不会对其他增删改查 造成影响?
有坏的影响也只针对 增、删、改, 对查只会有提高。 索引用得很多的, 一般不会有影响, 除非增、删、改实在是太频繁 (比较少见)。
吉普赛的歌 2018-09-20
  • 打赏
  • 举报
回复
引用 9 楼 baibaip22 的回复:
最大服务器内存设置的 20G 也就是 20480M 我用大数据量测试过 内存到了4G就不再上升了
安装补丁试试。 或者直接安装 SQL Server2014 : https://blog.csdn.net/yenange/article/details/50549937 个人建议安装 sqlserver2014, 非常稳定、好用。
baibaip22 2018-09-19
  • 打赏
  • 举报
回复
最大服务器内存设置的 20G 也就是 20480M
我用大数据量测试过 内存到了4G就不再上升了
baibaip22 2018-09-19
  • 打赏
  • 举报
回复
关键是 它到4G内存 就不再上升了
zbdzjx 2018-09-19
  • 打赏
  • 举报
回复
运行在虚拟机当中?是不是外部的实体机资源不够?
吉普赛的歌 2018-09-19
  • 打赏
  • 举报
回复
1. 你这里, 设置的是多少? 2. 你的数据库目前有多大? 3. 如果你的数据库并不大, 占用内存少也是可以理解的。 很多东西可能导致CPU高,比如:堵塞、死锁、缺少索引、语句不够优化等等。只能具体情况具体分析。 在 CPU 高时, 查一下这个, 看看具体是哪些语句比较慢:
SELECT TOP 10
		st.text AS SQL_Full										--父级完整语句
		,SUBSTRING(st.text, (qs.statement_start_offset/2) + 1,
			((CASE statement_end_offset 
			WHEN -1 THEN DATALENGTH(st.text)
			ELSE qs.statement_end_offset END 
			- qs.statement_start_offset)/2) + 1) as SQL_Part	--统计对应的部分语句
		, CAST( ((qs.total_elapsed_time / 1000000.0)/qs.execution_count) AS DECIMAL(28,2) ) AS [平均消耗秒数]
		, CAST(qs.last_elapsed_time / 1000000.0 AS DECIMAL(28, 2)) AS [最后完成消耗秒数]
		, qs.last_execution_time AS [最后执行时间]
		, CAST(qs.min_elapsed_time / 1000000.0 AS DECIMAL(28, 2)) AS [最小消耗秒数]
		, CAST(qs.max_elapsed_time / 1000000.0 AS DECIMAL(28, 2)) AS [最大消耗秒数]
		, CAST(qs.total_elapsed_time / 1000000.0 AS DECIMAL(28, 2)) AS [总消耗秒数]
		, (qs.execution_count) AS [总执行次数]
		, creation_time AS [编译计划的时间]
		, CAST(qs.last_worker_time / 1000000.0 AS DECIMAL(28, 2)) AS [最后完成占用CPU秒数]
		, qp.query_plan
    from sys.dm_exec_query_stats qs
        CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) AS st
        CROSS APPLY sys.dm_exec_query_plan(qs.plan_handle) qp
WHERE qs.last_execution_time>DATEADD(n,-30,GETDATE())
ORDER BY qs.last_worker_time DESC
baibaip22 2018-09-19
  • 打赏
  • 举报
回复
[quote=引用 5 楼 yenange 的回复:]
哥哥, 的确是索引不足的问题
加索引之后 的 行锁 叶锁 会不会对其他增删改查 造成影响?
baibaip22 2018-09-18
  • 打赏
  • 举报
回复
一共有32G的内存 现在空闲80%+
早起晚睡 2018-09-18
  • 打赏
  • 举报
回复
什么系统啊@@@
吉普赛的歌 2018-09-18
  • 打赏
  • 举报
回复
1. 贴出你操作系统的版本, 还有 32位还是64位? 2. 贴出你SQL Server的版本, 还有 32位还是64位? 可以执行这个, 把完整的文本结果贴出来就好
SELECT @@VERSION;
baibaip22 2018-09-18
  • 打赏
  • 举报
回复
Microsoft SQL Server 2008 R2 (RTM) - 10.50.1600.1 (X64) Apr 2 2010 15:48:46 Copyright (c) Microsoft Corporation Enterprise Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1) (Hypervisor)


操作系统 WINDOWS SERVER 2008 R2 ENTERPRISE

22,298

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧