Microsoft SQL Server
Snapshots i databas
Sök…
Anmärkningar
En databasbild är en skrivskyddad, statisk vy av en SQL Server-databas som transaktivt överensstämmer med kildedatabasen från det ögonblick då bilden skapades.
En stillbildsdatabas finns alltid på samma serverinstans som dess källdatabas. När källdatabasen uppdateras uppdateras databasbilden.
En ögonblicksbild skiljer sig från en säkerhetskopia eftersom processen för att skapa en ögonblicksbild är omedelbar och ögonblicksbilden upptar bara utrymme när ändringar i källdatabasen tillämpas. En säkerhetskopia å andra sidan lagrar en fullständig kopia av data som vid tidpunkten för skapandet av säkerhetskopiering.
Dessutom ger en ögonblicksbild en omedelbar läskopia av databasen, medan en säkerhetskopia måste återställas till en server för att kunna läsas (och en gång återställs kan skrivas till också)
Snapshots av databaser är endast tillgängliga i Enterprise- och Developer-utgåvorna.
Skapa en databasbild
En databasbild är en skrivskyddad statisk vy av en SQL Server-databas (källdatabasen). Det liknar säkerhetskopiering, men det är tillgängligt som alla andra databaser så att klienten kan fråga stillbildsdatabas.
CREATE DATABASE MyDatabase_morning -- name of the snapshot ON ( NAME=MyDatabase_data, -- logical name of the data file of the source database FILENAME='C:\SnapShots\MySnapshot_Data.ss' -- snapshot file; ) AS SNAPSHOT OF MyDatabase; -- name of source database
Du kan också skapa ögonblicksbild av databasen med flera filer:
CREATE DATABASE MyMultiFileDBSnapshot ON (NAME=MyMultiFileDb_ft, FILENAME='C:\SnapShots\MyMultiFileDb_ft.ss'), (NAME=MyMultiFileDb_sys, FILENAME='C:\SnapShots\MyMultiFileDb_sys.ss'), (NAME=MyMultiFileDb_data, FILENAME='C:\SnapShots\MyMultiFileDb_data.ss'), (NAME=MyMultiFileDb_indx, FILENAME='C:\SnapShots\MyMultiFileDb_indx.ss') AS SNAPSHOT OF MultiFileDb;
Återställ en databasbild
Om data i en källdatabas skadas eller om fel data skrivs in i databasen, kan i vissa fall återställa databasen till en databasbild som föregår skadan vara ett lämpligt alternativ till att återställa databasen från en säkerhetskopia.
RESTORE DATABASE MYDATABASE FROM DATABASE_SNAPSHOT='MyDatabase_morning';
Varning: Detta tar bort alla ändringar som gjorts i källdatabasen sedan ögonblicksbilden togs!
RADERA Snapshot
Du kan ta bort befintliga ögonblicksbilder av databasen med DELETE DATABASE-uttalande:
DROP DATABASE Mydatabase_morning
I detta uttalande ska du referera till namnet på databasbilden.