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

Откуда:
Сообщений: 13
Добрый день!

Что добавить к скрипту, либо сделать аналогичный скрипт для того чтобы базы восстанавливались из bak в E:\SQL_DATA\имя базы ?
Сейчас скрипт кладет все базы и логи в одну папку E:\SQL_DATA\.

Сам скрипт:

#!/bin/bash
for f in $(cat list_databases.txt);
do
echo "RESTORE DATABASE [$f] FROM DISK = N'D:\databases_backup\\"$f".bak'
WITH FILE=1, MOVE N'"$f"' TO N'E:\SQL_DATA\\"$f".mdf', MOVE N'"$f"_log' TO N'E:\SQL_DATA\\"$f"_log.ldf'"; done >> tsql_data_restore.txt

запуск скрипта: sqlcmd -S localhost -i d:\tsql_data_backup.txt
21 май 15, 16:06    [17672398]     Ответить | Цитировать Сообщить модератору
 Re: RESTORE баз в одноименные подпапки с помощью скрипта  [new]
Glory
Member

Откуда:
Сообщений: 104751
supernaut
Что добавить к скрипту,

Поменять наверное значение для TO ?
21 май 15, 16:11    [17672429]     Ответить | Цитировать Сообщить модератору
 Re: RESTORE баз в одноименные подпапки с помощью скрипта  [new]
supernaut
Member

Откуда:
Сообщений: 13
Glory,
знаешь на что?
21 май 15, 16:13    [17672441]     Ответить | Цитировать Сообщить модератору
 Re: RESTORE баз в одноименные подпапки с помощью скрипта  [new]
Glory
Member

Откуда:
Сообщений: 104751
supernaut
Glory,
знаешь на что?

E:\SQL_DATA\имя базы ??
21 май 15, 16:16    [17672454]     Ответить | Цитировать Сообщить модератору
 Re: RESTORE баз в одноименные подпапки с помощью скрипта  [new]
supernaut
Member

Откуда:
Сообщений: 13
Glory,
баз много, должна быть какая-то переменная
21 май 15, 16:20    [17672477]     Ответить | Цитировать Сообщить модератору
 Re: RESTORE баз в одноименные подпапки с помощью скрипта  [new]
Minamoto
Member

Откуда: Москва
Сообщений: 1162
supernaut,

$f?
21 май 15, 16:21    [17672486]     Ответить | Цитировать Сообщить модератору
 Re: RESTORE баз в одноименные подпапки с помощью скрипта  [new]
supernaut
Member

Откуда:
Сообщений: 13
Minamoto,
В какую строчку?
21 май 15, 16:26    [17672521]     Ответить | Цитировать Сообщить модератору
 Re: RESTORE баз в одноименные подпапки с помощью скрипта  [new]
Glory
Member

Откуда:
Сообщений: 104751
supernaut
В какую строчку?

Вы не видите, где в вашей команде задается расположение для файлов базы что ли ?
21 май 15, 16:30    [17672552]     Ответить | Цитировать Сообщить модератору
 Re: RESTORE баз в одноименные подпапки с помощью скрипта  [new]
Minamoto
Member

Откуда: Москва
Сообщений: 1162
supernaut,

в последнюю?

У меня создается ощущение, что скрипт писали не вы. Может имеет смысл обратиться к автору скрипта?

Если это нереально, почитайте руководство по команде RESTORE:

https://msdn.microsoft.com/en-us/library/ms186858.aspx
21 май 15, 16:31    [17672561]     Ответить | Цитировать Сообщить модератору
 Re: RESTORE баз в одноименные подпапки с помощью скрипта  [new]
supernaut
Member

Откуда:
Сообщений: 13
Minamoto,
Скрипт писал не я, не отрицаю. Поэтому спрашиваю знающих людей на форуме. Сразу скажу. что гуглил и ничего не нашел.
21 май 15, 16:34    [17672585]     Ответить | Цитировать Сообщить модератору
 Re: RESTORE баз в одноименные подпапки с помощью скрипта  [new]
Glory
Member

Откуда:
Сообщений: 104751
supernaut
Поэтому спрашиваю знающих людей на форуме.

Скрипты на bash обсуждают в другом форуме
21 май 15, 16:36    [17672607]     Ответить | Цитировать Сообщить модератору
 Re: RESTORE баз в одноименные подпапки с помощью скрипта  [new]
supernaut
Member

Откуда:
Сообщений: 13
Glory,
можно ссылку?
21 май 15, 16:38    [17672623]     Ответить | Цитировать Сообщить модератору
 Re: RESTORE баз в одноименные подпапки с помощью скрипта  [new]
Glory
Member

Откуда:
Сообщений: 104751
supernaut
Glory,
можно ссылку?

Здесь не справочная по всем скриптовым языкам. Используйте Гугл
21 май 15, 16:39    [17672635]     Ответить | Цитировать Сообщить модератору
 Re: RESTORE баз в одноименные подпапки с помощью скрипта  [new]
felix_ff
Member

Откуда: Moscow
Сообщений: 1749
Minamoto,

господи что у вас за аццкая смесь bash/cmd/sql?

у вас имя базы берется с текстового файла list_databases.txt
строка скрипта будет вида:
#!/bin/bash
for f in $(cat list_databases.txt); 
do 
echo "RESTORE DATABASE [$f] FROM DISK = N'E:\SQL_DATA\" $f ".bak'"
WITH FILE=1, MOVE N'"$f"' TO N'E:\SQL_DATA\\"$f".mdf', MOVE N'"$f"_log' TO N'E:\SQL_DATA\\"$f"_log.ldf'"; done >> tsql_data_restore.txt


мб напутал немного с кавычками вот тут N'E:\SQL_DATA\" $f ".bak'"
21 май 15, 16:41    [17672653]     Ответить | Цитировать Сообщить модератору
 Re: RESTORE баз в одноименные подпапки с помощью скрипта  [new]
felix_ff
Member

Откуда: Moscow
Сообщений: 1749
а не.. совсем напутал

#!/bin/bash
for f in $(cat list_databases.txt); 
do 
echo "RESTORE DATABASE [$f] FROM DISK = N'D:\databases_backup\\"$f".bak' 
WITH FILE=1, MOVE N'"$f"' TO N'E:\SQL_DATA\\"$f"\"$f".mdf', MOVE N'"$f"_log' TO N'E:\SQL_DATA\\"$f"\"$f"_log.ldf'"; done >> tsql_data_restore.txt


чота типа того
21 май 15, 16:47    [17672703]     Ответить | Цитировать Сообщить модератору
 Re: RESTORE баз в одноименные подпапки с помощью скрипта  [new]
supernaut
Member

Откуда:
Сообщений: 13
felix_ff,
Да, имя берется из файла и нужно чтобы создавалась папка с именем по конечному пути рестора.
21 май 15, 16:47    [17672707]     Ответить | Цитировать Сообщить модератору
 Re: RESTORE баз в одноименные подпапки с помощью скрипта  [new]
supernaut
Member

Откуда:
Сообщений: 13
felix_ff,
не, так тоже пробовал
21 май 15, 16:50    [17672720]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить