Поиск…


замечания

Снимки базы данных - это статический вид базы данных SQL Server, доступный только для чтения, который транзакционно согласуется с исходной базой данных с момента создания моментального снимка.

Снимки базы данных всегда находятся на том же экземпляре сервера, что и исходная база данных. По мере обновления базы данных источника обновляется моментальный снимок базы данных.

Снимок отличается от резервной копии, так как процесс создания моментального снимка мгновен, а моментальный снимок занимает пространство только в том случае, если применяются изменения в исходной базе данных. С другой стороны, резервная копия хранит полную копию данных в момент создания резервной копии.

Кроме того, моментальный снимок дает мгновенную копию только для чтения базы данных, в то время как резервное копирование необходимо восстановить на сервере, чтобы быть читаемым (и как только восстановление может быть записано, также)

Снимки базы данных доступны только в выпусках Enterprise и Developer.

Создание моментального снимка базы данных

Снимки базы данных - это статическое представление базы данных SQL Server, доступное только для чтения (исходная база данных). Он похож на резервную копию, но доступен как любая другая база данных, поэтому клиент может запрашивать базу данных моментальных снимков.

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

Вы также можете создать моментальный снимок базы данных с несколькими файлами:

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;

Восстановить моментальный снимок базы данных

Если данные в исходной базе данных повреждены или в базу данных записаны неправильные данные, в некоторых случаях возврат базы данных к снимку базы данных, который предшествует повреждению, может быть подходящей альтернативой восстановлению базы данных из резервной копии.

RESTORE DATABASE MYDATABASE FROM DATABASE_SNAPSHOT='MyDatabase_morning';

Предупреждение. Это приведет к удалению всех изменений, внесенных в исходную базу данных с момента снятия моментального снимка!

Удалить снимок

Вы можете удалить существующие снимки базы данных с помощью инструкции DELETE DATABASE:

DROP DATABASE Mydatabase_morning

В этом заявлении вы должны указать имя моментального снимка базы данных.



Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow