SQL Server數據庫配置改進

針對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/




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章