Sebelum Melakukan SHRINKFILE atau SHRINKDATABASE
Dear Pembaca,
Berikut adalah cara check ukuran file dari database yang sebenarnya, dan ukuran space yang digunakan pada harddisk. Berikut caranya
Ganti [MyDatabase]
dengan nama database anda
use [MyDatabase];
go
;with db_file_cte as
(
select
name,
type_desc,
physical_name,
size_mb =
convert(decimal(11, 2), size * 8.0 / 1024),
space_used_mb =
convert(decimal(11, 2), fileproperty(name, 'spaceused') * 8.0 / 1024)
from sys.database_files
)
select
name,
type_desc,
physical_name,
size_mb,
space_used_mb,
space_used_percent =
case size_mb
when 0 then 0
else convert(decimal(5, 2), space_used_mb / size_mb * 100)
end
from db_file_cte;
QUERY diatas untuk menunjukkan ukuran sebenarnya database dibanding space yang diambil di harddisk.
Kemudian, lakukan BACKUP sebelum SHRINKING database maupun file.
Selanjutnya, silakan untuk melakukan SHRINKING lewat Management Studio untuk operasi yang lebih mudah
UNTUK YANG GAGAL MELAKUKAN SHRINKFILE Log File, ubah dulu RECOVERY TYPE dari database tersebut dari FULL menjadi SIMPLE, sebagai berikut:
USE [MyDatabase]
select name,recovery_model_desc from sys.databases
ALTER DATABASE [MyDatabase] SET RECOVERY simple
DBCC SHRINKFILE ([MyDatabase Log Name] , 1)
Sekalian melakukan SHRINKFILE menggunakan QUERY.
Demikian tips hari ini, semoga bermanfaat. Salam Coding