小编Gif*_*guy的帖子

为什么 SQL Server 2014 在没有存储活动数据的情况下消耗如此多的 RAM?

我在我的笔记本电脑上运行 SQL Server 2014 以及大量其他已安装的应用程序,从 Visual Studio 到视频游戏。

这显然不是生产服务器,而是仅用于开发和调试。

我已经编写了一个相当小而简单的数据库,其中包含几十个表和视图 - 我插入了不到 100 行的虚拟数据用于测试。

有一次我不小心创建了一个 100GB+ 的索引,使用了一些格式错误的交叉连接 - 创建这个索引的查询消耗了我的笔记本电脑 (16GB) 中 100% 的内存,这使一切变得缓慢,所以我中止了查询而不是等待它完成,然后立即删除并重新创建整个数据库,并从创建脚本中删除此索引。

但是,从那时起,SQL Server 2014 一直在消耗我所有 16GB 的 RAM,即使查询中止和数据库删除也是如此。

所以我接下来重新启动了我的笔记本电脑,SQL Server 的 RAM 使用量下降到 7GB - 从那时起它一直保持不变,无论我是否删除了所有 5MB 的现有数据库等。

我想让 SQL Server 恢复到合理的内存消耗水平,但我不知道从哪里开始寻找可能的原因。

我知道这是一个非常开放的问题,但我愿意在一些指导下进行跑腿工作。

我只是不知道从哪里开始进行故障排除,因为我自己不是 DBA - 显然 Google 也不知道。:)

sql-server memory sql-server-2014

7
推荐指数
1
解决办法
9119
查看次数

限制对特定表的写访问的最佳做法是什么?

我有一个表,我希望它是只读的,除了一些需要UPDATE表中行权限的特定存储过程。

之后,我只希望一组选定的附加存储过程具有EXECUTE上述UPDATE过程的权限。

我一直在阅读有关GRANT,并DENY在MSDN / TechNet和我也一直念叨模式,但文档是如此模糊和非听上去很像是我无法搞清楚如何实现基于真实世界的安全目标提供的说明。

我可以看到,你可以GRANTDENY个人的原则,一次一个权限-但我需要否定INSERT UPDATEDELETE对所有原则的权限,除了到我授予几个存储过程UPDATE的权限(以及sa和/或db_owner我想) . 默认情况下,
我不希望任何新用户拥有UPDATE此表的权限,而且我真的很想避免每次创建/修改用户或其他对象时都必须手动拒绝权限。

security sql-server permissions

2
推荐指数
1
解决办法
1647
查看次数