it-swarm.asia

Apakah mungkin untuk mengembalikan bak sql-server dan mengecilkan log pada saat yang sama?

Kami memiliki file bak dari klien yang telah kami transfer ke kantor pengembang kami untuk penyelidikan masalah. Cadangan saat ini 25GB dan database yang dipulihkan sekitar ukuran yang sama namun perlu 100GB untuk dipulihkan. Saya percaya ini karena ada database yang diatur untuk memiliki ukuran log transaksi 75GB. Setelah memulihkan database, kami dapat mengecilkan file log tetapi apakah ada cara untuk melakukan ini di restore?

26
Adam Butler

Tidak ada cara untuk mengecilkan cadangan sebagai bagian dari proses pemulihan. Basis data yang dipulihkan harus persis seperti basis data sumber dengan satu-satunya pengecualian adalah Anda dapat mengubah huruf dan folder drive.

16
mrdenny

Ada peretasan jangan-pernah-lakukan-ini-di-lingkungan-langsung yang dapat Anda gunakan di mana ruang terbatas, dengan mengembalikan file log ke folder terkompresi. Coba ini dengan mengompresi folder yang ada dan mengembalikannya akan menghasilkan kesalahan, jadi Anda harus menipu dengan tautan simbolik.

  1. Buat folder terkompresi D:\LogCompressed\
  2. Buat tautan simbolis ke folder terkompresi mklink /D /J D:\Log\ D:\LogCompressed\

  3. Pulihkan database Anda dengan file ldf yang menunjuk ke D:\Log\

  4. Kecilkan file log ke ukuran yang sesuai

  5. Lepaskan database, pindahkan file log ke folder yang tidak terkompresi, lampirkan

Itu kotor, curang, JANGAN PERNAH MELAKUKANNYA LANGSUNG, , tetapi berhasil. Uji cepat dari database yang baru dibuat dengan file log 32MB menunjukkannya sebagai menempati 330kb pada disk ketika dikompresi, mendekompres folder dan pada ukuran disk kembali ke 32MB.

34

Saya percaya bahwa alasan cadangan Anda adalah 25 GB dan database yang dipulihkan adalah 100 GB adalah bukan karena log transaksi Anda. Apa yang saya duga adalah, file database Anda memiliki 100 GB ruang yang dialokasikan dan ada 25 GB data aktual dalam database.

Ada perbedaan antara ruang file database yang dialokasikan dan ruang data yang digunakan. Dalam hal ini, yang pertama adalah 100 GB dan yang terakhir adalah 25 GB.

9
Thomas Stringer