"Dmitri Kuzmenko" ... > > Hello, Vlad! > > Horsun Vlad wrote: > > > Такая таблица есть. Но я не понимаю как ты предлагаешь её использовать > > (или поле в rdb$pages), для чтения не всей БД. По-идее для этого нужен > > аналог > > PIP для каждого уровня бекапа. > > я об этом думал, когда писал тот пост в блоге. > Пока ситуация еще хуже. дамп nbackup уровня 0 - это не база.
Кто сказал ? > и > а) с ним нельзя работать, как с readonly db в IB 2007 > б) на него нельзя накатить инкремент. Вот тебе живой пример : 1. создаём БД с данными D:\FB2\bin>isql Use CONNECT or CREATE DATABASE to specify a database SQL> create database 'c:\temp\nbakup.fdb'; SQL> create table t (id int); SQL> insert into t CON> select 1 from rdb$relations; SQL> select count(*) from t; COUNT ============ 33 SQL> commit; SQL> exit; 2. бекап уровня 0 D:\FB2\bin>nbackup -B 0 c:\temp\nbakup.fdb c:\temp\nbakup.nbk 3. "превращение" его в БД : D:\FB2\bin>nbackup -F c:\temp\nbakup.nbk 4. убедимся, что это БД D:\FB2\bin>isql c:\temp\nbakup.nbk Database: c:\temp\nbakup.nbk SQL> select count(*) from t; COUNT ============ 33 SQL> exit; 5. Добавим данных в оригинальную БД D:\FB2\bin>isql c:\temp\nbakup.fdb Database: c:\temp\nbakup.fdb SQL> insert into t CON> select 2 from rdb$relations; SQL> select count(*) from t; COUNT ============ 67 SQL> commit; SQL> exit; 6. бекап уровня 1 D:\FB2\bin>nbackup -B 1 c:\temp\nbakup.fdb c:\temp\nbakup.nb1 7. накатываем инкремент D:\FB2\bin>nbackup -R c:\temp\nbakup2.fdb c:\temp\nbakup.nbk c:\temp\nbakup.nb1 8. Проверяем D:\FB2\bin>isql c:\temp\nbakup2.fdb Database: c:\temp\nbakup2.fdb SQL> select count(*) from t; COUNT ============ 67 SQL> exit; > будете обсуждать - могу подкинуть мыслей на эту тему. Давай > Хотя, если честно, я не знаю, о чем думал Самофатов, > когда делал все это. Можно было приложить немного > больше усилий, и сделать все по человечески. Спроси его сам ;) -- Хорсун Влад