如何设置SQLServer数据库内存

 我来答
阿鑫聊生活
高粉答主

2019-04-29 · 生活知识分享小达人,专注于讲解生活知识。
阿鑫聊生活
采纳数:1217 获赞数:235077

向TA提问 私信TA
展开全部

1、打开SQL Sever 2008 R2数据库

2、在打开的连接到服务器对话框中,输入相关连接信息后,点击“连接”

3、右键数据库根节点,选择“属性”

4、弹出服务器属性页,选择页中包含常规、内存、处理器等选项

5、在选择页中我们点击“内存”,我们可以修改每次查询占用的最小内存值

6、在选择页中切换到“安全性”,我们可以重新设置服务器身份验证的模式

奔跑的窝牛的家
高粉答主

2016-10-09 · 每个回答都超有意思的
知道顶级答主
回答量:3.6万
采纳率:98%
帮助的人:4532万
展开全部

如果能在实例级别为同一SQL服务器上的不同实例限制其能够使用的最大和最小内存,就能降低这种情况对其他应用系统的影响。具体的操作如下:

(一)实例的最大和最小内存设置

右击数据库,选择属性,如图。

为实例设置合适的最大和最小内存,如图。

(二)为操作系统预留足够的内存

假如一台8GB的服务器,我们可以限制数据库使用的内存上限不超过6GB,剩下的2GB留给操作系统使用。

(三)配置lock pages in memory

查看SQL进程的启动账户,如图。

在组策略里设置启动SQL Server的账户拥有锁定内存页的权限。如图。

在下图的添加用户或组界面,添加SQL server的服务启动账户,如图。


设置完成后,需要关注的两个问题:

1、因为SQL Server锁定了内存页,当Windows内存告急时,SQL Server就不能对Windows的内存告急做出响应,因为SQL Server的特性是内存有多少用多少,因此很有可能在无法做出对Windows低内存的响应时造成Windows的不稳定甚至崩溃。因此开启了”Lock Page In Memory”之后,要限制SQL Server Buffer Pool的内存使用

2、还有一个问题是当Buffer Pool通过AllocateUserPhysicalPages分配内存时,我们在任务管理器中看到的sqlservr.exe占用的内存就仅仅包含Buffer Pool中非Data Cache部分和MemToLeave部分,而不包含Data Cache部分,因此看起来有可能造成sqlservr.exe只占用了几百兆内存而内存的使用是几十G。这时我们就需要在Perfmon.exe中查看SQL Server:Memory Manager\Total Server Memory计数器去找到SQL Server真实占用的内存。(由于SQL server 2012内存管理机制的变化,所以个人认为这一条原则可能只适用于SQL server 2008R2以前的数据库版本)

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
唯爱凌宝宝
2015-06-06 · TA获得超过2万个赞
知道大有可为答主
回答量:8282
采纳率:15%
帮助的人:8976万
展开全部
在安装有SQLServer数据库的计算机上,我们在使用数据库的过程中,有时候会在任务管理器里发现sqlservr.exe这个进程的内存和CPU占用率较高。

接下来我们来看一下,如何解决上面这个问题,需要设置SQLServer数据库的内存配置。登录数据库,这里使用的是SQLServer2008,右键点击最上方的服务器名,在弹出的菜单中,点击【属性】

打开服务器属性窗口。默认显示的是第一项【常规】内容,点击第二项【内存】进行内存配置。

点击【内存】后,打开服务器内存选项配置界面。这里的【使用AWE分配内存】可以对内存进行扩展支持,我们要做的是更改下方的最大服务器内存。这个数值根据自己服务器内存大小来做适当设置。

个人建议设置本机内存的一半或稍微高一点,如机器内存为2G,那么我们这里填写1000。需要注意的是内存设置调小以后,在数据库执行较复杂SQL语句的时候,可能会比较慢,出现这种情况,我们再适当上调最大内存配置大小。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
千锋教育
2018-07-30 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
展开全部
1、起动 SQL Server Management Studio。
2、对目录材的最高节点 点右键 点“属性”,点内存,然后自个去设。
3、注意,内存的设置应根据数据库的实际情况及技术人员的经验去设。在生产用的服务器上,原则是,保存别的应用的足够内存的情况下,省下的全给它。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
HJ_3000
2016-09-09 · TA获得超过563个赞
知道小有建树答主
回答量:1264
采纳率:78%
帮助的人:57.5万
展开全部
最简单的方法:sql管理器-- 对象资源管理器--根节点--右键菜单--属性--内存--修改
可以先在该界面按F1看帮助。

代码

查看
SELECT * FROM sys.configurations;
看到name=‘max server memory (MB)’

设置 因为该项的 is_advanced=1 so 以下代码有开关部分。
--开启
EXEC sys.sp_configure N'show advanced options',N'1';
RECONFIGURE WITH OVERRIDE;
GO
--设置 如设置为 2G,注意单位,2048MB
EXEC sys.sp_configure N'max server memory (MB)',N'2048';
RECONFIGURE WITH OVERRIDE;
GO
--关闭
EXEC sys.sp_configure N'show advanced options',N'0';
RECONFIGURE WITH OVERRIDE;
GO
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式