SQL Server数据库配置改进
针对SQL Server数据库的配置,遵从最佳实践,有如下几项,看能否修改生产环境实例配置。
以下为调整方法和依据:
启动账号内存锁定
保证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/
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341