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

Откуда:
Сообщений: 25
Добрый день.
у прогера случилась ошибка среза в БД за прошлый год, есть бекап на сегодня, нужно восстановить его (Upp1417) в копию с другим именем (upp2010), при попытке задать в консоли другие выходные имена файлов.
Скуль недолго, но думает и выдает через 20с:

Msg 3101, Level 16, State 1, Line 1
Exclusive access could not be obtained because the database is in use.
Msg 3013, Level 16, State 1, Line 1
RESTORE DATABASE is terminating abnormally.

скрипт из менеджконсоли получается такой:
+
RESTORE DATABASE [upp1417] FROM DISK = N'H:\Backup\upp1417_backup_201209180121.bak' WITH FILE = 1, MOVE N'upp1417' TO N'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\upp2010.mdf', MOVE N'upp1417_log' TO N'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\upp2010_log.LDF', NOUNLOAD, STATS = 10
GO


пробовал и с галочкой Owerwrite и без неё, результат одинаковый... как победить?

PS: несколько похожих тем нашел, но они какие-то мутные...
18 сен 12, 16:10    [13183551]     Ответить | Цитировать Сообщить модератору
 Re: Restore из бекапа рабочей БД в копию с другим именем SQL2005  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37069
автор
RESTORE DATABASE [upp1417] FROM DISK = N'H:\Backup\upp1417_backup_201209180121.bak' WITH FILE = 1, MOVE N'upp1417' TO N'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\upp2010.mdf', MOVE N'upp1417_log' TO N'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\upp2010_log.LDF', NOUNLOAD, STATS = 10
18 сен 12, 16:14    [13183570]     Ответить | Цитировать Сообщить модератору
 Re: Restore из бекапа рабочей БД в копию с другим именем SQL2005  [new]
gang
Member

Откуда:
Сообщений: 1394
ZFinder,

У Вас скрипт (и студия очевидно тоже) пытается ресторить с новыми путями файлов все туже БД Upp1417. И имя БД в скрипте/мастере рестора и имена файлов должны быть новые (если хотите восстановить рядом).
18 сен 12, 16:15    [13183578]     Ответить | Цитировать Сообщить модератору
 Re: Restore из бекапа рабочей БД в копию с другим именем SQL2005  [new]
Glory
Member

Откуда:
Сообщений: 104760
ZFinder
нужно восстановить его (Upp1417) в копию с другим именем (upp2010),

Почему тогда RESTORE DATABASE [upp1417] ?

ZFinder
пробовал и с галочкой Owerwrite и без неё, результат одинаковый... как победить?

В любом случае никто не должен пользоваться базой, которую вы собрались восстанавливать
Никто означает, что нет ни одного коннекта, где текущая база есть восстанавливаемая база
18 сен 12, 16:15    [13183580]     Ответить | Цитировать Сообщить модератору
 Re: Restore из бекапа рабочей БД в копию с другим именем SQL2005  [new]
ZFinder
Member

Откуда:
Сообщений: 25
если восстанавливать в название новой базы, а не upp1417, то сервак вообще ошибку сразу выдает про имя БД, хотя именно в 2000м скуле так и было просто и понятно, а тут все как то запутанно...
18 сен 12, 16:29    [13183664]     Ответить | Цитировать Сообщить модератору
 Re: Restore из бекапа рабочей БД в копию с другим именем SQL2005  [new]
gang
Member

Откуда:
Сообщений: 1394
ZFinder,

Кали-ма, Кали-ма, Кали-МаААА!! Повелеваю: текст ошибки явись!!!

Коллега, вы думаете тут с Вами станут играть в угадайку? Есть ошибка - постишь, нет пишешь "спасибо, починил".
18 сен 12, 16:32    [13183681]     Ответить | Цитировать Сообщить модератору
 Re: Restore из бекапа рабочей БД в копию с другим именем SQL2005  [new]
Glory
Member

Откуда:
Сообщений: 104760
ZFinder
если восстанавливать в название новой базы, а не upp1417, то сервак вообще ошибку сразу выдает про имя БД, хотя именно в 2000м скуле так и было просто и понятно, а тут все как то запутанно...

В SQL2005 - все точно так же
18 сен 12, 16:35    [13183697]     Ответить | Цитировать Сообщить модератору
 Re: Restore из бекапа рабочей БД в копию с другим именем SQL2005  [new]
ZFinder
Member

Откуда:
Сообщений: 25
да вот полез в реале ошибку добывать (пол часа её по разному обойти пытался, плюнул, и попробовал уже вариант выше), и блин она сработала на этот раз буз ошибок, хоть строка в T-Sql таже самая получилась... только теперь работает... уже 30 %... короче пока кипешь не поднимешь, сервак не одумается...
так что спс решено
+
RESTORE DATABASE [upp2010] FROM DISK = N'H:\Backup\upp1417_backup_201209180121.bak' WITH FILE = 1, MOVE N'upp1417' TO N'G:\server\MSSQL\Data\upp2010.mdf', MOVE N'upp1417_log' TO N'G:\server\MSSQL\Data\upp2010_log.ldf', NOUNLOAD, STATS = 10
GO
18 сен 12, 16:38    [13183717]     Ответить | Цитировать Сообщить модератору
 Re: Restore из бекапа рабочей БД в копию с другим именем SQL2005  [new]
Glory
Member

Откуда:
Сообщений: 104760
ZFinder
да вот полез в реале ошибку добывать (пол часа её по разному обойти пытался, плюнул, и попробовал уже вариант выше), и блин она сработала на этот раз буз ошибок, хоть строка в T-Sql таже самая получилась... только теперь работает... уже 30 %... короче пока кипешь не поднимешь, сервак не одумается...

Еще раз
Все версии сервера требуют Exclusive access к восстанавливаемой базе.
И все версии генерируют ошибку, если не могут такой доступ получить.
18 сен 12, 16:40    [13183731]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить