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
Azure SQL Database
Felügyelt Azure SQL-példány
SQL-adatbázis a Microsoft Fabricben
Ez a cikk azt ismerteti, hogyan engedélyezheti és tilthatja le az adatbázisok és táblák változáskövetését.
Adatbázis változáskövetésének engedélyezése
A változáskövetés használata előtt engedélyeznie kell a változáskövetést az adatbázis szintjén. Az alábbi példa bemutatja, hogyan engedélyezheti a változáskövetést az ALTER DATABASE SET beállításaival.
ALTER DATABASE AdventureWorks2022
SET CHANGE_TRACKING = ON
(CHANGE_RETENTION = 2 DAYS, AUTO_CLEANUP = ON)
A változáskövetést az SQL Server Management Studióban is engedélyezheti a Adatbázis tulajdonságai (ChangeTracking Page) párbeszédpanelen. Ha egy adatbázis memóriaoptimalizált táblákat tartalmaz, nem engedélyezheti a változáskövetést az SQL Server Management Studióval. Az engedélyezéshez használja a T-SQL-t.
A változáskövetés engedélyezésekor megadhatja a CHANGE_RETENTIONAUTO_CLEANUP beállításokat, és a változáskövetés engedélyezése után bármikor módosíthatja az értékeket.
A változásmegőrzési érték azt az időtartamot határozza meg, amelyre vonatkozóan a változáskövetési információk megőrzendők. Az ennél az időszaknál régebbi változáskövetési információk rendszeres időközönként törlődnek. Ha ezt az értéket állítja be, érdemes megfontolnia, hogy az alkalmazások milyen gyakran szinkronizálódnak az adatbázis tábláival. A megadott megőrzési időszaknak legalább addig kell lennie, amíg a szinkronizálások közötti maximális időtartamot meg nem adja. Ha egy alkalmazás hosszabb időközönként szerzi be a módosításokat, a visszaadott eredmények helytelenek lehetnek, mert a módosítási információk egy része valószínűleg el lett távolítva. A helytelen eredmények beszerzésének elkerülése érdekében az alkalmazás a CHANGE_TRACKING_MIN_VALID_VERSION rendszerfüggvény használatával állapíthatja meg, hogy a szinkronizálások közötti időköz túl hosszú volt-e.
Ezzel a AUTO_CLEANUP beállítással engedélyezheti vagy letilthatja a régi változáskövetési adatokat eltávolító törlési feladatot. Ez akkor lehet hasznos, ha egy ideiglenes probléma megakadályozza az alkalmazások szinkronizálását, és a megőrzési időszaknál régebbi változáskövetési adatok eltávolításának folyamatát a probléma megoldásáig szüneteltetni kell.
A változáskövetést használó adatbázisok esetében vegye figyelembe az alábbiakat:
A változáskövetés használatához az adatbázis kompatibilitási szintjét 90-es vagy újabb értékre kell állítani. Ha egy adatbázis kompatibilitási szintje 90-nél kisebb, konfigurálhatja a változáskövetést. A változáskövetési információk lekérésére használt CHANGETABLE függvény azonban hibát ad vissza.
A pillanatkép-elkülönítés a legegyszerűbb módja annak, hogy minden változáskövetési információ konzisztens legyen. Ezért határozottan javasoljuk, hogy a pillanatképek elkülönítését állítsa be
ONaz adatbázis számára. További információt a Változáskövetés használata (SQL Server) című témakörben talál.
Tábla változáskövetésének engedélyezése
A változáskövetést minden nyomon követni kívánt táblához engedélyezni kell. Ha engedélyezve van a változáskövetés, a rendszer megőrzi a változáskövetési információkat a tábla minden olyan sorára vonatkozóan, amelyet egy DML-művelet érint.
Az alábbi példa bemutatja, hogyan engedélyezheti a változáskövetést egy táblához ALTER TABLEhasználatával.
ALTER TABLE Person.Contact
ENABLE CHANGE_TRACKING
WITH (TRACK_COLUMNS_UPDATED = ON)
Az SQL Server Management Studióban is engedélyezheti a táblák változáskövetését a Adatbázis tulajdonságai (ChangeTracking Page) párbeszédpanelen.
Ha a TRACK_COLUMNS_UPDATED beállítás be van állítva ON, az SQL Server adatbázismotorja további információkat tárol arról, hogy mely oszlopok frissültek a belső változáskövetési táblára. Az oszlopkövetés lehetővé teszi, hogy az alkalmazások csak a frissített oszlopokat szinkronizálják. Ez javíthatja a hatékonyságot és a teljesítményt. Mivel azonban az oszlopkövetési adatok fenntartása többletterhelést jelent a tárterületen, ez a beállítás alapértelmezés szerint be van állítva OFF .
Tábla vagy adatbázis változáskövetésének letiltása
A változáskövetést először le kell tiltani az összes változáskövetési tábla esetében, mielőtt a változáskövetést az adatbázishoz be lehet állítani OFF . Az adatbázisok változáskövetését engedélyező táblák meghatározásához használja a sys.change_tracking_tables katalógusnézetet.
Az alábbi példa bemutatja, hogyan tilthatja le egy tábla változáskövetését ALTER TABLEhasználatával.
ALTER TABLE Person.Contact
DISABLE CHANGE_TRACKING;
Ha egy adatbázis egyik táblája sem követi nyomon a változásokat, letilthatja az adatbázis változáskövetését. Az alábbi példa bemutatja, hogyan tilthatja le az adatbázis változáskövetését az ALTER DATABASE SET beállításaival.
ALTER DATABASE AdventureWorks2022
SET CHANGE_TRACKING = OFF
Kapcsolódó tartalom
- Adatbázis tulajdonságai (Változáshovábbadás oldal)
- ALTER DATABASE SET beállításai (Transact-SQL)
- Változáskövetési katalógusnézetek – sys.change_tracking_databases
- Változáskövetési katalógusnézetek – sys.change_tracking_tables
- Adatváltozások nyomon követése (SQL Server)
- A változáskövetés (SQL Server)
- Adatok módosítása
- Változáskövetés kezelése (SQL Server)