TempDB उदाहरण पर सभी डेटाबेस के बीच साझा किया गया है। तो कभी-कभी कुछ पृष्ठों के लिए TempDB के भीतर विवाद हो सकता है: SGAM , GAM , और PFS । संक्षेप में, ये पृष्ठ अब तक TempDB में क्या उपयोग किया गया है, का ट्रैक रखते हैं, और जहां नए उपयोग के लिए स्थान उपलब्ध है।
आमतौर पर, TempDB में कई डेटा फ़ाइलों को जोड़कर इससे निपटा जाता है। सही संख्या के अनुसार कुछ अलग दर्शन हैं, लेकिन सभी सहमत हैं कि आपके पास एक से अधिक होना चाहिए।
यहाँ कुछ सवाल चलाने के लिए कर रहे हैं ...
यह आपको दिखाएगा कि TempDB के पास कितनी फाइलें हैं और वे कहाँ स्थित हैं।
-- tempdb layout
use tempdb
go
exec sp_helpfile
go
यह आपको दिखाएगा कि आपके पास कितने सीपीयू और कोर हैं।
-- cores and hyperthreading
select cpu_count, hyperthread_ratio
from sys.dm_os_sys_info
go
यह आपको दिखाएगा कि आपके पास कितने NUMA नोड्स और कोर NUMA नोड हैं।
-- numa nodes and schedulers
select node_id, online_scheduler_count
from sys.dm_os_nodes
order by node_id
go
यह आपको दिखाएगा कि TempDB में कौन से पृष्ठ प्रतीक्षा कर रहे हैं।
-- see if anything is waiting on tempdb
select *
from sys.dm_os_waiting_tasks
where resource_description like '2:%'
go
यहाँ एक लेख है जो पृष्ठ विवाद मुद्दे पर थोड़ा और गहराई में जाता है।
ठीक है, तो अब दर्शन भाग ... :-)
खुद के लिए, अगर मैं एक एसएमपी प्रणाली पर हूं, तो मैं केवल कुल कोर के रूप में कई फाइलें चाहता हूं ।
अगर मैं NUMA सिस्टम पर हूं , तो मुझे केवल NUMA नोड के अनुसार अधिक से अधिक फाइलें चाहिए ।
हालाँकि, मैं शायद ही कभी TempDB के लिए चार फ़ाइलों को और अधिक होने के लिए कोई सुधार देखता हूँ। इसलिए मैं आमतौर पर चार और निगरानी विवाद से शुरू करता हूं जैसा कि मैंने जिस लेख से जोड़ा था, उसमें बताया गया है।
अगर मुझे समस्याएं दिखती हैं, तो मैं दो और जोड़ूंगा। फिर से जांच करें, अधिक जोड़ें, और तब तक दोहराएं जब तक कि विवाद गायब न हो जाए।