TempDb tunen

Eén van de belangrijkste performance aspecten van een SQL server zit in de TempDb. Deze wordt veel gebruikt als buffer/cache en hoe beter deze performed, hoe beter de SQL server. Het ‘best practice’ is om meer dan één bestand te hebben voor de TempDb en het aantal is gebaseerd op 1/2 * CPU Cores met een minimum van 2 en een maximum van 8.

Aangezien we de TempDb al op een dedicated schijf hebben staan (T:), die een volume ‘Allocation Size’ heeft van 64K, is dat op zich al een voordeel maar mocht dit niet zo zijn dan kunnen de tempdb files verplaatst worden naar de T:-schijf met:

USE master;
GO
ALTER DATABASE tempdb 
MODIFY FILE (NAME = tempdev, FILENAME = 'T:\MSSQL\TempDB\tempdb.mdf');
GO
ALTER DATABASE tempdb 
MODIFY FILE (NAME = templog, FILENAME = 'T:\MSSQL\TempDB\templog.ldf');
GO

Met een script maken we er bestanden bij, afhankelijk dus van het aantal cores. De size houden we op 1Gb en stellen geen filegrowth in.

USE master;
GO
ALTER DATABASE tempdb
ADD FILE
(
 NAME = tempdev2,
 FILENAME = 'T:\MSSQL\TempDB\tempdb2.mdf',
 SIZE = 1024MB,
 FILEGROWTH = 0
);
GO
ALTER DATABASE tempdb
    MODIFY FILE
    (
     NAME = tempdev,
     SIZE = 1024MB,
     FILEGROWTH = 0
    );
GO

De log-file voor de TempDb passen we ook aan met een script.

ALTER DATABASE tempdb
MODIFY FILE
(
 NAME = templog,
 SIZE = 2048MB,
 FILEGROWTH = 256MB
);

De eigenschappen van de TempDb zijn nu alsvolgt:

tempdb2