Ellenőrzési pontok és a folyó aktív része

A vezérlőpontok elérésekor a módosított adatlapok az aktuális adatbázis puffertárából íródnak a lemezre. Ez minimalizálja a napló aktív részét, amelyet az adatbázis teljes visszaállítása esetén kell kezelni. Amikor az adatbázis teljes mértékben helyreáll, a következő műveleteket hajtja végre:

  • Rolling log változások, amelyeket nem mentettek a lemezre, amíg a rendszer leállt.
  • A függőben lévő tranzakciókhoz kapcsolódó összes változás visszaállítása, például azok a tranzakciók, amelyeknél a naplóban nincs COMMIT vagy ROLLBACK bejegyzés.

Az ellenőrzőpont a következőket hajtja végre az adatbázisban.

  • Egy bejegyzést ír le a naplófájlba, amely az ellenőrzőpont elejét jelzi.
  • Az ellenõrzõpontra rögzített adatokat az ellenőrzési pont log rekordláncában tárolja.
    Az ellenőrzőpont bejegyzéseiben regisztrált egyik adatelem az első naplóbejegyzés LSN-száma, amely hiányában a teljes adatbázis méretarányos sikeres visszaállítása lehetetlen. Ezt az LSN-számot minimális LSN helyreállítási számnak (MinLSN) hívják. A MinLSN szám a legkisebb:
    • Az ellenőrzési pont kezdetének LSN-száma;
    • A legrégebbi aktív tranzakció kezdetének LSN száma;
    • A legrégebbi replikációs tranzakció kezdetének LSN-száma, amelyet még nem adtak el a forgalmazói adatbázisba.
    Az ellenőrzőpont bejegyzések tartalmazzák az aktív tranzakciók listáját is, amelyek megváltoztatták az adatbázist.
  • Ha az adatbázis egy egyszerű helyreállítási modellt használ, jelzi a MinLSN számot megelőző hely újrafelhasználását.
  • Az összes megváltoztatott naplófájlt és adatot írja a lemezre.
  • Feljegyzéseket készít a naplófájlra, amely az ellenőrzőpont végét jelzi.
  • A megfelelő lánc LSN kezdőszámát írja az adatbázis letöltési oldalára.

Olyan tevékenységek, amelyek az ellenőrzési pontok kiváltásához vezetnek

A vezérlőpontok a következő helyzetekben kerülnek működésbe.

  • Amikor a CHECKPOINT utasítás kifejezetten végrehajtásra kerül. Az ellenőrzőpont az aktuális kapcsolati adatbázisban aktiválódik.
  • Ha minimális regisztrációs műveleteket hajt végre az adatbázisban, például egy részleges naplózási helyreállítási modell által lefedett adatbázissal kapcsolatos tömeges másolási műveletek végrehajtása során.
  • Az adatbázis fájlok hozzáadásával vagy törlésével az ALTER DATABASE utasítással.
  • Amikor leállítja az SQL Server példányát a SHUTDOWN utasítással vagy az SQL Server szolgáltatás leállításával (MSSQLSERVER). Mindkét esetben létrejön az SQL Server példány egyes adatbázisainak ellenőrzési pontja.
  • Ha az SQL Server példány rendszeresen létrehoz minden adatbázisban az automatikus vezérlőpontokat, hogy csökkentse az adatbázis visszaállításának idejét.
  • Amikor létrehoz egy biztonsági másolatot az adatbázisról.
  • Olyan művelet végrehajtásakor, amely megköveteli az adatbázis letiltását. Például az AUTO_CLOSE paraméter beállítása ON (Be), és a felhasználó utolsó kapcsolatának bezárása az adatbázisba, vagy az adatbázishoz szükséges újraindításhoz szükséges adatbázis-paraméter megváltoztatása.

Az SQL Server adatbázismotor komponense automatikusan létrehozza az ellenőrzőpontokat. Az automatikus ellenőrzőpontok közötti idő meghatározása a naplóban használt felhasználási terület és az utolsó ellenőrzőpont létrehozása óta eltelt idő alapján történik. Az automatikus vezérlőpontok közötti intervallum nagymértékben változik, és igen hosszú lehet, ha az adatbázis ritkán változik. Nagyobb adatváltozások esetén az automatikus vezérlési pontok gyakorisága sokkal magasabb lehet.

