2

I'm attempting to install SQL Server 2016 SP2 on a newly created EC2 instance. I'm using a configuration file I previously generated. In the configuration file I've specified where I'd like the TempDB files to be created along with the Database Root data and log directories. That looks like this:

; The number of Database Engine TempDB files. 
SQLTEMPDBFILECOUNT="8"

; Specifies the initial size of a Database Engine TempDB data file in MB. 
SQLTEMPDBFILESIZE="88500"
; Specifies the automatic growth increment of each Database Engine TempDB data file in MB. 
SQLTEMPDBFILEGROWTH="0"

; Specifies the initial size of the Database Engine TempDB log file in MB. 
SQLTEMPDBLOGFILESIZE="88500"
; Specifies the automatic growth increment of the Database Engine TempDB log file in MB. 
SQLTEMPDBLOGFILEGROWTH="0"

; Directories for Database Engine TempDB files. 
SQLTEMPDBDIR="T:\Data"
; Directory for the Database Engine TempDB log files. 
SQLTEMPDBLOGDIR="T:\Log"

; The Database Engine root data directory. 
INSTALLSQLDATADIR="O:\Data"
; Default directory for the Database Engine user database logs. 
SQLUSERDBLOGDIR="O:\Log"

After the installation I get this error message:

MODIFY FILE encountered operating system error 112(There is not enough space on the disk.) while attempting to expand the physical file 'O:\Data\MSSQL13.BI\MSSQL\DATA\templog.ldf'.

The log output from the installation has the same directory paths specified in the ConfigurationFile for TempDB and for the the user data/log directories.

For the life of me I cannot understand why the TempDB files are being created in the filepath specified in the error message.

1
  • I feel like this is not the way Microsoft should create the files. Instead of creating the files directly where they should go afterwards, it creates those in the root folder first, then it moves the files. And usually, if you made the things right, the root folder can be very small if it only contains the system databases.
    – Hybris95
    Jul 2, 2021 at 12:58

1 Answer 1

1

I can't say specifically why but when reducing the initial size of the TempDB files, they were created in the directory specified in the ConfigurationTile.ini.

I updated the ConfigurationFile to the following:

; The number of Database Engine TempDB files. 
SQLTEMPDBFILECOUNT="8"

; Specifies the initial size of a Database Engine TempDB data file in MB. 
SQLTEMPDBFILESIZE="256"
; Specifies the automatic growth increment of each Database Engine TempDB data file in MB. 
SQLTEMPDBFILEGROWTH="0"

; Specifies the initial size of the Database Engine TempDB log file in MB. 
SQLTEMPDBLOGFILESIZE="256"
; Specifies the automatic growth increment of the Database Engine TempDB log file in MB. 
SQLTEMPDBLOGFILEGROWTH="0"

; Directories for Database Engine TempDB files. 
SQLTEMPDBDIR="T:\Data"
; Directory for the Database Engine TempDB log files. 
SQLTEMPDBLOGDIR="T:\Log"

; The Database Engine root data directory. 
INSTALLSQLDATADIR="O:\Data"
; Default directory for the Database Engine user database logs. 
SQLUSERDBLOGDIR="O:\Log"

As an additional setup step, I'll run a script to re-size the tempdb files.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.