"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;
> будете обсуждать - могу подкинуть мыслей на эту тему.
Давай
> Хотя, если честно, я не знаю, о чем думал Самофатов,
> когда делал все это. Можно было приложить немного
> больше усилий, и сделать все по человечески.
Спроси его сам ;)
--
Хорсун Влад