SQLiteBackup

Qubes 9.0 Sauvegarde bas niveau pour SQLite

Syntaxe

procedure SQLiteBackup(destination: DataBase; destinationName: String; source: DataBase; sourceName: String)
destination: base de destination
destinationName: nom du schema de destination
source: base source
sourceName: nom du schema de la base source

Remarques

Effectue une sauvegarde bas niveau à chaud d'une base SQLite, en utilisant les fonctionnalités de SQLite Online backup API.

On peut sauvegarder une base SQLite accédée à partir d'un fichier sur le disque dur, mais aussi une base générée en mémoire.

Le schéma est généralement le schéma par défaut de la base : main.
Rq : bien que rarissime, on peut aussi utiliser le schéma 'temp', voire un schéma défini lors de l'utilisation de ATTACH DATABASE.

La performance de la sauvegarde sera comparable ou plus rapide qu'une copie de fichier, et peut de plus s'effectuer à chaud pendant que la base est utilisée. La sauvegarde est garantie cohérente, et est elle-même une base SQLite "normale".

Attention à l'ordre des paramètres !
Si destination et source sont inversées, cela écrase irrémédiablement la base à sauvegarder !

Exemples

uses System.Data, System.Data.SQLite;

var dbOrig := DataBase.Create('SQLite', [':memory:']);
dbOrig.Exec("create table TEST (ID integer, NAME string)");
dbOrig.Exec("insert into TEST values (1, 'test')");

var dbDest := DataBase.Create('SQLite', ['C:\temp\BKP.sql3']);
SQLiteBackup(dbDest, 'main', dbOrig, 'main');

Classification

System.Data.SQLite