As Max mentioned the alert probably fired just prior to the log growing/needing to grow. SCOM collects transaction log free space % although I am not sure at what threshold the alert will fire.
here is a quick example to show you what state tempdb is probably in when you get these alerts but no log file growth.
first create a database, set recovery to full, and back it up
create database tlogspace
on(name=tlogspace_dat,
filename='c:\temp\tlogspace.mdf',
size=4MB)
log on (name=tlogspace_log,
filename='c:\temp\tlogspace.ldf',
size=1MB);
go
alter database tlogspace set recovery full;
go
backup database tlogspace to disk='nul';
go
now switch to that database, create a table, and run DBCC sqlperf(logspace) to check the size oand free space in your log file.
use tlogspace
go
create table data(id int identity(1,1), col varchar(8000))
dbcc sqlperf(logspace)
On my system I have logfile size of 0.9921875 and log space used (%) of 48.4245. Now insert some data into the table and run DBCC sqlperf(logspace) again. On my system 45 rows inserted gave desired results(number of rows inserted may need to be adjusted).
insert into data(col)
select replicate('a',8000)
go 45 --may need to adjust number
dbcc sqlperf(logspace)
This time, the DBCC sqlperf output should show that log size is the same but log space used is just under 100%. In this case, SCOM would probably fire an alert that log space is low. There is no more activity going on to cause the log file to grow and (in this example) no tlog backup to free up used space. tempdb is in simple recovery, so your active transaction probably used up most of the available space and did not release it but there was not enough activity in tempdb to trigger log file growth thus causing the alert fire.
cleanup database when finished
use master
drop database tlogspace
Yes, SQL Server files do not shrink automatically. They remain the same size unless you explicitly shrink them, either through the SQL Server Management Studio or by using the DBCC SHRINKFILE command. While you can set files to autoshrink, this is widely advised against because shrinking/growing files is very resource intensive, especially when you're dealing with log files which don't have instant file initialization.
EDIT: In response to your edit: there is a difference between MAXSIZE and the size a file can get before running out of disk. You can set that in the Files section of the database properties, or with an ALTER DATABASE command.
Best Answer
If you move tempdb to a drive with insufficient space, then you will encounter errors and performance problems arising from this. If, however, your tempdb growth was a one-off event, then you might not have any issues moving back to the 35 GB drive. The only way to know for sure is to track your current tempdb usage and determine if you require additional space.
Use the following query to create a table in a suitable database to store tempdb space information
Then create a SQL Agent job to log the tempdb space consumption using this query:
Note that this job must target tempdb as the database for the T-SQL job step, otherwise it will not return data.
Schedule this to run frequently, say every 5 minutes, and leave the job enabled for a suitable period, at least 1 month, but ideally, 3-6 months, to collect enough data to make an informed decision.
When the suitable time has elapsed, check the max total consumption of your data and log files for tempdb using this query:
If the max consumed space doesn't exceed the available space on your intended drive, then you should be okay to proceed with the move. If the max consumption is greater, you will likely encounter errors and performance problems if you move tempdb to your intended drive.
If tempdb's growth was the result of an event such as a major database change that may occur occasionally, you're better placed to use an overflow file in tempdb rather than moving the whole thing.
For example, you can configure tempdb to use the 35GB drive normally, grow your files to fill this drive and set their maximum size as per best practise. Then when you're planning for one of these events that require additional tempdb space, simply add an additional file to tempdb on a different drive.
Once your process is finished, you can flush the data out of your overflow file and remove it from tempdb, and your existing configuration on the 35GB drive remains unchanged.