602SQL-┌plnß dokumentace Index   Tisk  

Kontrola konzistence databßze

SQL server m∙₧e provΘst kontrolu vnit°nφ konzistence databßze, nad nφ₧ pracuje. P°itom odhaluje chyby ve struktu°e databßzovΘho souboru.

Kontrola konzistence databßze nezahrnuje kontrolu integritnφch omezenφ definovan²ch pro databßzovΘ tabulky.

Provßd∞nφ kontroly konzistence nem∙₧e probφhat soub∞₧n∞ se zpracovßnφm jin²ch po₧adavk∙. ╪eÜenφ takov²ch konflikt∙ je popsßno dßle.

Druhy chyb v konzistenci

Chyby konzistence databßze lze rozd∞lit do dvou skupin:

Prvnφ skupina chyb je neÜkodnß, pouze sni₧uje efektivitu vyu₧itφ mφsta na disku. Tyto chyby mohou vzniknout v₧dy, kdy₧ SQL server nenφ korektn∞ ukonΦen.

Druhß skupina chyb znamenß, ₧e urΦitß Φßst dat ulo₧en²ch v databßzi nenφ p°φstupnß nebo je p°epsßna. TakovΘ chyby mohou vzniknout, pokud poΦφtaΦ, na n∞m₧ b∞₧φ SQL server, havaruje b∞hem uzavφrßnφ transakce, a zßrove≥ nenφ zapnuto jiÜt∞nφ transakcφ nebo je zapnuto odlo₧enΘ zapisovßnφ zm∞n na disk.

Pokud se p°i kontrole konzistence nalezne poÜkozenφ dat v databßzi, informace o zasa₧en²ch tabulkßch se vypφÜou do zßkladnφho logu serveru.

Explicitnφ vyvolßnφ kontroly konzistence

Kontrola konzistence se provßdφ bu∩ z ╪φdicφ konzole pro vybran² SQL server, strßnka Nßstroje / Konzistence databßze nebo ji m∙₧e takΘ vyvolat klient p°ihlßÜen² jako konfiguraΦnφ sprßvce pomocφ funkce (cd_)Database_integrity.

Kontrola konzistence se nespustφ a funkce vrßtφ chybu, pokud ve stejnΘm okam₧iku server zpracovßvß po₧adavek jinΘho klienta, pokud b∞₧φ samostatnΘ vlßkno, pokud se provßdφ replikaΦnφ akce nebo pokud se provßdφ jinß kontrola konzistence.

Pokud b∞hem explicitn∞ vyvolanΘ kontroly konzistence p°ijde nov² po₧adavek od n∞kterΘho klienta, vrßtφ se s chybou. Pokud se rozb∞hne samostatnΘ vlßkno nebo replikaΦnφ akce, budou pozdr₧eny do dokonΦenφ kontroly konzistence.

AutomatickΘ provßd∞nφ periodick²ch kontrol konzistence

SQL server m∙₧e provßd∞t kontroly konzistence databßze automaticky v zadan²ch Φasov²ch intervalech. Pokud vlastnost IntegrCheckInterv mß nenulovou hodnotu, pak udßvß poΦet sekund mezi kontrolami integrity. Je-li vlastnost nulovß nebo nenφ-li definovanß, pak se automatickΘ kontroly neprovßd∞jφ.

Interval pro zahßjenφ automatickΘ kontroly se poΦφtß od startu serveru nebo od poslednφ dokonΦenΘ kontroly konzistence, p°iΦem₧ se berou v ·vahu kontroly spuÜt∞nΘ automaticky i explicitn∞.

Pokud uplyne interval pro zahßjenφ automatickΘ kontroly a server prßv∞ zpracovßvß po₧adavek klienta, b∞₧φ samostatnΘ vlßkno, nebo se provßdφ replikaΦnφ akce, kontrola se pozdr₧φ.

Pokud b∞hem provßd∞nφ automatickΘ kontroly p°ijde po₧adavek klienta nebo se rozb∞hne samostatnΘ vlßkno, je kontrola zruÜena a pozd∞ji se spustφ znovu od zaΦßtku. Pokud se b∞hem provßd∞nφ kontroly mß rozb∞hnout replikaΦnφ akce, pozdr₧φ se do dokonΦenφ kontroly.

Pokud automatickß kontrola odhalφ v databßzi chybu, kterß znamenß poÜkozenφ dat, zapφÜe zprßvu do zßkladnφho logu serveru.