wiz*_*r42 32 sql-server instance memory sql-server-express
如果我在服务器中有 8GB 的 RAM 并且我运行 4 个 SQL Server Express 实例,那么 SQL Server 使用的总内存限制是 1GB 还是 4GB?
是否建议像这样运行多个实例以使每个数据库都能更好地利用资源(假设服务器有足够的资源)?
Pau*_*ite 28
如果我在服务器中有 8GB 的 RAM 并且我运行 4 个 SQL Express 实例,SQL Server 使用的总内存限制是 1GB 还是 4GB?
每个实例最多可为缓冲池使用 1GB 内存。每个实例总共可以使用多于 1GB 的空间,因为并非所有内存分配都通过缓冲池进行。在您的情况下,四个实例用于缓冲池的最大内存为 4GB。

为了确认,我启动了 SQL Server 2008 Express 数据库引擎的两个实例,执行了一些活动来加载(单独的)缓冲池,然后以多种方式查看每个实例的内存利用率,例如使用DBCC MEMORYSTATUS或通过使用sys.dm_os_buffer_descriptors DMV计算缓冲区的数量。
下面的物理内存使用量是通过对数据库引擎的每个实例上的系统 DMV sys.dm_os_process_memory 的同时查询获得的:
SELECT
dopm.physical_memory_in_use_kb
FROM sys.dm_os_process_memory AS dopm;
Run Code Online (Sandbox Code Playgroud)
输出:
?????????????????????????
? Instance1 ? Instance2 ?
?????????????????????????
? 1102872 ? 1059812 ?
?????????????????????????
Run Code Online (Sandbox Code Playgroud)
每一个都略超过 1GB,因为总物理内存使用量不仅仅包括缓冲池使用量,如前所述。
是否建议像这样运行多个实例以使每个数据库都能更好地利用资源(假设服务器有足够的资源)?
如果每个实例上的数据库在功能上是独立的,那么以这种方式运行多个 Express 实例至少是可行的,尽管您需要特别注意配置和维护可能会变得更加复杂。
如果预期用途与许可证匹配,则使用其他版本可能会更好地为您服务,例如功能齐全(且非常便宜)的开发人员版)。在这一点上,您需要更多地说明情况才能得到明确的答案。
| 归档时间: |
|
| 查看次数: |
44157 次 |
| 最近记录: |