• Обсуждения на сайте Альта-Софт

Создание дубля базы (вопрос к ТП)

Модераторы: Renat, Gala, alta_olg, Lemur, expert

Ответить
iboxjo
Почетный участник
Сообщения: 107
На форуме: c 06 июн 2008
Сказал: 7 ед.
Получил: 2 ед.

Создание дубля базы (вопрос к ТП)

Сообщение iboxjo »

Подскажите скрипт позволяющий создать полную копию рабочей SQL базы с другим именем на том же сервере. dbutil не предлагать :). Т.е. при наличии базы gtd, требуется наличие той же базы с именем gtd_back на том же сервере.
gorkin
Почетный участник
Сообщения: 191
На форуме: c 25 мар 2013
Сказал: 0 ед.
Получил: 51 ед.

Re: Создание дубля базы (вопрос к ТП)

Сообщение gorkin »

Вам нужен именно скрипт? Т.е. руками вы делать не хотите? Почему? Надо сто раз такое проделывать? Для чего вообще вы это делаете?
iboxjo
Почетный участник
Сообщения: 107
На форуме: c 06 июн 2008
Сказал: 7 ед.
Получил: 2 ед.

Re: Создание дубля базы (вопрос к ТП)

Сообщение iboxjo »

Скрипт должен отрабатывать раз в квартал на паре десятков ноутов, совместно с со скриптами очистки и создания резервных копий. Скрипты очистки базы и резервного копирования легко создать в Альте, а вот автоматизировать создание копий баз с новыми именами не получается.
Аватара пользователя
aiki
Дед
Сообщения: 302
На форуме: c 14 апр 2010
Откуда: СП "Интегра", Ижевск
Сказал: 7 ед.
Получил: 74 ед.

Re: Создание дубля базы (вопрос к ТП)

Сообщение aiki »

iboxjo писал(а):Скрипт должен отрабатывать раз в квартал на паре десятков ноутов, совместно с со скриптами очистки и создания резервных копий. Скрипты очистки базы и резервного копирования легко создать в Альте, а вот автоматизировать создание копий баз с новыми именами не получается.
Вы бы описали решаемую задачу. Чтоб решение предложить.
Sidyakin
Постоянный участник
Сообщения: 22
На форуме: c 22 ноя 2010
Сказал: 0 ед.
Получил: 2 ед.

Re: Создание дубля базы (вопрос к ТП)

Сообщение Sidyakin »

Вообще операция восстановления БД имеет слишком много нюансов.
В общем случае SQL-команда для Вашей задачи может выглядеть так:

RESTORE DATABASE gtd_new
FROM DISK = 'C:\backup\gtd.bak' with recovery,
move 'gtd' to 'C:\Data\gtd_new\gtd.mdf',
move 'gtd_log' to 'C:\Data\gtd_new\gtd_log.ldf'

Здесь создается новая БД с именем gtd_new из архива (файла), расположенного в C:\backup\gtd.bak. Физические файлы при этом должны располагаться в отдельной папке, н-р, C:\Data\gtd_new.
Также для этой операции нужно точно знать, как называются логические имена файлов базы (в примере это gtd и gtd_log).

Обкатывайте команду сначала в Managment Studio. Как только все заработает, можете оформить в виде bat-ника по примеру backup.cmd.

Да, и учтите, что операцию восстановления, в отличии от бэкапа, нельзя выполнить, если к базе подключены пользователи.

А вообще, конечно, такие операции все-таки лучше проводить под контролем. Где-то что-то пойдет не так, Вы сразу не заметите, и данные могут потеряться.
iboxjo
Почетный участник
Сообщения: 107
На форуме: c 06 июн 2008
Сказал: 7 ед.
Получил: 2 ед.

Re: Создание дубля базы (вопрос к ТП)

Сообщение iboxjo »

Благодарю за ответ. Да подконтрольно конечно лучше. Но задача поставлена и её надо попробовать решить. Ещё раз спасибо, попробую.
Ответить