Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Backup/Restore ?????  [new]
Relic Hunter
Member

Откуда: AB
Сообщений: 7599
Клонирую базу сл. образом

BACKUP DATABASE [db_prod] TO  DISK = N'c:\temp\db_prod.bak'
GO
restore database [db_test]
from disk=N'c:\temp\db_prod.bak'
WITH move 'db_prod' to  'c:\temp\db_prod.mdf',
move 'db_prod_log' to  'c:\temp\db_prod_log.ldf';
GO


Processed 168 pages for database 'db_prod', file 'db_prod' on file 1.
Processed 1 pages for database 'db_prod', file 'db_prod_log' on file 1.
BACKUP DATABASE successfully processed 169 pages in 0.024 seconds (55.013 MB/sec).
Processed 160 pages for database 'db_test', file 'db_prod' on file 1.
Processed 3 pages for database 'db_test', file 'db_prod_log' on file 1.
RESTORE DATABASE successfully processed 163 pages in 0.014 seconds (90.785 MB/sec).

Открываю базу DB_TEST и... не нахожу ни одной пользовательской таблицы из DB_PROD. Это ограничение экспресс версии SQL EXPRESS 2012?
4 июн 14, 23:51    [16123107]     Ответить | Цитировать Сообщить модератору
 Re: Backup/Restore ?????  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31984
Relic Hunter
Открываю базу DB_TEST и... не нахожу ни одной пользовательской таблицы из DB_PROD. Это ограничение экспресс версии SQL EXPRESS 2012?
Нету ограничений.

Либо что то с правами, либо рефреш нужно сделать, либо не на ту базу смотрите.
5 июн 14, 00:17    [16123228]     Ответить | Цитировать Сообщить модератору
 Re: Backup/Restore ?????  [new]
o-o
Guest
нет, редакция тут ни при чем.
168 страниц это же мегабайтная база, 1 страница = 8Кб.
пустую базу забэкапили, пустую и развернули
5 июн 14, 00:20    [16123241]     Ответить | Цитировать Сообщить модератору
 Re: Backup/Restore ?????  [new]
Relic Hunter
Member

Откуда: AB
Сообщений: 7599
alexeyvg,

А что с правами? Там-же в логе "успешно" написано.

use db_prod 
go
select count(*) from table_123
go
BACKUP DATABASE [db_prod] TO  DISK = N'c:\temp\db_prod.bak'
GO
restore database [db_test]
from disk=N'c:\temp\db_prod.bak'
WITH move 'db_prod' to  'c:\temp\db_prod.mdf',
move 'db_prod_log' to  'c:\temp\db_prod_log.ldf';
GO
use db_test
go
select count(*) from table_123
go


(10 row(s) affected)
Processed 168 pages for database 'db_prod', file 'db_prod' on file 13.
Processed 1 pages for database 'db_prod', file 'db_prod_log' on file 13.
BACKUP DATABASE successfully processed 169 pages in 0.023 seconds (57.404 MB/sec).
Processed 160 pages for database 'db_test', file 'db_prod' on file 1.
Processed 3 pages for database 'db_test', file 'db_prod_log' on file 1.
RESTORE DATABASE successfully processed 163 pages in 0.017 seconds (74.764 MB/sec).
Msg 208, Level 16, State 1, Line 1
Invalid object name 'table_123'
.
5 июн 14, 00:27    [16123262]     Ответить | Цитировать Сообщить модератору
 Re: Backup/Restore ?????  [new]
Relic Hunter
Member

Откуда: AB
Сообщений: 7599
Вобщем методом тыка обнаружил, что если файл бекапа уже существует то его перед выполнением скрипта нужно прибить. Страно, что ошибок не выдает.
5 июн 14, 00:48    [16123351]     Ответить | Цитировать Сообщить модератору
 Re: Backup/Restore ?????  [new]
Relic Hunter
Member

Откуда: AB
Сообщений: 7599
При повторном бекапе в тоже место бекап почему-то не перезаписывается.
5 июн 14, 00:50    [16123355]     Ответить | Цитировать Сообщить модератору
 Re: Backup/Restore ?????  [new]
NickAlex66
Member

Откуда:
Сообщений: 319
Relic Hunter,

По дефолту, если девайс бэкапа уже существует, вновь создаваемый бэкап базы добавляется к нему - опция NOINIT (если пользователь не указал иного - опция INIT). Возможно, вы восстановились с некоего файла в девайсе бэкапа, который не содержал пользовательских данных. По дефолту это первый бэкап в девайсе.
5 июн 14, 01:22    [16123473]     Ответить | Цитировать Сообщить модератору
 Re: Backup/Restore ?????  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31984
Relic Hunter
Вобщем методом тыка обнаружил, что если файл бекапа уже существует то его перед выполнением скрипта нужно прибить. Страно, что ошибок не выдает.
Ошибки не выдаёт, потому что это правильное действие - добавление нового бакапа в существующий файл бакапа.

Как уже сказали, используйте опцию INIT при бакапе.
5 июн 14, 09:36    [16123952]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить