J'ai une norme SQL Server 2005 X64 qui connaît des problèmes avec TEMPDB DDL Contention depuis quelques mois. Le serveur subira des contentions sur la ressource d'attente 2: 1: 103 (type d'attente étant PAGELATCH_EX).
Le problème semble se produire sporadiquement lorsque le serveur est sous charge décente. J'ai surveillé le taux de "Temps de destruction" et je peux sauter à 5 000 personnes pendant les périodes où nous avons des problèmes de pagelatch_ex sur 2: 1: 103. D'après ce que j'ai lu, ce comptoir devrait être 0 la majorité de l'époque, mais la nôtre semble rester entre 300 et 1100 la majorité du temps. Le compteur seulement va sur 0 quand il y a très peu d'utilisateurs sur le système.
Comment puis-je réduire ce qui cause la conflit DDL sur TEMPDB sans avoir à rechercher une aiguille dans une pile de foin?
Je présume que vous avez déjà scindé vos fichiers de données Tempdb pour tenter d'atténuer la conflit (via la pré-production d'abord évidemment). Si vous êtes plus courageux, envisagez le drapeau de trace que Paul Randal se réfère autorisé à: http://www.sqlskills.com/blogs/paul/post/a-sql-server-dba-myth-a-day - (1230) -tempdb-devoir-les-avoir toujours-un-data-file-per-processeur-core.aspx
En ce qui concerne ce qui cause la douleur, vous devez faire un travail d'enquête:
Il y a une belle requête au bas de ce document Microsoft Tempdb pour essayer de déterminer ce qui utilise TEMPDB: http://technet.microsoft.com/en-gb/library/cc966545.aspx