SQL-tapahtumakirjatiedostot voivat kasvuunut huomattavasti ajan kuluessa, kuluttamalla levytilaa ja aiheuttaen potentiaalisesti suorituskyvyn heikkenemisen. Tämä opas näyttää, miten voit turvallisesti pienentää SQL Serverin tapahtumakirjatiedostoja tallennustilan vapauttamiseksi ja optimaalisen järjestelmän suorituskyvyn ylläpitämiseksi.

Tausta

Kun käytät SQL Serveria iBasen kanssa, luodaan kaksi SQL-tietokantaa – yksi datalle ja toinen lokille. SQL-palvelin luo tapahtumakirjatiedoston jokaista tietokantaa varten. Vaikka tämä tapahtumakirjatiedosto on sisäinen SQL Serverin komponentti, se ei vaikuta iBaselle suoraan, mutta sen koko voi kasvuunut huomattavasti ja aiheuttaa häiriöitä.

Ongelmia kuten viivästyneet iBasen vastausajat tai virhetiedotteet riittämättömästä levyn vapaasta tilasta saattavat ilmestyä, kun tapahtumakirjatiedostot ovat liian suuria. Tämä tapahtuu tyypillisesti siksi, että tietokannan palautustila on oletuksena asetettu arvoon "Koko", mikä estää automaattisen tapahtumakirjatiedoston puhdistamisen.

Ympäristö

SQL Serverin tallennus

Miten tunnistaa ongelman

Windowsissa siirry tietokantatiedostojen sisältävään kansioon. Etsi tiedostoja, joiden laajennus on .ldf, ja arvioi niiden kokoja. Jos nämä tiedostot näyttävät huomattavasti suureilta (useat gigatavua tai enemmän), harkitse vähenemisen toimenpiteitä.

Miten pienentää SQL-tapahtumakirjatiedosto

  1. Vaihe 1: Avaa tietokannan ominaisuudet

    SQL Server Management Studiossa hiiren oikealla painamalla tietokantaa valitse Ominaisuudet, sitten valitse Asetukset.

  2. Vaihe 2: Muuta palautustilaan Yksinkertainen

    Varmista, että "Palautustila" on asetettu arvoon "Yksinkertainen" (ei "Koko") ja napsauta OK.

    Huomio: Tämä väliaikaisesti poistaa tapahtumakirjan varmuuskopiointin. Palautat tämän asetuksen pienentämisen jälkeen.

  3. Vaihe 3: Siirry tiedostojen pienennysvalikkoon

    Hiiren oikealla painamalla tietokantaa uudelleen, valitse Työt > Pienennä > Tiedostot.

  4. Vaihe 4: Valitse tapahtumakirjatiedoston tyyppi

    Valikkossa muuta tiedostotyypin pudotusvalikosta arvoon "Loki".

  5. Vaihe 5: Aseta kohdekoko ja pienennä

    Aseta tapahtumakirjatiedoston kokoon 100 Mt (tai sopiva koko tarpeidesi mukaan) ja napsauta OK.

  6. Vaihe 6: Varmista kooston pienentyminen

    Selaa tietokantakansiota ja tarkista .ldf-tiedoston koko varmistaaksesi pienennyksen.

  7. Vaihe 7: Palauta palautustilaan Koko

    Palaa tietokannan Ominaisuudet > Asetukset ja muuta "Palautustila" takaisin arvoon "Koko". Napsauta OK.

    Tärkeää: Tämä vaihe palauttaa normaalit varmuuskopioinnin ja palautustoimintojen toiminnallisuuden.

Vaihtoehto: SQL-komentojen käyttö

Voit myös suorittaa nämä vaiheet SQL-komennoilla:

-- Aseta palautustilaan Yksinkertainen
ALTER DATABASE mydatabase SET RECOVERY SIMPLE
GO

-- Pienennä tapahtumakirjatiedosto
DBCC SHRINKFILE (mydatabase_Log, 1)
GO

-- Palauta palautustilaan Koko
ALTER DATABASE mydatabase SET RECOVERY FULL
GO

Varoitus: Korvaa mydatabase oikealla tietokannasi nimellä ja mydatabase_Log tapahtumakirjatiedoston loigalisella nimellä (se on näkyvissä tiedostojen pienennysvalikossa).

Yleisiä ongelmia

  • Tapahtumakirja ei pienene: Varmista, että aktiivisia tapahtumia ei ole käynnissä. Voit joutua suorittamaan CHECKPOINT-komennon pienentämisen ennen.
  • Tiedosto kasvaa takaisin nopeasti: Jos tapahtumakirjatiedosto tulee suureksi uudelleen pian pienentämisen jälkeen, harkitse säännöllisten tapahtumakirjan varmuuskopiointien ajoa (Koko palautustilassa) tai tutki kyselyjä, jotka aiheuttavat liian paljon tapahtumakirjatoimintaa.
  • Riittämättömät käyttöoikeudet: Sinulla on tarvittava db_owner- tai sysadmin-oikeuksia palautustilojen muuttamiseksi ja tiedostojen pienentämiseksi.