Artikkelin tunnus: 873235 - Näytä tuotteet, joita tämä artikkeli koskee.
Laajenna kaikki | Kutista kaikki

Tällä sivulla

JOHDANTO

Tässä artikkelissa on kuvaus toimenpiteistä, jotka on tehtävä, kun tapahtumalokit kasvavat liian suuriksi. Täydet tapahtumalokit voivat tehdä Microsoft SQL Server -tietokannasta käyttökelvottoman. Tässä artikkelissa on kuvaus siitä, miten tapahtumalokeja voi rajata ja kutistaa ja miten niiden odottamaton kasvu voidaan estää.

Enemmän tietoa

Tapahtumalokin koon pienentäminen

Jos tapahtumalokit täyttyvät, tilanteesta palautuminen edellyttää tapahtumalokien koon pienentämistä. Tämä edellyttää, että tapahtumalokien passiivisten tapahtumien kokoa rajataan ja että tapahtumalokitiedostoa kutistetaan.

Huomautus Tapahtumalokit ovat erittäin tärkeitä tietokannan toiminnallisen eheyden ylläpitämiseksi. Siksi tapahtumalokitiedostoja ei saa poistaa, vaikka tietokannasta ja tapahtumalokeista tehtäisiin varmuuskopio.


Lisätietoja tapahtumalokin koon pienentämisestä on seuraavassa Microsoftin verkkosivustossa:
SQL Server 2000:n tapahtumalokin kutistaminen
SQL Server 2005:n tapahtumalokin kutistaminen

Tapahtumalokin passiivisten tapahtumien koon rajaaminen

Kun tapahtumalokit ovat täynnä, tapahtumalokitiedosto on varmuuskopioitava heti. Kun tapahtumalokitiedostoista luodaan varmuuskopiota, SQL Server rajaa tapahtumalokin passiivisen osan kokoa automaattisesti. Tapahtumalokitiedoston passiivinen osa sisältää valmiit tapahtumat, ja siksi SQL Server ei käytä sitä enää palautusprosessin aikana. SQL Server käyttää tätä tapahtumalokin rajattua, passiivista tilaa uudelleen sen sijaan, että se antaisi tapahtumalokin kasvaa ja viedä yhä enemmän tilaa.

Lisätietoja tapahtumalokien varmuuskopion luomiseen ja sen palauttamiseen liittyvistä ongelmista on seuraavissa SQL Server Books Online -ohjeaiheissa:
  • Tapahtumalokien varmuuskopiot
  • Tapahtumalokin varmuuskopiointi ja palautus
Voit poistaa passiiviset tapahtumat tapahtumalokitiedostosta myös Katkaise-menetelmällä. Lisätietoja tapahtumalokien katkaisemisesta on SQL Server Books Online -ohjeaiheessa, jossa käsitellään tapahtumalokien katkaisemista.

Tärkeää Kun olet katkaissut tapahtumalokitiedostot manuaalisesti, sinun on luotava täysi tietokannan varmuuskopio, ennen kuin luot tapahtumalokin varmuuskopion.

Saat lisätietoja tunnetuista ongelmista, joita saattaa ilmetä tapahtumalokitiedostoja katkaistaessa, napsauttamalla seuraavaa artikkelin numeroa, jolloin pääset lukemaan artikkelin Microsoft Knowledge Base -tietokannassa:
62866 Syitä, miksi SQL-tapahtumalokia ei katkaista (Tämä artikkeli saattaa olla englanninkielinen)

Tapahtumalokitiedoston kutistaminen

Varmuuskopiointitoiminto tai Katkaise-menetelmä ei pienennä lokitiedoston kokoa. Voit pienentää tapahtumalokitiedoston kokoa kutistamalla tapahtumalokitiedoston. Tapahtumalokitiedoston kutistaminen pyydettyyn kokoon ja käyttämättömien sivujen poistaminen edellyttää DBCC SHRINKFILE -toiminnon käyttämistä. DBCC SHRINKFILE Transact-SQL -lause voi kutistaa vain lokitiedostossa olevan passiivisen osan.

Huomautus DBCC SHRINKFILE Transact-SQL -lause ei voi rajata lokin kokoa eikä kutistaa lokitiedoston sisällä olevaa käytettyä tilaa itsekseen.

Lisätietoja tapahtumalokitiedostojen kutistamisesta on seuraavissa SQL Server Books Online -ohjeaiheissa:
  • Tapahtumalokin kutistaminen
  • DBCC SHRINKFILE
