sql >> Database teknologi >  >> RDS >> Sqlserver

SQL Server Database Snapshots -1

Hej

I denne artikel vil jeg forklare Database Snapshots i SQL Server. Database Snapshot er en funktion, der følger med SQL Server 2005 og er en løbende funktion i 2008, 2012, 2014, 2016, SQL Server 2017 og så videre. Database Snapshot; Den enkleste definition er, at en skrivebeskyttet kopi af databasen eller et øjebliksbillede af databasen på ethvert givet tidspunkt.

Når snapshot-processen udføres, tager SQL Server det aktuelle billede af den valgte database, men har ikke de aktuelle fysiske data på disken til Snapshot-databasen.

Der er en unik fysisk data, og det er kun til produktionsdatabase. Fortryd tilbagerulning af transaktioner, mens øjebliksbilledet tages. Eventuelle ændringer i snapshot-databasen vil blive skrevet til Sparse File til Snapshot-database.

Dette betyder, at hvis nogen har ændret nogen data i Snapshot-databasen, når nogen forespørger på et udvalg relateret til samme data fra Snapshot, så vil SQL Server læse de ændrede data fra Sparse-filen og læse de umodificerede data fra den originale database.

Det smukkeste portræt, der opsummerer dette scenarie, er følgende billede, der er udgivet af MSDN.

Som vist ovenstående billede, i 1. tilfælde, bliver 3 ud af 10 sider i produktionsdatabasen opdateret. Disse opdateringer er også skrevet i Sparse File som vist i 1. tilfælde. i 2. tilfælde opdateres 8 sider fra kildedatabasen, og 7 sider skrives til den sparsomme fil.

Når en rapport eller forespørgsel udføres fra Snapshot, læser SQL Server uændrede sider fra SQL Server Source Database, og SQL Server læser ændrede sider fra Sparse-fil.

Hovedformålet med Snapshot er at skabe en stabil rapport eller testdatabase for udviklere i et bestemt interval ved at lave en sikkerhedskopi af databasen og oprette rapporter via Snapshot. hvis der opstår mindre fejl i produktionsdatabasen, kan Admin vende tilbage til sin oprindelige tilstand fra Snapshot.

Det er dog meget vigtigt, at Snapshot-databasen er forbundet til en-til-en dens kildedatabase. Hvis den slettes eller migreres, kan hoveddatabasen ikke returneres fra Snapshot-databasen. Det er derfor, Snapshot-databasen ikke ligefrem er en sikkerhedskopieringsstrategi for SQL Server. Det kan bruges til testdatabaser.

Jeg vil fortsætte med at fortælle om SQL Server database snapshot i næste indlæg.


  1. Dynamisk datamaskering i SQL Server for begyndere

  2. Sådan installeres og sikres MariaDB på Ubuntu

  3. Udbyderen er ikke kompatibel med versionen af ​​Oracle-klientfejl ved brug af Oracle.DataClient

  4. MySQL Fire Trigger til både Insert og Update