Saya menemukan sejumlah DB dalam portofolio saya yang telah dibuat dengan pengaturan autogrow default (kenaikan 1 MB atau 10%) yang telah diperluas untuk jangka waktu yang lama. Jika saya ingin mendapatkan ukuran jumlah fragmentasi eksternal untuk masing-masing file DB, dapatkah saya dapatkan dari metadata berapa kali file DB telah dimodifikasi ukurannya (baik dengan autogrow atau secara manual)? Untuk memperjelas, bisakah saya dapatkan dari metadata sejarah modifikasi file DB untuk kehidupan DB, tidak hanya sejak mulai ulang misalnya?
sql-server
datafile
MattyZDBA
sumber
sumber
Jawaban:
Anda bisa mendapatkan informasi peristiwa autogrowth dari jejak default jika diaktifkan:
Anda dapat melihat dari sini bahwa jejak default memang memiliki penangkapan Data File Auto Grow dan Log File Auto Grow . Untuk melihat apakah Anda memiliki jejak default yang diaktifkan pada instance itu, Anda dapat melakukan hal berikut:
Catatan: ini adalah opsi konfigurasi lanjutan, jadi
show advanced options
harus diatur ke 1 untuk melihat opsi konfigurasi inisp_configure
. Juga, dua peristiwa ini tidak akan dipicu jika file tumbuh secara manual .Berikut ini contoh permintaan cepat untuk mendapatkan acara ini:
Dan Anda bisa dapatkan
<Trace Path>
dari fungsi sistemsys.fn_trace_getinfo
:sumber