SQL Server数据库配置改进

本文提供了针对SQLServer数据库性能优化的实用建议,包括启动账号内存锁定、限制最大内存大小、启用即时文件初始化等功能,以及根据CPU核心数配置tempdb文件等最佳实践。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

针对SQL Server数据库的配置,遵从最佳实践,有如下几项,看能否修改生产环境实例配置。


1.png


以下为调整方法和依据:

 

启动账号内存锁定

保证SQL Server提交内存不会被交换或空间被操作系统收缩。

The SQL Server 64-bit version uses "locked pages" to prevent the process working set (committed memory) from being paged out or trimmed by the operating system.

参考:

https://support.microsoft.com/en-us/kb/2659143

 

限制最大内存大小

保留一定内存供SQL Server连接内存、其它应用、系统内存等使用。

参考:

https://mssqlwiki.com/2013/04/22/max-server-memory-do-i-need-to-configure/

 

启动帐号即时文件初始化

快速初始化数据文件空间分配,减少等待。

This should be enabled in the vast majority of cases. SQL Server 2016 lets you enable this during the SQL server installation process.

参考:

Database Instant File Initialization

https://docs.microsoft.com/en-us/sql/relational-databases/databases/database-instant-file-initialization

Misconceptions around instant file initialization

https://www.sqlskills.com/blogs/paul/misconceptions-around-instant-file-initialization/

 

tempdb根据CPU核数配置多个文件

根据CPU核数配置多个相同配置的tempdb文件,提高tempdb的访问性能,已成为SQL Server 2016的标配。

参考:

https://www.derekseaman.com/2014/09/sql-2014-always-ag-pt-7-tempdb.html

https://blogs.msdn.microsoft.com/psssql/2016/03/17/sql-2016-it-just-runs-faster-automatic-tempdb-configuration/

https://blogs.sentryone.com/aaronbertrand/sql-server-2016-tempdb-fixes/

 

Trace Flag放到启动参数中

跟踪标志用于开启特定功能提高数据库性能。

Common trace flags that should be enabled in most cases

TF 1117 - When growing a data file, grow all files at the same time so they remain the same size, reducing allocation contention points

参考:

http://support2.microsoft.com/kb/2154845

TF 1118 - Helps alleviate allocation contention in tempdb, SQL Server allocates full extents to each database object, thereby eliminating the contention on SGAM pages (more important with older versions of SQL Server). Recommendations to reduce allocation contention in SQL Server tempdb database

参考:

http://support2.microsoft.com/kb/2154845

TF 2371 - Lowers auto update statistics threshold for large tables.

参考:

http://blogs.msdn.com/b/saponsqlserver/archive/2011/09/07/changes-to-automatic-update-statistics-in-sql-server-traceflag-2371.aspx

TF 3226 - Supresses logging of successful database backup messages to the SQL Server Error Log.

参考:

https://www.sqlskills.com/blogs/paul/fed-up-with-backup-success-messages-bloating-your-error-logs/

 

optimize for ad hoc workloads

优化即系查询的内存占用。

参考:

https://docs.microsoft.com/en-us/sql/database-engine/configure-windows/optimize-for-ad-hoc-workloads-server-configuration-option

https://www.red-gate.com/simple-talk/blogs/using-optimize-for-ad-hoc-workloads/

 

remote admin connections

数据库有性能瓶颈时提供远程管理访问连接。

参考:

https://docs.microsoft.com/en-us/sql/database-engine/configure-windows/remote-admin-connections-server-configuration-option

https://www.brentozar.com/archive/2011/08/dedicated-admin-connection-why-want-when-need-how-tell-whos-using/














本文转自UltraSQL51CTO博客,原文链接:http://blog.51cto.com/ultrasql/2050152 ,如需转载请自行联系原作者




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值