Rumah  >  Artikel  >  tutorial komputer  >  Kaedah dan langkah untuk memampatkan fail log pangkalan data

Kaedah dan langkah untuk memampatkan fail log pangkalan data

WBOY
WBOYke hadapan
2024-01-15 12:51:27961semak imbas

Kaedah dan langkah untuk memampatkan fail log pangkalan data

Cara memampatkan fail log pangkalan data

Terdapat 3 kaedah khusus.

Kaedah 1:

Langkah pertama:

nama_database log sandaran dengan no_log

atau nama pangkalan data log sandaran dengan truncate_only

-- no_log dan truncate_only adalah sinonim di sini, anda boleh melaksanakan mana-mana ayat.

Langkah 2:

1 Kecilkan semua data dan fail log pangkalan data tertentu, laksanakan:

dbcc shrinkdatabase (database_name,[,target_percent])

-- database_name ialah nama pangkalan data yang akan dikecilkan; target_percent ialah peratusan baki ruang kosong yang diperlukan dalam fail pangkalan data selepas pangkalan data dikecilkan.

2 Kecilkan data atau log fail dalam pangkalan data tertentu pada satu masa, laksanakan

dbcc shrinkfile(file_id,[,sasaran_saiz])

-- file_id ialah nombor pengenalan (ID) bagi fail yang akan dikecilkan Untuk mendapatkan ID fail, gunakan fungsi FILE_ID atau cari sysfiles dalam pangkalan data semasa ialah saiz fail yang dikehendaki dalam megabait (dinyatakan sebagai integer ) . Jika tidak dinyatakan, dbcc shrinkfile mengurangkan saiz fail kepada saiz fail lalai. Kedua-dua dbcc boleh membawa parameter notruncate atau truncate sahaja. Sila rujuk bantuan dalam talian untuk maksud khusus.

Kaedah 2:

Langkah pertama:

Sandarkan keseluruhan pangkalan data terlebih dahulu untuk persediaan menghadapi kecemasan.

Langkah 2:

Selepas sandaran selesai, laksanakan pernyataan berikut dalam Penganalisis Pertanyaan:

exec sp_detach_db yourDBName,true

--Nyahpasang maklumat pendaftaran DB ini dalam MSSQL

Langkah 3:

Pergi ke direktori di mana fail log fizikal terletak untuk memadam fail log atau mengalihkan fail log keluar dari direktori

Langkah 4:

Laksanakan pernyataan berikut dalam Penganalisis Pertanyaan:

exec sp_attach_single_file_db yourDBName,'

d:mssqldatayourDBName_data.mdf '

--Daftarkan DB sebagai satu fail Jika berjaya, MSSQL akan menjana fail log 500K secara automatik untuk DB ini.

Kaedah 3:

1 Masukkan pengurus perusahaan dan pilih pangkalan data, seperti demo

2. Semua tugas->Asingkan pangkalan data

3 Pergi ke direktori tempat fail pangkalan data disimpan dan padamkan fail MuOnline_log.LDF untuk berjaga-jaga, anda boleh menyalinnya

4. Pengurus Perusahaan -> Lampirkan pangkalan data, pilih muonline Pada masa ini, anda akan melihat bahawa item fail log adalah salib. Pada masa ini, pangkalan data akan meminta anda untuk membuat yang baru satu jika pangkalan data tidak mempunyai log.

5 Ingat bahawa pengguna perlu menetapkan semula selepas pangkalan data dilampirkan semula.

Jika anda tidak mahu ia menjadi lebih besar pada masa hadapan:

Digunakan di bawah SQL2000:

Klik kanan pada pangkalan data->Properties->Options->Failure Recovery-Model-Select-Simple Model.

Atau gunakan pernyataan SQL:

ubah nama pangkalan data set pemulihan mudah

Apa yang perlu dilakukan jika pangkalan data SQL terlalu besar

--1 pemampatan pangkalan data harian

--Mampatkan saiz fail log dan pangkalan data

/*--Perhatian istimewa

Sila ikut langkah Jika anda belum menyelesaikan langkah sebelum ini, sila jangan lakukan langkah berikut

Jika tidak, ia boleh merosakkan pangkalan data anda.

--*/

1.Kosongkan log

DUMP TRANSACTION nama perpustakaan TANPA_LOG

2. Potong log transaksi:

MACKUP LOG nama pangkalan data DENGAN NO_LOG

3. Kecilkan fail pangkalan data (jika tidak dimampatkan, fail pangkalan data tidak akan berkurangan

Pengurus Perusahaan--klik kanan pangkalan data yang ingin anda mampatkan--Semua tugas--Kecilkan pangkalan data--Kecilkan fail

--Pilih fail log--Dalam mod mengecut, pilih mengecut ke XXM akan ada bilangan minimum M yang dibenarkan untuk mengecilkan terus

--Pilih fail data--Dalam mod mengecut, pilih mengecut ke XXM akan ada bilangan minimum M yang dibenarkan untuk mengecilkan terus

Ia juga boleh dilakukan menggunakan pernyataan SQL

--Kecilkan pangkalan data

DBCC SHRINKDATABASE (Data Pelanggan)

--Kecilkan fail data yang ditentukan, 1 ialah nombor fail, yang boleh ditanya melalui pernyataan ini: pilih * daripada sysfiles

DBCC SHRINKFILE(1)

4 Untuk meminimumkan saiz fail log (jika sql 7.0, langkah ini hanya boleh dilakukan dalam penganalisis pertanyaan)

.

a. Pangkalan data berasingan:

Pengurus Perusahaan--Pelayan--Pangkalan Data--klik kanan--Alihkan Pangkalan Data

b. Padamkan fail LOG pada komputer saya

c. Pangkalan data tambahan:

Pengurus Perusahaan--Pelayan--Pangkalan Data--klik kanan--Lampirkan Pangkalan Data

Kaedah ini akan menghasilkan LOG baru, saiznya hanya melebihi 500K

atau gunakan kod:

Contoh di bawah memisahkan pub dan kemudian menambahkan fail daripada pub ke pelayan semasa.

a.Perpisahan

EXEC sp_detach_db @dbname = 'pub'

b. Padamkan fail log

c.Tambah lagi

EXEC sp_attach_single_file_db @dbname = 'pub',

@physname = 'c:Program FilesMicrosoft SQL ServerMSSQLDatapubs.mdf'

5 Untuk mengecut secara automatik pada masa hadapan, buat tetapan berikut:

Pengurus Perusahaan--Pelayan--klik kanan pangkalan data--Properties--Options--Pilih "Auto Shrink"

--Kaedah tetapan pernyataan SQL:

EXEC sp_dboption 'nama pangkalan data', 'autoshrink', 'TRUE'

6 Jika anda ingin mengelakkan kayu balak daripada membesar terlalu besar pada masa hadapan

Pengurus Perusahaan--Pelayan--Klik kanan Pangkalan Data--Properti--Log Transaksi

--Hadkan pertumbuhan fail kepada xM (x ialah saiz fail data maksimum yang anda benarkan)

--Kaedah tetapan pernyataan SQL:

ubah nama pangkalan data pangkalan data ubah suai fail(nama=nama fail logik, saiz maksimum=20)

Atas ialah kandungan terperinci Kaedah dan langkah untuk memampatkan fail log pangkalan data. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:docexcel.net. Jika ada pelanggaran, sila hubungi admin@php.cn Padam