It appears that there is a bug on the new parameter /SQLTEMPDBFILESIZE introduced in SQL 2016. I am using the /SQLTEMPDBDIR parameter to specify a mount point setup just for TempDB (128GB) which is much larger than the system databases default directory volume (30GB). The issue that I'm seeing is that when I specify a size for my TempDB files that is larger than the volume that the "system databases directory" resides on the installation fails stating there is not enough space on the path of where the tempdb files default to in the "system databases directory" despite that I'm specifying them to go to a completely different path on a larger volume. I have confirmed this behavior by choosing a smaller combined file size less than 30GB that allows the tempdb data files and the installation completes successfully and the tempdb data files go to the correct tempdb mount point.
What I believe is happening is the sql installation is putting the default tempdb data file in the system database folder where it goes by default and it is growing the file before moving it to the correct directory specified in the install config parameters.
I have not tested to see if this behavior is an issue with 2017 or 2019, but I will test soon and follow up.
##Details from the summary bootstrap log file which shows the wrong behavior.
Overall summary:
Final result: Failed: see details below
Exit code (Decimal): -2146232060
Start time: 2019-06-03 16:30:14
End time: 2019-06-03 16:33:42
Requested action: Install
Setup completed with required actions for features.
Troubleshooting information for those features:
Next step for SQLEngine: Use the following information to resolve the error, uninstall this feature, and then run the setup process again.
Next step for DQ: Use the following information to resolve the error, uninstall this feature, and then run the setup process again.
Next step for FullText: Use the following information to resolve the error, uninstall this feature, and then run the setup process again.
Next step for Replication: Use the following information to resolve the error, uninstall this feature, and then run the setup process again.
Machine Properties:
Machine name: vm-sqlserver1
Machine processor count: 2
OS version: Microsoft Windows Server 2016 Datacenter (10.0.14393)
OS service pack:
OS region: United States
OS language: English (United States)
OS architecture: x64
Process architecture: 64 Bit
OS clustered: No
Product features discovered:
Product Instance Instance ID Feature Language Edition Version Clustered Configured
Package properties:
Description: Microsoft SQL Server 2016
ProductName: SQL Server 2016
Type: RTM
Version: 13
Installation location: C:\temp\SQLBuild\Media\SQL2016\x64\setup\
Installation edition: Developer
Slipstream: True
SP Level 2
Patch Level: 13.2.5337.0
Product Update Status:
Success: KB 4052908, KB 4495256
Product Updates Selected for Installation:
Title: Microsoft SQL Server 2016 with SP2
Knowledge Based Article: KB 4052908
Version: 13.2.5026.0
Architecture: x64
Language: 1033
Title: SQL Server update
Knowledge Based Article: KB 4495256
Version: 13.2.5337.0
Architecture: x64
Language: All
Update Source: Slipstream
......
##Config options in same summary log file showing correct path and size option passed to the install.
SQLTEMPDBDIR: S:\TempDb\D1\DATA
SQLTEMPDBFILECOUNT: 2
SQLTEMPDBFILEGROWTH: 0
SQLTEMPDBFILESIZE: 32996
SQLTEMPDBLOGDIR: S:\Data\L1\DATA
SQLTEMPDBLOGFILEGROWTH: 512
SQLTEMPDBLOGFILESIZE: 512
##See the error below which specifies the wrong path for the tempdb data file.
Feature: Database Engine Services
Status: Failed: see logs for details
Reason for failure: An error occurred during the setup process of the feature.
Next Step: Use the following information to resolve the error, uninstall this feature, and then run the setup process again.
Component name: SQL Server Database Engine Services Instance Features
Component error code: 0x80131904
Error description: MODIFY FILE encountered operating system error 112(There is not enough space on the disk.) while attempting to expand the physical file 'S:\MSSQL\MSSQL13.SQLSERVER2016\MSSQL\DATA\tempdb.mdf'.
Error help link: http://go.microsoft.com/fwlink?LinkId=20476&ProdName=Microsoft+SQL+Server&EvtSrc=setup.rll&EvtID=50000&ProdVer=13.0.5337.0&EvtType=0x7590AFD6%400x9A41B222&EvtType=0x7590AFD6%400x9A41B222