A vállalati adatbázis sql szerver változásainak nyomon követése - mindent a programról és a programozásról

Oldal 5/6

A nyomon követés módosítása

Amint említettem, a változások követése szinkron folyamat, amely sokkal kevésbé bonyolult, mint a változások adatainak összegyűjtése. Ez része annak a tranzakciónak, amely megváltoztatja a monitorozott tábla sorát, és az a tény, hogy a karakterlánc megváltozott, külön táblázatban jelenik meg. Ez a táblázat az úgynevezett belső tábla, és annak neve a tárolási helyével nem vezérelhető. Ezt nem tartom problémának, mivel ebben a táblázatban sokkal kevesebb adatnak kell lennie, mint a változásadatok gyűjtésére használt változtatási táblázatban. De, amint azt most megmagyarázom, a lemezek helyének problémái még mindig lehetségesek.

Az a tény, hogy a változáskövetés szinkronan fut, azt jelenti, hogy sokkal kevesebb feldolgozás van minden tranzakcióban, amely megváltoztatja a megfigyelt táblát. A teljesítményhatás hasonló ahhoz, ami akkor történik, ha nincs olyan klaszter nélküli index az asztalon, amelyet minden egyes táblázatváltozással meg kell változtatni. Maguk a tranzakciók is nyomon követhetők, amikor egymás után elkötelezettek a belső sys.syscommittab táblán.

Változások követése aktiválódik, és kikapcsolható a hagyományos szintaxis ALTER DATABASE és ALTER TABLE utasításokkal, és meg kell egyeznie a modell, mint az adatgyűjtés változások, ahol fel kell venni az adatbázis szintjén bekapcsolása előtt a tábla szinten. A műveletek sorrendje így fog kinézni:

Az adatbázisban és táblázatokban a változáskövetés engedélyezéséhez szükséges engedélyek is különböznek azoktól, amelyek lehetővé teszik a változásadatok gyűjtését: db_owner és az asztal tulajdonosát. Ha a változáskövetés engedélyezve van az adatbázis szintjén, megadhatja a megőrzési időt, és megadhatja, hogy a változásadatok automatikusan törlődnek-e. Az alapértelmezett megőrzési időtartam 2 nap, legfeljebb 90 nap és legalább egy perc.

Automatikus tisztítás is alapértelmezés szerint engedélyezett. Ha módosítani szeretné ezeket a paramétereket, akkor ugyanazokat a prioritásokat kell értékelnem, mint amelyeket a változások összegyűjtésével kapcsolatban említettem, ami az alkalmazás szempontjából fontosabb: lemezterület vagy teljesítmény.

Alapértelmezés szerint csak a változtatás tényét gyűjtik össze minden sorhoz. Ez úgy történik, hogy jegyezze fel az elsődleges kulcs a megváltozott vonal (ami azt jelenti, hogy nem lehet a változások nyomon követése az asztalra anélkül, elsődleges kulcs) együtt a verziószámot (miután az adatbázis változások követése lehetővé tette, meg a verziószámot, amely lehetővé teszi, hogy meghatározza a műveletek sorrendjét) és típus a változást végrehajtó művelet. Alternatív megoldásként nyomon követheti az oszlopok megváltozását is, ehhez változott oszlopra 4 bájt szükséges.

A lemezterület-felügyelet kissé eltér a nyomkövetési változásoktól, mivel a változásadatok belső táblázatokban vannak tárolva. A használt belső táblák nevének megkereséséhez egyszerűen használja a sys.internal_tables rendszer könyvtár nézetet:

Ezután adja meg a sp_spaceused nevet annak megtekintéséhez, hogy mennyi lemezterületet használ.

A változásadatok összegyűjtésével ellentétben, amikor a változáskövetés engedélyezve van, korlátozások vannak a megfigyelt táblázatban végrehajtható DDL-re. A legjelentősebb korlátozás az, hogy képtelen módosítani az elsődleges kulcsot bármilyen módon. Egy másik korlátot érdemes megemlíteni, hogy az ALTER TABLE SWITCH sikertelen lesz, ha az érintett táblák bármelyike ​​lehetővé tette a változáskövetést. Ezt valószínűleg az oka, hogy nincs értelme, hogy automatikusan elindul, vagy távolítsa változások követése kell szakítani nyomon kövessék, betörtek szakaszokat, táblázatokat, partíció vagy lánctalpas tábla tartalmazza egy particionált tábla, ill.

A változtatásokat a belső változtatási táblázatokból az új CHANGETABLES funkcióval (CHANGES ...) használják. Figyelembe veszi, hogy a tábla nevét a változások nyomon követik, valamint az előzőleg használt verziószámot, és visszaadja az összes olyan sorra vonatkozó információt, amelyek a legutóbb megváltoztak. A jelenlegi és a legrégebbi megengedett verzió megtalálása számos funkciót tartalmaz. Az alkalmazás ezután felhasználhatja a visszaküldött információkat a változások nyomon követett táblázat lekérdezéséhez, hogy megkapja az aktuális oszlopértékeket. Ez, persze, többlépcsős folyamat - először kap az aktuális verzió, akkor azt a verziót használjuk, hogy kérje a változások követése asztalra, majd ténylegesen kért az oszlop megfelelő adatokat a változathoz.

Mindezek a kérdések mindig látni, hogy az SQL Server fórumok, így ebben a cikkben fogom, hogy áttekintést adjon a fakitermelés és hasznosítás és megmagyarázni, hogy miért van ez szerves része a modul tároló SQL Server. Figyelembe veszi a tranzakciós napló architektúráját, és hogyan.

De ez az egyetlen dolog, amit lehet tenni? Lehetőség van proaktív teljesítményfigyelés elvégzésére, egy egyszerű kezelési eljárás, amely a rendszer alapvető paramétereinek meghatározását, a szabványok megszerzését és a folyamatos ellenőrzést használja. Ebben a cikkben fogok beszélni arról, hogyan n.

Ez azonban nem szükséges. Van egy nagyon egyszerű alternatíva, amely a hashblokkok vagy hash kulcsok használatát használja. Mi a hashing? Röviden, a hasítás egy adott stringre alkalmazott algoritmus (azaz hash függvény) egészének eredménye.

Kapcsolódó cikkek