We are considering enabling trace flags 1118, 4199, 8048 on a server to fix some some performance issues
We are running into performance issues since migrating from a physical server running SQL Server 2008 to a virtual server running SQL Server 2012 (2 sockets 24 core, 40GB RAM) particularly around one of the ETL process.
As it is a difficult service to get downtime for, is it safe to apply without any downtime? Or, is it wise to restart the service with these as startup parameters, I'm particularly concerned with the trace flag 8048
Best Answer
As for Trace Flag 8048, this MSDN blog says:
Have you identified the need for trace flag 8048 as per the instructions above?
Since 8048 needs to be implemented as a startup trace flag, I'd configure 1118 at the same time. I'd also consider adding 1117 if you are concerned about tempdb performance.
4199 does not need to be implemented as a startup trace flag, although that is certainly recommended once you've established that you really need it, and your workload will benefit from the great many changes it introduces.
On that note, I'd recommend enabling these trace flags only after extensive testing with representative load on a test server.