跟踪标记:1117sql
功能:数据库
用途:sqlserver
主要用于tempdb性能的优化,解释以下:性能
备注:优化
在SQL Server 2016里,跟踪标记1117已经再也不生效,功能被以下SQL语句所代替spa
ALTER DATABASE [Database_Name] MODIFY FILEGROUP [FileGroup_Name] AUTOGROW_ALL_FILES; --自定义文件组,默认为AUTOGROW_SINGLE_FILE
跟踪标记:1118code
功能:orm
用途:server
主要用于tempdb性能的优化,解释以下:对象
备注:
在SQL Server 2016里,跟踪标记1118已经再也不生效,功能被以下SQL语句所代替
ALTER DATABASE [Database_Name] SET MIXED_PAGE_ALLOCATION OFF --自定义数据库,默认即为OFF,不使用混合区
小结:
对于tempdb的优化,一般会配置多个数据文件,以及开启1118跟踪标记,而1117更像是在文件增加方式上,对这二者的补充。
从SQL Server 2016开始:
(1) 对于1117,1118这两个跟踪标记再也不生效,但有了文件组/数据库选项,粒度更小,而不用像以前那样,开启全局的跟踪标记(对全部数据库生效),更为方便控制;
(2) 对于tempdb,文件增加:默认为文件组内所有增加;空间分配:默认为不使用混合区;
use tempdb select * from sys.filegroups --is_autogrow_all_files --1 select * from sys.databases where name = 'tempdb' --is_mixed_page_allocation_on --0
(3) 对于用户新建的数据库,文件增加:默认为文件组内单个文件增加,和之前同样;空间分配:默认为不使用混合区;
use DBA select * from sys.filegroups --is_autogrow_all_files --0 select * from sys.databases where name = 'DBA' --is_mixed_page_allocation_on --0
(4) 另外在安装SQL Server 2016时,还根据CPU核数动态设置了tempdb的文件数,因此到了SQL Server 2016,tempdb的优化选项几乎所有采用默认便可。
参考:
SQL Server 2016 – Trace Flag 1117 Changes
http://www.sqlservergeeks.com/sql-server-2016-trace-flag-1117-changes/
Working with tempdb in SQL Server 2005
https://technet.microsoft.com/en-us/library/cc966545.aspx
kb/328551
https://support.microsoft.com/en-us/kb/328551
kb/2154845
https://support.microsoft.com/en-us/kb/2154845
Trace Flags (Transact-SQL)
https://msdn.microsoft.com/en-us/library/ms188396.aspx
Trace Flags 1117, 1118, and Tempdb Configuration
https://www.brentozar.com/archive/2014/06/trace-flags-1117-1118-tempdb-configuration/
《Fast Track Data Warehouse 2.0 Architecture.docx》