I have created a new secondary datafile for the temp DB but the file is still growing to the point that the file fills the disk. Is there some way that I can get SQL to use the secondary file before it dies?
You can set a max size to the primary data file in a such a way that it will leave some free space on the drive. This will ensure that the drive will not be filled up and continue to grow on the secondary file without raising any alerts/warnings.