Di SQL Server, saat menggunakan Transact-SQL, mengurangi ukuran file data memerlukan sintaks yang berbeda untuk meningkatkannya. Untuk mengurangi ukuran file menggunakan T-SQL, gunakan DBCC SHRINKFILE
perintah, dan berikan nama file data beserta ukuran yang ingin Anda perkecil.
Di bawah ini adalah contoh pengurangan ukuran file dari file data di SQL Server menggunakan T-SQL.
Contoh Dasar
Berikut adalah contoh dasar untuk mengurangi ukuran file data menggunakan T-SQL:
USE Solutions; GO DBCC SHRINKFILE (Solutions_dat_2, 5); GO
Ini mungkin cukup jelas. Pertama, kita beralih ke database yang file datanya ingin kita ubah. Kami kemudian menggunakan DBCC SHRINKFILE
untuk menentukan file data mana, dan ukuran file apa yang harus dikurangi. Ini dalam MB, jadi contoh kami akan menguranginya menjadi 5 MB.
Perkecil ke Ukuran File Default
Jika Anda tidak menentukan ukuran file, file akan dikurangi ke ukuran default. Ukuran default adalah ukuran yang ditentukan saat file dibuat.
Contoh:
USE Solutions; GO DBCC SHRINKFILE (Solutions_dat_2); GO
Memotong File Data
Anda dapat memotong file data dengan menggunakan TRUNCATEONLY
argumen.
Ini contohnya:
USE Solutions; GO DBCC SHRINKFILE ('Solutions', TRUNCATEONLY); GO
Mengosongkan File Data
Anda juga dapat mengosongkan file data dengan menggunakan EMPTYFILE
argumen.
Contoh:
DBCC SHRINKFILE (Solutions2, EMPTYFILE); GO
Ini memigrasikan semua data dari file yang ditentukan ke file lain dalam grup file yang sama. Oleh karena itu, Anda harus memastikan ini bukan satu-satunya file di grup file (jika tidak, Anda akan mendapatkan kesalahan). EmptyFile juga meyakinkan Anda bahwa tidak ada data baru yang akan ditambahkan ke file.
Setelah Anda mengosongkan file, Anda dapat menghapusnya jika itu yang ingin Anda lakukan. Berikut ini contoh menghapus file yang dikosongkan:
ALTER DATABASE Solutions REMOVE FILE Solutions2; GO
Dan kami dapat memeriksa apakah itu telah dihapus dengan menjalankan yang berikut:
USE Solutions; GO SELECT file_id, name, type_desc, physical_name, size, max_size FROM sys.database_files ; GO