Apakah ada cara untuk mengetahui perkembangan DBCC SHRINKFILE
pernyataan?
Beginilah cara saya menjalankannya
dbcc shrinkfile ('main_data', 250000)
Saya menjalankan pernyataan di atas pada SQL Server 2005 dan 2008.
[PEMBARUAN] Ini adalah kueri yang saya jalankan untuk memeriksa progres dan teks yang sedang dijalankan.
select T.text, R.Status, R.Command, DatabaseName = db_name(R.database_id)
, R.cpu_time, R.total_elapsed_time, R.percent_complete
from sys.dm_exec_requests R
cross apply sys.dm_exec_sql_text(R.sql_handle) T
sql-server
sql-server-2005
sql-server-2008
shrink
dance2die
sumber
sumber
Jawaban Harun sangat tepat, tetapi saya ingin mengingatkan Anda agar tidak menjalankan menyusutkan file data karena menyebabkan masalah kinerja yang mengerikan. Saya dulu memiliki kode menyusut, jadi saya tahu apa yang saya bicarakan. Lihat postingan blog ini yang saya tulis kemarin yang menunjukkan kepada Anda apa yang saya maksud dan menyarankan cara melakukan menyusut tanpa benar-benar melakukan menyusut: Mengapa Anda tidak boleh menyusutkan file data Anda
Semoga ini membantu!
PS Satu hal lagi untuk memeriksa apakah perlu waktu lama dan persen_lengkap tidak bertambah - cari pemblokiran. Kecilkan akan tak terbatas-tunggu kunci yang dibutuhkan.
sumber
sumber
Kueri di bawah ini akan menampilkan hasil seperti ini: lacak status menyusut dbcc
sumber
Menambahkan versi saya sendiri untuk siapa pun yang tertarik, ini mengubah kolom waktu millsecond menjadi menit dan detik yang lebih mudah dibaca.
sumber
Atau Anda bisa menjalankan exec sp_who3.
sumber
sp_whoisactive - ada kolom "persen_lengkap"
sumber