SQL Server 2016 introduces two new options to ALTER DATABASE statement which can be used to modify database files namely AUTOGROW_SINGLE_FILE and AUTOGROW_ALL_FILES. In the earlier versions of SQL Server to achieve similar functionality you could use the trace flag 1117. This would allow all the files of the database to auto grow at the same time if they are configured files to auto grow.
This is Part 7 of 10 Part T-SQL Enhancements in SQL Server 2016 for Developers and DBAs. Click here to read it from the beginning….
One of the biggest disadvantages of using trace flag 1117 is that in the event of auto growth all the files of the database will grow. Since this trace flag is set at global level, all the databases residing on the SQL Server Instance will auto grow as per the relevant auto growth settings configured for each database file. This scenario would result in filling drive space faster.
AUTOGROW_ALL_FILES: You must choose this option if you wish to grow all the DATA and LOG files within the FILE GROUP equally. However, as a best practice one should always grow files in fixed sizes in MB or GB rather than fixed percentages as this would result in performance issues and would also result in filing the drives quickly than expected. For more information, see Configure Database Instant File Initialization Feature in SQL Server.
Example ALTER DATABASE SET AUTOGROW_ALL_FILES
ALTER DATABASE Adventureworks MODIFY FILEGROUP [PRIMARY] AUTOGROW_ALL_FILES GO
Trending SQL Server Articles and Tips
- Steps to Connect to SQL Server When all System Administrators are Locked Out
- How to Enable and Refresh IntelliSense in SQL Server Management Studio (SSMS)
- How to Fix Virtual Log Files in SQL Server Transaction Log
- Different Ways to Enable Dedicated Administrator Connection in SQL Server
- What are Virtual Log Files in SQL Server Transaction Log File?
Click the Next Page button to continue reading about New T-SQL enhancements in SQL Server 2016 and click on the Previous Page button to revise the previously read topic.
- COMPRESS and DECOMPRESS Functions
- STRING_SPLIT and STRING_ESCAPE Functions
- FORMATMESSAGE Statement
- SERVERPROPERTY Function
- TRUNCATE TABLE WITH PARTITIONS
- DROP IF EXISTS
- ALTER TABLE WITH (ONLINE = ON | OFF)
- MAXDOP for DBCC CHECKDB, DBCC CHECKTABLE and DBCC CHECKFILEGROUP
- ALTER DATABASE SET AUTOGROW_SINGLE_FILE
- ALTER DATABASE SET AUTOGROW_ALL_FILES