Praktik terbaik untuk file log tempdb

11

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?

Alexandre Jobin
sumber
4
Tidak ada jawaban ajaib untuk ini, kecuali bahwa saya tidak akan menonaktifkan autogrowth untuk data tempdb atau log kecuali Anda benar-benar ingin sistem berhenti melengking seandainya autogrow diperlukan. Saya tidak akan pernah menonaktifkan autogrow pada file apa pun, karena tidak peduli seberapa baik Anda merencanakan, selalu ada situasi abnormal.
Aaron Bertrand
2
@ AaronBertrand: mengaktifkan autogrowth pada tempdb ukuran penuh tidak akan membantu. Mereka sudah mencapai batas maksimal, mereka dapat berada di drive. Tidak ada lagi ruang disk yang dapat mereka gunakan. Inilah sebabnya saya telah menonaktifkan autogrowth.
Alexandre Jobin
2
Maka tidak masalah apakah itu dinonaktifkan atau tidak, bukan? Jika autogrow diperlukan, itu akan gagal. Jika Anda membiarkannya diaktifkan, itu satu hal lagi yang harus Anda ubah ketika Anda menyadari bahwa mungkin Anda perlu memindahkannya ke drive yang lebih besar.
Aaron Bertrand
1
PS 8 x 20> 100
Aaron Bertrand
1
Memisahkan file Anda tidak harus "pengaturan yang baik". Tergantung pada konfigurasi perangkat keras Anda; yang belum Anda berikan.
Paul

Jawaban:

5

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.

mrdenny
sumber
0

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.

Robert Gannon
sumber
0

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.

Miketk
sumber