Pour déplacer des tempdb
fichiers, il vous suffit de procéder comme suit:
alter database tempdb
modify file
(
name = tempdev,
filename = 'C:\YourNewTempdbDir\tempdb.mdf'
)
go
alter database tempdb
modify file
(
name = templog,
filename = 'C:\YourNewTempdbDir\templog.ldf'
)
go
Si vous souhaitez ajouter un nouveau fichier tempdb
, il vous suffit de procéder comme suit (à condition de l'ajouter au groupe de PRIMARY
fichiers ou de créer le vôtre):
alter database tempdb
add file
(
name = tempdb2,
filename = 'C:\YourNewTempdbDir\Tempdb2.ndf'
)
go
Pour que ces modifications prennent effet, vous devrez redémarrer le service SQL Server. En ce qui concerne la minimisation des temps d'arrêt, vous êtes limité par le temps nécessaire au redémarrage du service . Vous n'avez pas à vous soucier de déplacer les tempdb
fichiers de base de données préexistants , car SQL Server recrée toujours les fichiers et les nouveaux emplacements / fichiers seront créés au démarrage du service.
Quant au "1 fichier de données tempdb par cœur", c'est largement un mythe. L'approche correcte consiste à surveiller tempdb
les conflits de fichiers pour les pages Espace libre de page (PFS), Global Allocation Map (GAM) et Shared Global Allocation Map (SGAM). Veuillez consulter cet article pour obtenir une requête (lien alternatif) qui parcourt le sys.dm_os_waiting_tasks
DMV pour voir la tempdb
contention de fichiers. Ensuite, vous devez vous en passer, au lieu de simplement couvrir tempdb
avec la même quantité de fichiers qu'il y a de cœurs. C'est l'approche la plus recommandée.
Thomas Stringer
la source