2

我想在具有 1 GB 内存的笔记本电脑上安装 sql server 2008 express,但我的数据库包含大量二进制数据,我不想花费我所有的 RAM。我宁愿牺牲 sql 性能(使其成为页面)来支持其他应用程序。

是否可以限制sql server的内存占用?

4

4 回答 4

6

我只有 SQL Server 2005 Express,不是 2008,而是来自 SQL Server Management Studio Express,如果我右键单击树中的根节点(服务器节点)并选择属性,则有一个“内存”页面,两者都有可设置的最小和最大内存量。

从这些选项的文档中:

最小服务器内存(以 MB 为单位)
指定 SQL Server 应至少从分配的最小内存量开始,并且不释放低于此值的内存。根据 SQL Server 实例的大小和活动设置此值。始终将该选项设置为合理的值,以确保操作系统不会从 SQL Server 请求过多内存并抑制 Windows 性能。

最大服务器内存(MB)
指定 SQL Server 在启动和运行时可以分配的最大内存量。如果您知道有多个应用程序与 SQL Server 同时运行并且您希望保证这些应用程序有足够的内存来运行,则可以将此配置选项设置为特定值。如果这些其他应用程序(例如 Web 或电子邮件服务器)仅在需要时请求内存,则不要设置该选项,因为 SQL Server 会根据需要向它们释放内存。但是,应用程序通常会在启动时使用任何可用的内存,并且在需要时不会请求更多内存。如果以这种方式运行的应用程序与 SQL Server 同时在同一台计算机上运行,

如果这些选项不在2008 年,我会感到惊讶,但您总是可以安装并尝试。

于 2009-03-17T23:40:48.690 回答
6

这里这里

我认为本质上是 sp_configure 'max server memory'

于 2009-03-17T23:44:35.563 回答
2

您可以使用 osql: http: //kb.hs-lab.com/content/7/113/en/how-to-limit-ram-usage-for-sql-2005-express-database.html

osql -E -S YOURSERVERNAME\PRINTLOGGER

sp_configure 'show advanced options',1

RECONFIGURE WITH OVERRIDE

GO

然后

sp_configure 'max server memory',70?

RECONFIGURE WITH OVERRIDE

GO
于 2010-08-03T00:14:17.087 回答
0

您也可以尝试将 cpu 优先级分配给您喜欢的应用程序并让 SQL 动态管理内存。它将根据其他应用程序的需要释放内存,无论优先级如何。

希望您没有尝试在该机器上运行 Visual Studio。不会很有趣。

于 2009-03-18T15:10:37.130 回答