Saat lisätietoja tapahtumalokitiedostojen kutistamisesta SQL Server 2000:ssa napsauttamalla seuraavaa artikkelin numeroa, jolloin pääset lukemaan artikkelin Microsoft Knowledge Base -tietokannassa:
272318 Tapahtumalokin kutistaminen SQL Server 2000:ssa DBCC SHRINKFILE -lauseella (Tämä artikkeli saattaa olla englanninkielinen)
Saat lisätietoja tunnetuista ongelmista, joita saattaa ilmetä tapahtumalokitiedostoja kutistettaessa, napsauttamalla seuraavia artikkelien numeroita, jolloin pääset lukemaan artikkelit Microsoft Knowledge Base -tietokannassa:
814574 Ongelma: Virhesanoma: "Lokitiedoston kutistaminen ei onnistu..." tapahtumalokitiedostoa kutistettaessa (Tämä artikkeli saattaa olla englanninkielinen)
324432 Ongelma: DBCC SHRINKFILE- ja SHRINKDATABASE-komennot eivät ehkä toimi harvaan täytettyjen teksti-, nteksti- ja kuvasarakkeiden vuoksi (Tämä artikkeli saattaa olla englanninkielinen)

Tapahtumalokitiedostojen odottamattoman kasvun estäminen

Voit estää tapahtumalokitiedostoja kasvamasta odottamattomalla tavalla toimimalla jollakin seuraavista tavoista:
  • Määritä tapahtumalokitiedostojen kokoarvo suureksi, jotta niitä ei voida laajentaa automaattisesti.
  • Määritä tapahtumalokitiedostojen automaattinen laajennus käyttämällä prosenttiarvon sijaan muistiyksikköjä sen jälkeen, kun olet arvioinut optimaalisen muistin koon perusteellisesti.

    Saat lisätietoja automaattisen kasvuasetuksen määrittämisessä huomioitavista ongelmista napsauttamalla alla olevaa artikkelin numeroa, jolloin pääset lukemaan artikkelin Microsoft Knowledge Base -tietokannassa:
    315512 Automaattisen kasvun ja kutistamisen määrittämisessä huomioitavaa (Tämä artikkeli saattaa olla englanninkielinen)
  • Vaihda palautusmalli. Vakavan virheen tai tietojen vioittumisen ilmetessä tietokanta on palautettava siten, että tietojen yhtenäisyys ja tietokannan toiminnallinen eheys ylläpidetään. Tietokannan tietojen tärkeys määrittää, mitä palautusmalleja voit käyttää tietojen varmuuskopiointitavan ja tietohävikkimahdollisuuden erittelemiseen:
    • Yksinkertainen palautusmalli
    • Täyden palautuksen malli
    • Joukkokirjattu palautusmalli
    Yksinkertaista palautusmallia käyttämällä voit palauttaa tietokannan uusimman tietokannan varmuuskopion mukaiseksi. Täyden palautuksen mallia tai joukkokirjattua palautusmallia käyttämällä voit palauttaa tietokannan pisteeseen, jossa virhe ilmeni, palauttamalla tietokannan tapahtumalokitiedostovarmuuskopioilla.

    Oletusarvon mukaan SQL Server 2000:ssa ja SQL Server 2005:ssä SQL Server -tietokannan palautusmalliksi määritetään täyden palautuksen malli. Täyden palautuksen mallia käytettäessä tapahtumalokin säännölliset varmuuskopiot estävät tapahtumalokien kokoa kasvamasta liian suureksi tietokannan kokoon nähden. Jos tapahtumalokia ei kuitenkaan varmuuskopioida säännöllisesti, tapahtumalokitiedosto kasvaa ja täyttää levyn, etkä ehkä voi muokata tietoja SQL Server -tietokannassa.

    Voit vaihtaa palautusmallin täydestä yksinkertaiseksi, jos et halua käyttää tapahtumalokitiedostoja vakavasta virheestä palauttamisen yhteydessä.
  • Varmuuskopioi tapahtumalokitiedostot säännöllisesti poistamalla passiiviset tapahtumat tapahtumalokista.
  • Suunnittele tapahtumat siten, että niistä tulee pieniä.
  • Varmista, ettei vahvistamattomien tapahtumien suorittamista jatketa loputtomiin.
  • Ajoita Päivitä tilastot -asetus päivittäiseksi.
  • Jos haluat eheyttää indeksit tuotantoympäristön kuormitusten käsittelyn parantamiseksi, käytä DBCC INDEXDEFRAG Transact-SQL -lausetta DBCC DBREINDEX Transact-SQL -lauseen sijaan. Jos suoritat DBCC DBREINDEX -lauseen, tapahtumaloki saattaa laajentua merkittävästi, kun SQL Server -tietokanta on täyden palautuksen tilassa. Lisäksi DBCC INDEXDEGRAG -lause ei pidä lukituksia voimassa pitkään, toisin kuin DBCC DBREINDEX -lause.

    Lisätietoja SQL Server 2000:n indeksien eheyttämisestä on seuraavassa Microsoftin WWW-sivustossa:
    Microsoft SQL Server 2000 -indeksin eheyttämisen parhaat käytännöt
    Jos DBCC DBREINDEX -lause on suoritettava työnä, joka on osa tietokannan ylläpitosuunnitelmaa, työ on hajautettava useisiin osiin. Lisäksi tapahtumalokit on varmuuskopioitava usein töiden suorittamisen välillä.

