Prettylib-tuoteratkaisut - Wiki

Transact log -tiedoston kutistaminen

Ennen näitä komentoja on syytä tehdä varmuuskopio tietokannasta. Komentojen suorittamisen jälkeen kannattaa tehdä toinen varmuuskopio. Alla kaksi vaihtoehtoista menetelmää, jommankumman suorittaminen riittää.

Menetelmä 1

Käytä tätä mikäli tietokannan "recovery mode" on FULL (kts. tämän artikkelin lopusta ohje, jos et tiedä). Tee tämä vain mikäli tiedät mitä olet tekemässä.

  • Avaa SQL Server management Studio
  • Kirjaudu sisään
  • Katso minkä niminen kutistettava tietokanta on. Yleensä se on "PrettyLib", mutta voi olla myös muun niminen.
  • Valitse työkalupalkista "New Query"
  • Valitse työkalupakin tietokannan nimen valinnasta tietokannaksi se tietokanta, jota haluat kutistaa. Oletuksena tuossa valinnassa lukee "master", vaihda se.
  • Suorita alla oleva komento. MUUTA allaolevasta "tietokannannimi" tietokannan oikeaksi nimeksi, mikäli se ei ole Prettylib. Hakasulkeet kuuluvat alla olevaan komentoon, älä poista niitä:


ALTER DATABASE [tietokannannimi] SET RECOVERY SIMPLE


  • Suorita seuraava komento:


DBCC SHRINKFILE ('PrettyLib_Log', 50, TRUNCATEONLY)


  • Suorita seuraava komento:


ALTER DATABASE [tietokannannimi] SET RECOVERY FULL


Tietokannan lokitiedoston pitäisi olla nyt n. 50 Mt kokoinen.

Menetelmä 2

Suorita komento (Esimerkissä tietokannan nimenä 'PrettyLib', jos käytät jonkun muun nimistä tietokantaa, muuta komennosta PrettyLib tämän muun tietokannan nimeksi):

BACKUP LOG PrettyLib WITH TRUNCATE_ONLY


Tämän jälkeen suorita komento (50 tarkoittaa megatavuina jäljelle jäävän tietokannan lokitiedoston kokoa):

DBCC SHRINKFILE ('PrettyLib_Log', 50, TRUNCATEONLY)


Jälkimmäinen komento suoritetaan silloin kun on otettu yhteys (tai käytetty sql query analyserissa USE PrettyLib'-komentoa) kyseiseen tietokantaan. Komentoa ei voi suorittaa kun avattu tietokanta on esimerkiksi 'master'.

Tietokannan Recovery moden selvittäminen

  • Avaa SQL Server management studio.
  • Kirjaudu sisään.
  • Laajenna vasemmasta reunasta kohta "Databases".
  • Klikkaa hiiren valikkopainikkeella tietokannan nimen päällä.
  • Valitse "Properties".
  • Valitse avautuvasta ikkunasta vasemmasta reunasta "Options".
  • Katso kohtaa "Recovery Model". Onko se Simple vai Full?

Simple recovery

Tämä tarkoittaa yksinkertaistetuna sitä, että tietokannan varmuuskopioita ei voi palauttaa ajassa tiettyyn täsmälliseen hetkeen. Tiettyyn täsmälliseen hetkeen palauttaminen vaatii ns. transactlog varmuuskopiot, mutta tässä "recovery model" vaihtoehdossa tätä ei tallenneta. Transact log kyllä kasvaa vaikka tietokanta olisikin tässä muodossa. Tällöin kasvu johtuu kesken olevista tapahtumista yms. tilapäisistä tapahtumista.

Full recovery

Tässä muodossa oleva tietokanta on mahdollista palauttaa tiettyyn täsmälliseen hetkeen ajassa, mikäli on olemassa transact-lokin varmuuskopiot. Tässä muodossa olevassa tietokannassa transact-lokeista PITÄÄ ottaa erilliset omat varmuuskopiot, muutoin tietokannan transactlog-tiedosto kasvaa rajattomasti ajan kanssa.