1. Sql Server基础配置
1.1 服务器配置
1.服务器内存
这些选项的默认设置和允许的最小值为:
选项 | 默认 | 允许的最小值 | 建议 |
---|---|---|---|
最小服务器内存 (MB) | 0 | 0 | 0 |
最大服务器内存 (MB) | 2,147,483,647 兆字节 (MB) | 128 MB | 75% 的可用系统内存未被其他进程(包括其他实例)占用。 有关更详细的建议,请参阅最大服务器内存。 |
在SSMS中设置步骤如下:
1.在对象资源管理器中,右键单击服务器并选择“属性”。
2.选择“服务器属性“窗口的“内存“页。这会显示最小服务器内存和最大服务器内存的当前值
3.在“服务器内存“选项中,输入最小服务器内存和最大服务器内存所需的数字
注意,
内存的修改,不用重启服务
- 使用sql修改,单位MB,12288 MB (12 GB)
sql
sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
sp_configure 'max server memory', 12288;
GO
RECONFIGURE;
GO
sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
sp_configure 'max server memory', 12288;
GO
RECONFIGURE;
GO
- 查看修改之后的值
sql
SELECT [name], [value], [value_in_use]
FROM sys.configurations
WHERE [name] = 'max server memory (MB)' OR [name] = 'min server memory (MB)';
SELECT [name], [value], [value_in_use]
FROM sys.configurations
WHERE [name] = 'max server memory (MB)' OR [name] = 'min server memory (MB)';
2.配置每次查询分配的最小内存
“每次查询占用的最小内存”选项指定将分配给查询执行时所需要的最小内存量(KB)。
在SSMS中设置步骤如下:
1.在对象资源管理器中,右键单击服务器并选择“属性”。
2.单击“内存”节点。
3.在“每次查询占用的最小内存框中,输入将分配给查询执行时所需要的最小内存量(KB)。
- sql语句
使用 sp_configure 将 min memory per query
选项的值设置为 1024
KB
sql
USE master;
GO
EXECUTE sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
EXECUTE sp_configure 'min memory per query', 1024;
GO
RECONFIGURE;
GO
EXECUTE sp_configure 'show advanced options', 0;
GO
RECONFIGURE;
GO
USE master;
GO
EXECUTE sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
EXECUTE sp_configure 'min memory per query', 1024;
GO
RECONFIGURE;
GO
EXECUTE sp_configure 'show advanced options', 0;
GO
RECONFIGURE;
GO
3.配置最大并行度
对于每个并行计划的执行,并行度设置了运行单个语句时所使用的处理器数量
服务器配置 | 处理数目 | 说明 |
---|---|---|
具有单个NUMA节点的服务器 | 小于或等于8个逻辑处理器 | 将MAXDOP保持为小于或等于逻辑处理器的数量 |
具有单个NUMA节点的服务器 | 大于8个逻辑处理器 | 将MAXDOP保持为8个 |
具有多个NUMA节点的服务器 | 每个NUMA节点拥有小于或等于16个逻辑处理器 | 将MAXDOP保持为小于或等于每个NUMA节点的逻辑处理器的数量 |
具有多个NUMA节点的服务器 | 每个NUMA节点大于16个逻辑处理器 | 将MAXDOP保持为每个NUMA节点逻辑处理器数量的一半,最大值为16 |