Gif*_*guy 7 sql-server memory sql-server-2014
我在我的笔记本电脑上运行 SQL Server 2014 以及大量其他已安装的应用程序,从 Visual Studio 到视频游戏。
这显然不是生产服务器,而是仅用于开发和调试。
我已经编写了一个相当小而简单的数据库,其中包含几十个表和视图 - 我插入了不到 100 行的虚拟数据用于测试。
有一次我不小心创建了一个 100GB+ 的索引,使用了一些格式错误的交叉连接 - 创建这个索引的查询消耗了我的笔记本电脑 (16GB) 中 100% 的内存,这使一切变得缓慢,所以我中止了查询而不是等待它完成,然后立即删除并重新创建整个数据库,并从创建脚本中删除此索引。
但是,从那时起,SQL Server 2014 一直在消耗我所有 16GB 的 RAM,即使查询中止和数据库删除也是如此。
所以我接下来重新启动了我的笔记本电脑,SQL Server 的 RAM 使用量下降到 7GB - 从那时起它一直保持不变,无论我是否删除了所有 5MB 的现有数据库等。
我想让 SQL Server 恢复到合理的内存消耗水平,但我不知道从哪里开始寻找可能的原因。
我知道这是一个非常开放的问题,但我愿意在一些指导下进行跑腿工作。
我只是不知道从哪里开始进行故障排除,因为我自己不是 DBA - 显然 Google 也不知道。:)
首先是使用 GUI 或sp_configure更改实例上的最大内存设置。
EXEC sp_configure 'max server memory (MB)', 1024
Run Code Online (Sandbox Code Playgroud)
然后进入 SQL Server 配置管理器并停止并重新启动实例。您实际上不必重新启动笔记本电脑。
这将修复它,以便您的实例不会使用超过 1GB 的空间。我相当确定它使用的内存不包含在此设置中,但数量不多。
SQL Server 喜欢根据需要占用内存。它不太擅长返还它,因此最好将个人笔记本电脑上的最大内存设置保持在相当低的水平,除非您碰巧需要更多内存。我将 1gb 设置用于随机小查询等,如果我需要更多,我会更新它。当然,我的笔记本电脑总共只有 6GB 的内存。