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

shrink_logfile.png

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