Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik: SQL Server 2019 (15.x) és újabb verziók
Ez a cikk bemutatja gyorsított adatbázis-helyreállítás (ADR) engedélyezését és letiltását az SQL Server 2019-es (15.x) és újabb verziók Transact-SQL (T-SQL) használatával, valamint az ADR által használt állandó verziótár (PVS) fájlcsoport módosításával.
Jegyzet
Az Azure SQL Database-ben, a felügyelt Azure SQL-példányban és a Microsoft Fabric sql-adatbázisában a gyorsított adatbázis-helyreállítás (ADR) mindig engedélyezve van. Ha problémákat észlel, például a PVS által okozott magas tárterület-használatot vagy a lassú ADR-takarítást, lásd a(z) Az adatbázis gyorsított helyreállításának figyelése és hibaelhárítása, vagy forduljon Azure támogatáshoz.
Kinek érdemes megfontolnia a gyorsított adatbázis-helyreállítást
Sok ügyfél értékes technológiának találja a gyorsított adatbázis-helyreállítást (ADR) az adatbázis-helyreállítási idő javítása és a hosszú visszaállítások elkerülése érdekében.
Ha az adatbázis számítási feladatai gyakran találkoznak a következő forgatókönyvekkel, az ADR előnyeit élvezheti:
- Hosszú ideig futó tranzakciók, amelyeket nem lehet elkerülni. Az ADR például segít azokban az esetekben, amikor a hosszú ideig futó tranzakciókat vissza lehet állítani.
- Aktív tranzakciók, amelyek miatt a tranzakciónapló jelentősen növekedni fog.
- Hosszú ideig futó adatbázis-helyreállítás, amely befolyásolja az adatbázis rendelkezésre állását (például váratlan SQL Server-újraindítás vagy manuális tranzakció-visszaállítás után).
Ha az alkalmazás nagy mennyiségű egysoros módosítást használ az egyes tranzakciókban, előfordulhat, hogy a számítási feladat nem optimális az ADR-hez. Lehetőség szerint fontolja meg a többsoros utasítások módosításainak kötegelését, és kerülje a nagy mennyiségű kis DML-tranzakciót.
ADR engedélyezése
Az ADR alapértelmezés szerint ki van kapcsolva, és az SQL Server 2019-től kezdve (15.x) érhető el.
Az ADR engedélyezéséhez használja a következő Transact-SQL (T-SQL) parancsot:
ALTER DATABASE [<db_name>] SET ACCELERATED_DATABASE_RECOVERY = ON;
Az ADR engedélyezéséhez vagy letiltásához kizárólagos adatbázis-zárolásra van szükség. Ez azt jelenti, hogy a ALTER DATABASE
parancs mindaddig le van tiltva, amíg az összes aktív munkamenet el nem tűnt, és hogy az új munkamenetek a ALTER DATABASE
parancs mögött várakoznak. Ha fontos a művelet végrehajtása és a zárolás eltávolítása, használhatja a megszüntetési záradékot, WITH ROLLBACK [IMMEDIATE | AFTER {number} SECONDS | NO_WAIT]
megszakíthatja az adatbázis aktív munkameneteit. További információ: ALTER DATABASE SET beállításai.
Ha engedélyezi vagy letiltja az ADR-t tempdb
, nincs szükség kizárólagos adatbázis-zárolásra, és nem kell megadnia a megszüntetési záradékot. A módosítás érvénybe lépéséhez azonban újra kell indítani az adatbázismotort.
ADR letiltása
Az ADR letiltásához használja a következő T-SQL-parancsot:
ALTER DATABASE [<db_name>] SET ACCELERATED_DATABASE_RECOVERY = OFF;
GO
Előfordulhat, hogy az ADR letiltása után is vannak olyan PVS-ben tárolt verziók, amelyekre a rendszernek továbbra is szüksége van a logikai visszaállításhoz, amíg az összes aktív tranzakció befejeződik. Ha letiltja az ADR-t tempdb
, a módosítás érvénybe lépéséhez újra kell indítani az adatbázismotort.
A PVS-fájlcsoport módosítása
Alapértelmezés szerint az állandó verziótár (PVS) adatai a PRIMARY
fájlcsoportban találhatóak. Szükség esetén áthelyezheti a PVS-t egy másik fájlcsoportba. Például több helyet vagy gyorsabb tárhelyet igényelhet.
A PVS helyének másik fájlcsoportra való módosításához kövesse az alábbi lépéseket:
Hozza létre a PVS-fájlcsoportot, és adjon hozzá legalább egy adatfájlt ehhez a fájlcsoporthoz. Például:
ALTER DATABASE [<db_name>] ADD FILEGROUP [VersionStoreFG]; GO ALTER DATABASE [<db_name>] ADD FILE ( NAME = N'VersionStoreFG', FILENAME = N'E:\DATA\VersionStore.ndf', SIZE = 8192 MB, FILEGROWTH = 64 MB ) TO FILEGROUP [VersionStoreFG];
Tiltsa le az ADR-t a következő T-SQL-paranccsal:
ALTER DATABASE [<db_name>] SET ACCELERATED_DATABASE_RECOVERY = OFF; GO
Várjon, amíg a PVS-ben tárolt összes verzió el nem távolítva.
Az ADR új PVS-hely használatával történő engedélyezéséhez először győződjön meg arról, hogy az összes verzióinformáció törlődött az előző PVS-helyről. A sys.sp_persistent_version_cleanup tárolt eljárással kényszerítheti a törlést:
EXEC sys.sp_persistent_version_cleanup [<db_name>];
A
sys.sp_persistent_version_cleanup
tárolt eljárás szinkron, ami azt jelenti, hogy addig nem fejeződik be, amíg az összes verzióinformáció el nem törlődik az aktuális PVS-ből. Miután befejeződött, és feltételezve, hogy az ADR le van tiltva, ellenőrizheti a verzióinformációk eltávolítását a sys.dm_tran_persistent_version_store_stats lekérdezésével és apersistent_version_store_size_kb
értékének vizsgálatával. Például:SELECT DB_NAME(database_id), persistent_version_store_size_kb FROM sys.dm_tran_persistent_version_store_stats WHERE database_id = [MyDatabaseID];
Ha a
persistent_version_store_size_kb
értéke0
, újra engedélyezheti az ADR-t, és elhelyezheti a PVS-t az új fájlcsoporton.Engedélyezze az ADR-t, és adja meg az új PVS-helyet a következő T-SQL-paranccsal:
ALTER DATABASE [<db_name>] SET ACCELERATED_DATABASE_RECOVERY = ON (PERSISTENT_VERSION_STORE_FILEGROUP = [VersionStoreFG]);
Jegyzet
A PVS áthelyezése egy másik fájlcsoportba tempdb
nem támogatott, mert nem adhat fájlcsoportokattempdb
.
A PVS méretének figyelése
Miután engedélyezte az ADR-t egy adatbázisban, figyelje az állandó verziótár (PVS) méretét és a PVS-törlési teljesítményt. További információért lásd: a gyorsított adatbázis-helyreállítás monitorozása és hibaelhárítása.