【转载】 Sqlserver限制最大占用内存

在Sqlserver数据库管理软件中,Sqlserver对系统内存的管理原则是:按需分配,并且分配完成后为了查询有更好的性能,并不会立即自动释放内存,数据取出后,还会一直占用着内存,所以在Sqlserver服务启动后,你会发现sqlserver占用的内存越来越大,直到稍微小于机器内存一定值。其实我们可以通过设置Sqlserver允许占用的最大内存来限制sqlserver数据库对内存的占用。

(1)首先登录上Sqlserver服务器,选择左侧树形菜单栏根节点,右键选择属性,如下图:

(2)进入属性界面后,选择内存一栏,然后在右侧的最大服务器内存栏设置最大值即可,如下图:

 

扩展阅读:目前国内主流的云服务器厂商有哪些_IT技术小趣屋

备注:原文转载自Sqlserver限制最大占用内存_IT技术小趣屋

转载于:https://www.cnblogs.com/xu-yi/p/10623561.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
微软SQL Server 2008 R2中的资源分配方式与SQL Server 2005中的方式相比是一种完全不同的过程。利用资源控制器,在SQL Server 2008 R2中解决方案供应商有切实可用的方法管理CPU和内存。   资源消耗是长期以来困扰使用SQL Server的解决方案供应商的基本问题之一。任何服务器,不管它是物理的还是虚拟的,供处置的CPU和内存池都是有限的。过去,这一简单的事实给SQL Server带来许多麻烦,因为它通常是资源非常敏感的应用。   如果服务器上只托管了唯一一个数据库的话,那么SQL Server资源消耗并不是个严重的问题。但是如果有多个数据库在用着,那就真的变成一个问题了,因为各种数据库都会竞争同样一组CPU和内存资源。   在SQL Server 2005中,对这个问题可以接受的解决方案通常是为每个数据库创建独立的SQL Server实例,利用处理器亲和度为每个数据库实例分配资源。这种技术的问题是一旦资源被分配给SQL Server实例,他们对其他SQL Server实例就不可用了。结果,如果一个数据库的负载特别重,它也不可能从其他SQL实例暂借服务器的CPU资源,虽然这个实例上的资源此时可能什么都没做。   一些解决方案供应商也曾尝试利用服务器虚拟化作为给个别SQL Server数据库分配资源的一种途径。在这种模型中,每台虚拟机只托管一个SQL Server数据库。这种方法也可行,但是虚拟机和他们的操作系统也消耗了一些本该用于SQL Server的服务器资源。此外,还依赖于你使用的虚拟化软件,以按需分配为基础的资源动态分配可能有些困难或者不可能实现。   微软最终针对SQL Server 2008 R2中的资源分配问题创建了一套可行的解决方案,引入了叫做资源控制器的新组件。这个资源控制器是可以通过微软SQL Server Management Studio访问的,它可以定义资源池,每个资源池都包含负载工作组,如下图所示:
如果 SQL Server 实例占用内存过高,可以尝试以下方法解决: 1. 调整最大服务器内存设置。 可以通过 SQL Server Management Studio 或 Transact-SQL 命令来修改最大服务器内存设置。将最大服务器内存设置为服务器物理内存的 70% 到 80%,可以保证系统的稳定性。如果设置得太低,可能会导致性能问题。 2. 检查 SQL Server 的缓存。 可以使用以下命令来检查 SQL Server 的缓存: ``` SELECT (physical_memory_in_use_kb/1024) AS Memory_usedby_Sqlserver_MB, (locked_page_allocations_kb/1024) AS Locked_pages_used_Sqlserver_MB, (total_virtual_address_space_kb/1024) AS Total_VAS_in_MB, process_physical_memory_low, process_virtual_memory_low FROM sys.dm_os_process_memory; ``` 如果 Locked_pages_used_Sqlserver_MB 的值过高,可以考虑开启锁定页面内存选项。 3. 增加服务器内存。 如果 SQL Server 实例占用内存过高,可以考虑增加服务器的物理内存。这可以提高系统的性能和稳定性。 4. 优化查询和索引。 如果 SQL Server 实例占用内存过高,可能是由于查询和索引导致的。可以通过优化查询和索引来减少内存占用。可以使用 SQL Server Profiler 或 Extended Events 工具来分析查询和索引的性能。 5. 检查 SQL Server 的版本和补丁。 如果 SQL Server 实例占用内存过高,可能是由于版本和补丁导致的。可以检查 SQL Server 的版本和补丁,确保使用的是最新版本并安装了最新的补丁。 以上是一些常见的解决方法,可以根据具体情况选择适合的方法来解决问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值