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

Откуда: СПб --> Dortmund
Сообщений: 6608
Здравствуйте!

Решил придать гибкость своему давнему скрипту воссоздания базы из бекапа.
Хочу использовать переменные пути для указания, где лежат *.bak файлы и где восстановить базу:

declare @backups_path varchar(255)
declare @db_path varchar(255)

select @backups_path = 'D:\Backup\'
select @db_path = 'D:\DB-Dateien\'


RESTORE DATABASE MyBase 
FROM DISK = @backups_path+'MyBase.bak'
WITH 
  MOVE 'MyBase' TO @db_path+'MyBase.mdf',
  MOVE 'MyBase_log' TO @db_path+'MyBase_log.ldf'

при запуске получаю ошибку (в переводе с немецкого):
"неправильный синтакс рядом с @backups_path+'MyBase.bak' "
"неправильный синтакс рядом с WITH"


Вопрос
я имею вообще право использовать переменные в данном случае (и как???), или обязан прописывать полные пути?
2 июн 09, 12:08    [7255122]     Ответить | Цитировать Сообщить модератору
 Re: Не получается использовать переменные в RESTORE DATABASE  [new]
Ken@t
Member

Откуда: 大地
Сообщений: 3264
да, в переменных полностью сформируйте пути/имена
2 июн 09, 12:10    [7255133]     Ответить | Цитировать Сообщить модератору
 Re: Не получается использовать переменные в RESTORE DATABASE  [new]
Glory
Member

Откуда:
Сообщений: 104760
@backups_path+'MyBase.bak' не есть переменная. Это есть выражение. А в RESTORE DATABASE можно использовать только переменные
2 июн 09, 12:11    [7255136]     Ответить | Цитировать Сообщить модератору
 Re: Не получается использовать переменные в RESTORE DATABASE  [new]
Кроик Семён
Member

Откуда: СПб --> Dortmund
Сообщений: 6608
Ken@t , Glory,

спасибо за ликбез
2 июн 09, 12:14    [7255153]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить