sql >> Databáze >  >> RDS >> Sqlserver

Snímky databáze SQL Server -1

Ahoj

V tomto článku vysvětlím snímky databáze na serveru SQL Server. Snímek databáze je funkce dodávaná se serverem SQL Server 2005 a je pokračující funkcí v letech 2008, 2012, 2014, 2016, SQL Server 2017 a tak dále. Snímek databáze; Nejjednodušší definice je, že kopie databáze nebo snímek databáze pouze pro čtení v daném okamžiku.

Když je proveden proces snapshotu, SQL Server vezme aktuální obraz vybrané databáze, ale nemá aktuální fyzická data na disku pro Snapshot databázi.

Existují unikátní fyzická data a jsou určena pouze pro produkční databázi. Při pořizování snímku zrušte vrácení transakcí. Jakékoli změny provedené v databázi snímků budou zapsány do Řídkého souboru pro databázi Snapshot.

To znamená, že pokud někdo změnil jakákoli data v databázi Snapshot, když někdo dotazuje jakýkoli výběr související se stejnými daty ze Snapshotu , pak SQL Server načte změněná data ze souboru Sparse a načte neupravená data z původní databáze.

Nejkrásnějším portrétem, který shrnuje tento scénář, je následující obrázek, který publikuje MSDN.

Jak ukazuje obrázek výše, v 1. případě se aktualizují 3 z 10 stránek produkční databáze. Tyto aktualizace jsou také zapsány v Sparse File, jak je znázorněno v 1. případě. ve 2. případě je aktualizováno 8 stránek ze zdrojové databáze a 7 stránek je zapsáno do řídkého souboru.

Když je sestava nebo dotaz spuštěn ze snímku, SQL Server čte nezměněné stránky ze zdrojové databáze SQL Server a SQL Server čte změněné stránky z řídkého souboru.

Hlavním účelem Snapshotu je vytvořit stabilní sestavu nebo testovací databázi pro vývojáře na určitý interval vytvořením zálohy kterékoli databáze a vytvořením sestav pomocí Snapshotu. pokud se v produkční databázi vyskytnou drobné chyby, správce se může vrátit do původního stavu ze snímku.

Je však velmi důležité, aby byla databáze Snapshot propojena se svou zdrojovou databází typu one-to-one. Pokud je odstraněna nebo migrována, nelze hlavní databázi vrátit z databáze Snapshot. To je důvod, proč databáze Snapshot není přesně strategií zálohování pro SQL Server. Lze jej použít pro testovací databáze.

O snímku databáze SQL Server budu pokračovat v dalším příspěvku.


  1. Jak vytvořit histogram v PostgreSQL

  2. Poskytování MySQL/MariaDB Vault Database Secrets Engine s Terraformem

  3. Je možné použít uživatelem definované agregáty (clr) s funkcemi okna (over)?

  4. Agregát Oracle pro spojování řetězců čárkou a o psaní vlastních agregátů