A helyreállítási intervallum kiszolgáló konfigurációs paraméterének segítségével kiszámíthatja az automatikus ellenőrzőpontok közötti időszakot a kiszolgáló példányban lévő összes adatbázis számára. A paraméter értéke meghatározza azt az időtartamot, ameddig az Adatbázis motorja visszaállítja az adatbázist, amikor a rendszer újraindul. Az Adatbázis-motor értékeli a naplóbejegyzések számát, amelyeket a visszaállítási időszak alatt a visszaállítási művelet során feldolgozhat.

Ezenkívül az automatikus ellenőrzőpontok közötti időtartam a helyreállítási modelltől függ, az alábbiak szerint.

  • Ha használja a teljes helyreállítási modell vagy modell tömeges bejelentkezve hasznosítás, az automatikus ellenőrzőpont jön létre minden alkalommal, amikor a szám naplóbejegyzés eléri a megadott értéket az adatbázis motor, mint egy határ a rekordok száma, hogy tudja kezelni a megadott ideig helyreállítási intervallumban.
  • Ha egyszerű adatbázis-helyreállítási modellt használ, akkor automatikusan létrehoz egy automatikus ellenőrzőpontot, amikor a napló bejegyzéseinek száma eléri a két határérték alsó értékét:
    • a folyóirat tele van 70 százalékkal;
    • a napló bejegyzéseinek száma eléri az Adatbázis Engine által megadott értéket, mint a rekordok számát, amelyet feldolgozhat a helyreállítási intervallum paraméterben megadott idő alatt.

Ha egyszerű adatbázis-helyreállítási modellt használ, amikor egy automatikus ellenőrzőpontot indít, akkor a tranzakciónapló nem használt része törlődik. Azonban, amikor a teljes helyreállítási modell vagy helyreállítási modell tömeges bejelentkezve magazin eredményeként az önműködő ellenőrző pontok nem csonka. További információ: Tranzakciónapló lecsökkenése.

A CHECKPOINT utasítás most támogatja az opcionális checkpoint_duration argumentumot. Ez az idő (másodpercben), amelyet a vezérlő pontok a teljesítéshez rendeltek. További információ: CHECKPOINT (Transact-SQL).

Része a magazin, kezdve számos MinLSN és befejezve az utolsó rekord az úgynevezett aktív része a magazin, vagy az aktív. A napló e szakasza teljes adatbázis-visszaállításhoz szükséges. Az aktív napló egyetlen része sem csonkolható le. A MinLSN-szám minden naplóját el kell távolítani a napló részeitől.

Az alábbi ábra egy tranzakció befejező napló egyszerűsített diagramját mutatja, amely két aktív tranzakciót tartalmaz. Az ellenőrzőpont bejegyzéseit egyetlen bejegyzésbe tömörítették.

Az utolsó bejegyzés a tranzakciós napló egy rekordot LSN száma megegyezik 148. Abban az időben a feldolgozás a rögzített ellenőrzőpont LSN száma 147 tranzakció 1 már rögzített és az egyetlen aktív művelet nem 2. Ennek eredményeként az első naplóbejegyzés jön létre az ügylet 2. válik a legrégebbi rekord aktív tranzakció az utolsó ellenőrző pont időpontjában. Így a MinLSN-szám az LSN-szám lesz, amely egyenlő a 142-vel, és megfelel a 2. tranzakció kezdetének rekordának.

Az aktív naplónak tartalmaznia kell az összes le nem kötött tranzakció összes elemét. Olyan alkalmazás, amely kezdeményezi a tranzakciót, és nem hajtja végre vagy visszavonja azt, megakadályozza, hogy az Adatbázis-motor növelje a MinLSN-t. Ez kétféle problémához vezethet.

  • Ha a rendszer ki lesz kapcsolva a tranzakció után, sokan nem kötött változások, a helyreállítási szakasz alatt végeztük a következő újraindítás sokkal tovább tarthat, mint a megadott paraméter helyreállítási intervallumban.
  • A napló nagyon nagy mennyiséget érhet el, mert a MinLSN szám után nem lehet csonkolni. Ez akkor is igaz, ha egy egyszerű helyreállítási modellt alkalmaznak, amikor a tranzakciós napló általában minden automatikus ellenőrzőpontnál csonkolódik.

Log Reader Agent figyeli a tranzakciós napló minden adatbázis konfigurált tranzakciós replikáció és másolatokat az ügyletek jelölve replikációs ügyleti jegyzőkönyv az elosztó tárol. Az aktív naplónak tartalmaznia kell a replikációra kijelölt tranzakciókat, de még nem továbbítják a disztribútori adatbázisba. Ha ezek a tranzakciók ésszerű időn belül nem replikálódnak, előfordulhat, hogy a napló törlése nem lehetséges. További információért lásd: A tranzakciós replikáció működése.