Lisätietoja tapahtumalokitiedostoista

Kussakin SQL Server 2000- ja SQL Server 2005 -tietokannassa on vähintään yksi datatiedosto ja yksi tapahtumalokitiedosto. SQL Server tallentaa tiedot fyysisesti datatiedostoon. Tapahtumalokitiedosto tallentaa kaikkien SQL Server -tietokannan muokkausten tiedot ja muokkauksia suorittaneiden tapahtumien tiedot. Koska toiminnallinen eheys on osa SQL Serverin perustoimintaa ja sen sisäinen ominaisuus, tapahtumien tietojen kirjaamista ei voi poistaa käytöstä SQL Server -palvelimessa.

Tapahtumalokitiedosto jaetaan loogisesti pieniin segmentteihin, joita kutsutaan näennäislokitiedostoiksi. SQL Server 2000:ssa tapahtumalokitiedosto voidaan määrittää laajennettavaksi tarpeen mukaan. Käyttäjä voi valvoa tapahtumalokin laajentamista tai se voidaan määrittää käyttämään kaikki käytettävissä oleva levytila. Kaikki muutokset, joita SQL Server tekee tapahtumalokitiedoston kokoon, kuten tapahtumalokitiedostojen katkaisut tai niiden kasvattaminen, suoritetaan näennäislokitiedostoyksikköinä.

Jos SQL Server -tietokantaa vastaava tapahtumalokitiedosto täyttyy ja olet ottanut tapahtumalokitiedostojen automaattisen kasvuasetuksen käyttöön, tapahtumalokitiedosto kasvaa näennäislokitiedostoyksikköinä. Tapahtumalokitiedosto saattaa joskus kasvaa erittäin suureksi ja levytila saattaa loppua. Kun tapahtumalokitiedosto kasvaa niin suureksi, että se käyttää kaiken käytettävissä olevan levytilan eikä voi laajentua enempää, et voi enää muokata tietokannan tietoja. Lisäksi SQL Server saattaa merkitä tietokannan epäilyttäväksi, koska tapahtumalokin laajentumiselle ei ole tilaa.

Saat lisätietoja tunnetuista tilanteista, jotka saattavat aiheuttaa tapahtumalokitiedoston odottamattoman kasvun, napsauttamalla seuraavaa artikkelin numeroa, jolloin pääset lukemaan artikkelin Microsoft Knowledge Base -tietokannassa:
317375 Tapahtumaloki kasvaa odottamatta tai täyttyy SQL Server -palvelimessa (Tämä artikkeli saattaa olla englanninkielinen)

Suositukset

Lisätietoja lisälevytilavaatimuksen vianmäärityksestä on SQL Server Books Online -ohjeaiheessa, jossa käsitellään puutteellista levytilaa. Lisätietoja tapahtumalokiarkkitehtuurista on seuraavissa SQL Server Books Online -ohjeaiheissa:
  • Tapahtumalokiarkkitehtuuri
  • Tapahtumalokien looginen arkkitehtuuri
  • Tapahtumalokien fyysinen arkkitehtuuri
Lisätietoja SQL Server 2000:n palautusmalleista on seuraavissa SQL Server Books Online -ohjeaiheissa:
  • Palautusmallin valitseminen
  • Yksinkertainen palautus
  • Täysi palautus
  • Joukkokirjattu palautus
  • Palautusmallien vaihtaminen

Huomautus Tämä on niin sanottu nopeasti julkaistava (?fast publish?) artikkeli, joka on laadittu suoraan Microsoftin tukiorganisaatiossa. Tässä olevat tiedot toimitetaan sellaisenaan vastauksena esiin tulleisiin ongelmiin. Koska aineisto on tuotu saataville nopeasti, se saattaa sisältää painovirheitä ja tietoja saatetaan muokata milloin tahansa ilman erillistä ilmoitusta. Lue muut huomioon otettavat seikat käyttöehdoista.

Ominaisuudet

Artikkelin tunnus: 873235 - Viimeisin tarkistus: 29. helmikuuta 2012 - Versio: 2.0
Artikkelin tiedot koskevat seuraavia tuotteita:
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Express Edition
  • Microsoft SQL Server 2005 Workgroup Edition
Hakusanat: 
kbsqlsetup kbdiskmemory kbdisasterrec kbhowto kbconfig kbinfo kbcip KB873235

Anna palautetta

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com