跟我一起学Microsoft SQL Server 2012 Internals(1.6)

来源:互联网 发布:js removeall 编辑:程序博客网 时间:2024/05/22 01:40

目录

    • 目录
    • 正确设置SQL Server相关配置选项
      • 调整windows操作系统
      • 调整trace flags
      • 调整SQL Server配置项
    • 参考资料

正确设置SQL Server相关配置选项

SQL Server虽然是一个关系数据库软件(RDBMS),但仍然有着所有软件共有的特性:有工作进程、需分配内存、与磁盘存在I/O交互,运行在操作系统之上等。因此正确的调整windows操作系统将有助于提升SQL Server性能。另外通过合理设置SQL Server的配置参数,可提高SQL Server的可用性,降低维护难度等。

调整windows操作系统

1.在[系统属性]中,选择[高级],然后点击“性能”选项卡的[设置],调整windows视觉效果为:[调整为最佳性能]
性能

2.接着在[高级]-“处理器计划”,选择[后台服务]
注意:选择[程序]或[后台服务]的讨论,可参考文章“Windows Server 2008 performance tuning for SQL Server 2008 Enterprise OLAP”
后台服务

3.然后在[数据执行保护]选项卡,选择[仅为基本windows程序和服务启用DEP]
数据执行保护

4.调整防火墙设置:设置防火墙端口1433允许或关闭防火墙
注意:此处不建议直接禁用防火墙服务,而是通过[控制面板]管理选项关闭防火墙。若直接禁用防火墙服务,在安装sql server故障转移群集时,会出现检查错误。
防火墙

5.调整UAC级别:控制面板-[用户帐户]-[更改用户帐户控制设置],设置级别[从不通知]

6.调整windows本地策略:在运行输入:secpol.msc,打开[本地安全策略],在[本地策略]-[用户权限分配]中,调整:

锁定内存页
作为服务登陆
更改系统时间
执行卷维护任务

关于是否调整[执行卷维护任务],可参考文章“使用即时文件初始化提高SQL Server性能”。虽然设置[执行卷维护任务]可提高SQL Server性能,但仍需考虑安全/权限问题。

7.将数据文件放在NTFS文件格式的磁盘,同时考虑调整NTFS的分配单元大小,默认使用4kb,建议使用8Kb或者64kb,具体需按实际磁盘测试情况进行调整。详细内容可见文章“Disk Partition Alignment Best Practices for SQL Server”
NTFS的分配单元大小

8.最后建议,不要在SQL Server数据库引擎服务器上安装杀毒软件。杀毒软件不仅占用了部分操作系统资源,还会影响SQL Server的IO性能。

注意:你还需要检查windows time服务,保证数据库服务器的时间准确。

调整trace flags

Trace Flags是一些能影响SQL Server运行的跟踪标记。其中部分Trace Flags可以作为SQL Server的启动参数,另一部分则可以直接生效,实时影响当前SQL Server的运行状态。你可查看文章“简单使用SQL Server中的Trace Flags”与“Tuning options for SQL Server when running in high performance workloads”,在必要时调整trace flags

调整SQL Server配置项

调整SQL Server的配置主要是指在安装SQL Server后,调整SQL Server实例的[属性]。右点击SQL Server实例,选择[属性],然后你可逐一检查[属性]页中的内容,通常建议检查或调整如下细项:

  • 检查服务器排序规则:推荐使用Chinese_PRC_CI_AS
  • 调整最大、最小服务器内存:推荐预留4~6GB给操作系统,然后合理设置最大服务器内存。
  • 检查是否使用SQL Server与windows混合身份验证模式
  • 设置默认索引填充因子:90
  • 启用压缩备份
    启用压缩备份后,你可通过如下TSQL查询备份文件压缩比:
SELECT    backup_size / compressed_backup_size as 'compressed'    ,database_name    ,backup_start_date    ,backup_finish_date    ,DATEDIFF(mi,backup_start_date,backup_finish_date) as 'min'FROM msdb..backupset;
  • 在必要时,调整OLTP下的SQL Server的最大并行度、并行的开销阈值
  • 检查或调整数据库默认位置:推荐分开存放数据(data)与日志(transaction log)文件

注意:不推荐启用windows纤程(轻型池)。同时若启用了CLR集成,则不应启用windows纤程,两则相互冲突。见MSDN”lightweight pooling Option“。

另外,你可通过目录视图sys.configurations查看SQL Server配置项

SELECT * FROM sys.configurations

如下T-SQL是启用CLR集成

--启用CLRsp_configure 'show advanced options', 1;GORECONFIGURE;GOsp_configure 'clr enabled', 1;GORECONFIGURE;GO

参考资料

  1. 《Microsoft SQL Server 2012 Internals》 - chapter 1

  2. 数据库文件初始化
    https://msdn.microsoft.com/zh-cn/library/ms175935(SQL.105).aspx

  3. 使用即时文件初始化提高SQL Server性能
    http://www.cnblogs.com/woodytu/p/4639282.html?utm_source=tuicool&utm_medium=referral

update by HyperWang at 2016/03/18

1 0
原创粉丝点击