Не работает полное восстановление БД из файла

poiuytrewq
Дата: 04.02.2009 08:43:48
Доброго времени суток,

необходимо регулярно восстанавливать базу из файла. Создал пустую базу "spravka". Создал задание в планировщике, добавил шаг T-SQL:

RESTORE FILELISTONLY 
   FROM DISK = 'D:\Scheduled\msk_spr\spravka.bak'
RESTORE DATABASE spravka
FROM DISK =  'D:\Scheduled\msk_spr\spravka.bak'
WITH MOVE 'spr_dat' TO 'C:\Program Files\Microsoft SQL Server\MSSQL\Data\spravka_Data.MDF',
MOVE 'spr_log' TO 'C:\Program Files\Microsoft SQL Server\MSSQL\Data\spravka_Log.LDF'
GO

Запускаю - мгновенно получаю Failed.
Все указанные пути проверил, вручную, через интерфейс Enterprise Manager-а всё нормально ресторится.

Уважаемые гуру, помогите пожалуйста.
Knyazev Alexey
Дата: 04.02.2009 08:47:30
а полностью ошибку можно посмотреть?!
и зачем предварительно создавали БД?
зачем команда FILELISTONLY ?

если БД уже создана, то попробуйте:

RESTORE DATABASE spravka
FROM DISK =  'D:\Scheduled\msk_spr\spravka.bak' 
WITH REPLACE
poiuytrewq
Дата: 04.02.2009 08:54:33
Knyazev Alexey
а полностью ошибку можно посмотреть?!


насколько я понимаю, ошибка должна писаться в Журнал Событий\Application, там только:


SQL Server Scheduled Job 'SPR_UPDATE' (0x24FB95F20DBA3041B8548C94FD08C779) - Status: Failed - Invoked on: 2009-02-04 10:50:39 - Message: The job failed. The Job was invoked by User EKB\VlasovDI. The last step to run was step 1 (Msk Spr Restore). The job was requested to start at step 1 (Msk Spr Restore).


Knyazev Alexey
и зачем предварительно создавали БД?
зачем команда FILELISTONLY ?


стал пробовать всё подряд

Knyazev Alexey

RESTORE DATABASE spravka
FROM DISK =  'D:\Scheduled\msk_spr\spravka.bak' 
WITH REPLACE


не работает
Knyazev Alexey
Дата: 04.02.2009 08:55:46
poiuytrewq


не работает


ППЦ, ошибка какая? вы в чём запускаете этот скрипт?
Supra93
Дата: 04.02.2009 08:57:50
poiuytrewq,

Вы бы для начала в QA или SSMS простетировали перед тем как job создавать.
poiuytrewq
Дата: 04.02.2009 08:58:54
Enterprise Manager -> Server -> Management -> Jobs
там создано задание, я его запускаю и вижу статус Failed
poiuytrewq
Дата: 04.02.2009 09:00:43
В QA пишет:

Exclusive access could not be obtained because the database is in use.
petsa
Дата: 04.02.2009 09:10:17
А так?

USE master
GO
RESTORE DATABASE [MyBase] FROM DISK = N'D:\Scheduled\msk_spr\spravka.bak'
WITH FILE = 1, MOVE N'AdventureWorks_Data' TO N'C:\MSSql\Database\MyBase.mdf',
MOVE N'AdventureWorks_Log' TO N'C:\MSSql\Database\MyBase_1.ldf', NOUNLOAD, REPLACE, STATS = 10
GO

Пути и имена быдут Ваши, подправьте.
Кудряшка
Дата: 04.02.2009 09:12:24
petsa
А так?

USE master
GO
RESTORE DATABASE [MyBase] FROM DISK = N'D:\Scheduled\msk_spr\spravka.bak'
WITH FILE = 1, MOVE N'AdventureWorks_Data' TO N'C:\MSSql\Database\MyBase.mdf',
MOVE N'AdventureWorks_Log' TO N'C:\MSSql\Database\MyBase_1.ldf', NOUNLOAD, REPLACE, STATS = 10
GO

Пути и имена быдут Ваши, подправьте.


А если он не один в базе сидит? :)
Supra93
Дата: 04.02.2009 09:13:36
petsa
А так?

USE master
GO
RESTORE DATABASE [MyBase] FROM DISK = N'D:\Scheduled\msk_spr\spravka.bak'
WITH FILE = 1, MOVE N'AdventureWorks_Data' TO N'C:\MSSql\Database\MyBase.mdf',
MOVE N'AdventureWorks_Log' TO N'C:\MSSql\Database\MyBase_1.ldf', NOUNLOAD, REPLACE, STATS = 10
GO

Пути и имена быдут Ваши, подправьте.

poiuytrewq
Exclusive access could not be obtained because the database is in use.