Pufferkészlet-bővítmény

A következőkre vonatkozik:SQL Server Windows rendszeren

A pufferkészlet bővítmény integrálja az SSD-tárolót a Database Engine pufferkészlettel az adatbázis teljesítményének javítása érdekében anélkül, hogy magas memóriaköltséget eredményez.

A pufferkészlet bővítmény nem érhető el minden SQL Server-kiadásban. További információ: Az SQL Server 2025 kiadásai és támogatott funkciói.

A pufferkészlet bővítmény előnyei

Mivel a lemez I/O-műveleteinek befejezése viszonylag hosszú időt vehet igénybe, számos munkaterhelésben teljesítménybeli szűk keresztmetszetet jelentenek.

A lemez I/O-jának csökkentésének tipikus módszere, ha több memóriát ad hozzá az adatgyorsítótárként való használathoz. Bár hasznos, ennek a megközelítésnek a hátránya a magas memóriaköltség.

A pufferkészlet bővítmény funkciója kibővíti a pufferkészlet gyorsítótárát nemvolatilis tárolókkal, például helyi SSD-meghajtókkal. Ezzel a bővítménnyel a pufferkészlet nagyobb adatbázis-munkakészletet képes befogadni, és a lassabb távoli I/O jelentős részét lecseréli a gyorsabb helyi SSD I/O-ra. Az SSD-k kisebb késése és jobb I/O-teljesítménye miatt a pufferkészlet-bővítmény javíthatja a teljesítményt, különösen a lassabb távoli I/O-rendszerek esetében.

Az alábbi lista a pufferkészlet bővítményének előnyeit ismerteti.

  • Nagyobb I/O-átviteli sebesség
  • Csökkentett I/O-késés
  • Tranzakció átviteli sebességének növelése
  • Jobb olvasási teljesítmény nagyobb hibrid pufferkészlettel
  • Gyorsítótárazási architektúra, amely kihasználhatja a jelenlegi és jövőbeli alacsony költségű memóriameghajtókat

A pufferkészlet bővítményének fogalmai

A pufferkészlet bővítmény funkcióra az alábbi feltételek vonatkoznak.

Kifejezés Leírás
puffer A Database Engine a puffer egy 8 KB-os memórialap, amely ugyanolyan méretű, mint egy adat- vagy indexlap. Így a puffermemória gyorsítótára 8 KB-os oldalakra van felosztva. Egy lap a puffergyorsítótárban marad, amíg a pufferkezelőnek szüksége van a pufferterületre további adatok olvasásához. Az adatok csak akkor lesznek visszaírva a lemezre, ha módosultak. Ezeket a memóriabeli módosított lapokat piszkos lapoknak nevezzük. A lap tiszta, ha az egyenértékű a lemezen lévő adatbázis-lemezképével. A puffergyorsítótárban lévő adatok többször módosíthatók, mielőtt visszaírták őket a lemezre.
Pufferkészlet Másik nevén puffergyorsítótár. Minden adatbázis globális erőforrásként használja a pufferkészletet a gyorsítótárazott adatlapokon. Az indítási folyamat vagy sp_configure dinamikusan újrakonfigurálja a Database Engine-példányt a pufferkészlet gyorsítótárának maximális és minimális méretének meghatározásához. Ez a méret határozza meg, hogy egy példány hány oldalt gyorsítótárazhat a pufferkészletben.

A külső memóriaterhelés csökkentheti a pufferkészlet méretét, és korlátozhatja a pufferkészlet-bővítmény gyorsítótárazható memóriáját.
Ellenőrzőpont Az ellenőrzőpontok létrehoznak egy ismert hasznos pontot, amelyből az adatbázismotor megkezdheti a tranzakciónaplóban található módosítások alkalmazását a helyreállítás során egy váratlan leállítás vagy összeomlás után. Az ellenőrzőpont a piszkos oldalakat és a tranzakciónapló adatait írja a memóriából a lemezre. További információ: Adatbázis-ellenőrzőpontok (SQL Server).

Pufferkészlet bővítményarchitektúrája

Pufferkészlet-bővítmény használatával az SSD-tárolót a memóriaalrendszer bővítményeként használhatja, nem pedig a lemezalrendszer egy részét. A pufferkészletbővítményfájl lehetővé teszi, hogy a pufferkészlet-kezelő a DRAM és a NAND flash memóriát is használva sokkal nagyobb pufferkészletet tartson fenn az SSD-ken található oldalakból.

Ez az architektúra egy többszintű gyorsítótárazási hierarchiát hoz létre, ahol az 1. szint (L1) a DRAM, a 2. szint (L2) pedig az SSD-n található pufferkészlet-bővítmény fájlja. A rendszer csak tiszta oldalakat ír az L2-gyorsítótárba, ami segít az adatok biztonságának fenntartásában. A pufferkezelő kezeli a tiszta lapok L1 és L2 gyorsítótárak közötti mozgását.

Az alábbi ábra magas szintű architekturális áttekintést nyújt a pufferkészletről más Database Engine összetevőkhöz képest.

SSD pufferkészlet bővítményarchitektúrájának diagramja.

