Команда H2 SCRIPT работает как снимок? - PullRequest
1 голос
/ 26 мая 2011

База данных H2 имеет команду SCRIPT для резервного копирования содержимого и / или структуры. Это может быть выполнено во время работы базы данных.

Мой вопрос: работает ли SCRIPT как снимок? Он принимает только оператор и содержимое базы данных до тех пор, пока не будет введена команда SCRIPT? Или он пытается учесть дополнительные операторы, выполняемые другими процессами, во время выполнения сценария?

EDIT

Чтобы прояснить вопрос, существует две неясности относительно использования SCRIPT:

  • Гарантирует ли SCRIPT безопасность / согласованность транзакций при выполнении во время работы базы данных?
  • Производит ли SCRIPT меньшую производительность, чем BACKUP?

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

Ответы [ 2 ]

3 голосов
/ 31 мая 2011

Команда SCRIPT блокирует каждую таблицу (для чтения) в начале. Таким образом, полученный сценарий SQL является транзакционным. Обратите внимание, что другие операции блокируются до завершения операции (даже при использовании многопоточной опции).

Производит ли SCRIPT меньшую производительность, чем BACKUP?

Это зависит от данных. Обычно SQL-скрипт немного меньше, но не намного. Это намного меньше при использовании сжатия. Основным преимуществом сценария является то, что у вас есть удобочитаемая резервная копия, которая не сильно привязана к программному обеспечению (формат файла H2 может измениться, а SQL - нет).

1 голос
/ 27 мая 2011

" рекомендуемый способ резервного копирования базы данных - это создание сжатого файла сценария SQL. Это можно сделать с помощью инструмента Script."К сожалению, единственный способ обеспечить согласованность транзакций во время использования базы данных - это использовать команду SQL BACKUP, которая также копирует журнал транзакций.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...