it-swarm.asia

Apa perbedaan antara Kecilkan Basis Data dan File?

DBCC ShrinkDatabase()
DBCC ShrinkFile()
  1. Apakah saya perlu menjalankan kedua perintah DBCC untuk mengecilkan basis data?
  2. Apa perbedaan antara keduanya di atas?
34
Jango

Secara sederhana...

  • DBCC ShrinkDatabase(): mengecilkan semua file
  • DBCC ShrinkFile(): hanya satu file

Sebagai contoh, Anda mungkin memiliki masalah cadangan log dan itu tumbuh di luar kendali sehingga Anda menjalankan DBCC ShrinkFile().

Anda hampir tidak pernah menggunakan ShrinkDatabase.

Sebelum Anda mempertimbangkan untuk menggunakan salah satu perintah, silakan baca blog Paul Randal tentang menyusut .

Saya tidak akan menyusutkan salah satu file (mdf, ldf) kecuali ada alasan yang jelas. File adalah ukuran mereka karena mereka perlu. Setiap blog yang menyarankan untuk melakukannya sebagai bagian dari pemeliharaan rutin mungkin tidak mengerti cara kerja SQL Server.

36
gbn

Database default memiliki dua file

MyDb.MDF dan MyDb.LDF

File MDF adalah file data di mana partisi primer berada. Tergantung pada kebutuhan Anda, Anda dapat mempartisi database menjadi beberapa file. Ini dilakukan agar data (tabel tunggal atau ganda) dapat menjangkau banyak file yang biasanya diletakkan di hard drive terpisah untuk mencapai kinerja yang lebih tinggi.

Jika Anda mengecilkan basis data, semua file yang terkait dengan basis data itu akan menyusut.

Jika Anda mengecilkan file, maka hanya file yang dipilih yang akan menyusut.

Anda hanya perlu menggunakan perintah Shrink Database. Tetapi biasanya bukan praktik yang baik untuk melakukan ini dan juga bukan praktik yang disarankan.

Jika Anda memberi tahu kami apa masalah yang Anda alami, kami dapat memberi Anda lebih banyak informasi tentang cara mengatasinya.

2
Raj More

Kemungkinan besar kita hanya menggunakan shrinkfile dbcc. sp_helpdb 'databasename' menyediakan daftar data & file log dalam database.

klik kanan pada studio manajemen, tugas-> menyusut-> file memberikan berapa banyak Anda dapat menyusut.

apa pun yang kita menyusut, itu tersedia kembali pada disk sebagai ruang kosong.

mis: gunakan 'databasename' dbcc shrinkfile (fileid, 100)

di sini 100 adalah 100 MB

fileid bisa dapatkan dari sp_helpdb 'databasename'

0
Gigs