A pufferkészlet bővítményének engedélyezésekor meg kell adnia a pufferkészlet gyorsítótárazási fájljának méretét és elérési útját az SSD-n. Ez a fájl az SSD egybefüggő tárhelye, és statikusan van konfigurálva a Database Engine példány indításakor. A fájlkonfigurációs paramétereket csak akkor módosíthatja, ha a pufferkészlet bővítményfunkciója le van tiltva. Ha letiltja a pufferkészlet bővítményét, a rendszer eltávolítja az összes kapcsolódó konfigurációs beállítást a beállításjegyzékből. A rendszer Database Engine leállításkor törli a pufferkészlet bővítményfájlt.

Pufferkészlet bővítménykonfigurációja

A pufferkészlet bővítményének konfigurálására használható ALTER SERVER CONFIGURATION .

A rendszer az indításkor figyelembe veszi a Database Engine példány számára elérhető fizikai memóriát a pufferkészlet minimális és maximális méretének kikényszerítéséhez.

Maximális méret

A pufferkészlet bővítményének maximális mérete a SQL Server kiadástól függ, és a fizikai és virtuális gépek esetében eltérő.

Ha olyan méretet konfigurál, amely meghaladja a maximális értéket, a Database Engine a 864-es hibát adja vissza, és nem engedélyezi a pufferkészlet bővítményét.

  • SQL Server Enterprise, Enterprise Developer és Developer kiadások legfeljebb a fizikai memória 32-szeresét támogatják.

  • A SQL Server Standard és Standard Developer kiadásai fizikai gépeken akár a fizikai memória négyszeresét is támogatják.

    • Legfeljebb 512 GB SQL Server 2022 -ben (16.x) és korábbi verziókban.

    • A 2025 SQL Server-ös (17.x) és újabb verziókban legfeljebb 1 TB lehet.

  • SQL Server virtuális gépek standard és standard fejlesztői kiadásai a fizikai memória akár 16-szorosát is támogatják.

További információ: Az SQL Server 2025 kiadásai és támogatott funkciói.

Minimális méret

A pufferkészlet-bővítmény méretének nagyobbnak kell lennie, mint a fizikai memória és a kiszolgáló maximális memóriájának (MB) legkisebb értéke. Ha a konfigurált méret kisebb ennél a minimálisnál, a Database Engine 868-as hibát jelez. Ha a konfigurált méret kisebb, mint ez a minimum a példány indításakor, a rendszer naplózza a 861-es hibát, és a pufferkészlet bővítmény nincs engedélyezve.

Konfigurációváltozások viselkedése

A bővítmény engedélyezésekor a pufferkészlet bővítményméreténél nagyobb értékre növelhető max server memory (MB) . A Database Engine naplóz egy tájékoztató üzenetet (5866-os hiba), és alkalmazza a módosítást. Mivel azonban az új érték megsérti a minimális méretre vonatkozó követelményt, a pufferkészlet bővítménye le lesz tiltva a példány következő újraindításakor.

Ha max server memory (MB) alatti mérettel engedélyezi a pufferkészlet bővítését, a művelet 868-as hibával meghiúsul.

A pufferkészlet bővítményének ajánlott eljárásai

Vegye figyelembe a következő ajánlott eljárásokat:

  • Miután első alkalommal engedélyezte a pufferkészlet-bővítményt, indítsa újra a Database Engine példányt a maximális teljesítménybeli előnyök eléréséhez.
  • Állítsa be a pufferkészlet bővítményét, hogy a fizikai memória mérete és a pufferkészlet-bővítmény mérete közötti arány 1:16 vagy kisebb legyen. Az 1:4 és 1:8 közötti alacsonyabb arány optimális lehet. A max server memory (MB) beállításával kapcsolatos információkért lásd kiszolgáló memóriakonfigurációs beállításait.
  • Éles környezetben történő implementálás előtt alaposan tesztelje a pufferkészlet-bővítményt. Miután éles környezetben van, kerüljük a fájl konfigurációjának módosítását vagy a funkció kikapcsolását. Ezek a tevékenységek negatív hatással lehetnek a kiszolgáló teljesítményére, mivel a pufferkészlet jelentősen csökken, ha a szolgáltatás le van tiltva. Ha le van tiltva, a funkció támogatásához használt memória nem lesz visszanyerve, amíg az SQL Server-példány újra nem indul. Ha azonban a funkció újra engedélyezve van, a memória újra felhasználható a példány újraindítása nélkül.

Pufferkészlet bővítményének figyelése

A következő dinamikus felügyeleti nézetekkel megjelenítheti a pufferkészlet-bővítmény konfigurációját, és adatokat adhat vissza a bővítmény adatlapjairól.

A teljesítményszámlálók a SQL Server, Buffer Manager objektumban érhetők el a pufferkészlet bővítményfájljának adatoldalainak nyomon követéséhez. További információ: SQL Server, Buffer Manager-objektum.

A pufferkészlet bővítményének részletes monitorozásához az alábbi bővített események érhetők el.

Event Leírás
buffer_pool_extension_pages_written Akkor lép működésbe, amikor a rendszer kiürít egy lapot vagy lapcsoportot a tárolókészletből, és a tárolókészlet kiterjesztési fájlba írja.
buffer_pool_extension_pages_read Akkor aktiválódik, ha egy lap beolvasásra kerül a bővítmény fájlból a pufferkészletbe.
buffer_pool_extension_pages_evicted Akkor aktiválódik, amikor egy lap eltávolításra kerül a pufferkészlet kiterjesztési fájljából.
buffer_pool_eviction_thresholds_recalculated A kiürítési küszöbértékek újraszámításakor aktiválódik.