Saya telah membaca banyak blog di sana-sini tentang cara mengkonfigurasi file data tempdb tetapi saya tidak menemukan informasi mengenai file log tempdb .
Inilah strategi yang saya gunakan saat ini dengan tempdb saya:
- Saya telah menggunakan rekomendasi Paul Randal tentang cara membagi file data tempdb saya
- Saya telah mengatur ukuran file data tempdb saya ke autogrowth maksimum dan dinonaktifkan. Sebagai contoh, saya memiliki 100gb ruang disk kosong dan mengatur ukuran file data 8 tempdb saya menjadi masing-masing 10gb. Ini mencegah fragmentasi pada disk seperti yang direkomendasikan oleh Brent Ozar dan saya juga punya 20gb gratis untuk file log saya.
Tapi seperti yang saya katakan, tidak ada yang berbicara tentang file log tempdb . Apa yang harus saya lakukan dengannya? Pada pengaturan saya, file ini berada di tempat yang sama dengan file data tempdb. Berapa ukuran dan nilai autogrowth yang harus saya gunakan dengan file log tempdb?
sql-server
sql-server-2012
tempdb
Alexandre Jobin
sumber
sumber
Jawaban:
Itu benar-benar tergantung pada seberapa banyak data akan mengalir melalui log transaksi. Lihatlah seberapa besar log hari ini. Anda perlu mengkonfigurasi log untuk setidaknya ukuran itu ketika SQL dijalankan. Untuk sebagian besar klien saya, mereka berakhir dengan log transaksi 3-4 Gig untuk tempdb, yang hanya berisi beberapa VLF dan semuanya berfungsi dengan baik dan lancar.
sumber
Saya selalu diberitahu untuk menyimpan file log pada array fisik / disk yang terpisah jika perangkat keras Anda dapat menulis secara bersamaan ke data dan masuk pada saat yang sama untuk meningkatkan kinerja. Saya akan menebak batasan yang menelurkan batas tempdb 20G Anda mungkin menentukan jawaban untuk ukuran. Untuk autogrowth, itu mungkin tergantung pada transaksi yang Anda jalankan serta ruang kosong yang tersedia dan sumber daya lain pada disk. Saya biasanya memilih 1/6 dari ukuran awal secara sewenang-wenang.
sumber
Aaron yang benar mengkonfigurasi TempDB tergantung pada banyak variabel seperti apakah Anda berencana untuk menggunakan snapshot isolasi dll Berikut ini adalah lebih tua SQL 2005 kertas putih dari MS / TN yang dapat membantu Anda keluar karena sedikit baik itu masih berlaku. Secara khusus lihat "Ruang yang diperlukan untuk pencatatan tempdb" sehingga Anda dapat melihat jenis transaksi apa yang dicatat dalam tempdb log sehingga Anda dapat mengatur semuanya sesuai dengan itu. Mungkin akan menjadi hal yang harus Anda monitor dan atur seiring waktu.
Sejauh authogrowth untuk tempdb saya enggan menonaktifkan ini pada server pelaporan di masa lalu dan perilaku yang saya alami adalah bahwa hal itu menyebabkan transaksi berjalan lama dibatalkan dan dibatalkan yang langsung membebaskan ruang log tapi itu mungkin tergantung pada jenis transaksi yang dalam kasus saya adalah jenis besar dan bergabung operasi (permintaan laporan ditulis dengan buruk). Saya setuju dengan Aaron dan akan merekomendasikan untuk menghindari ini jika memungkinkan terutama dalam situasi volume transaksi yang tinggi.
sumber