Страница 1 из 1

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

Добавлено: Ср фев 03, 2016 09:10
iboxjo
Подскажите скрипт позволяющий создать полную копию рабочей SQL базы с другим именем на том же сервере. dbutil не предлагать :). Т.е. при наличии базы gtd, требуется наличие той же базы с именем gtd_back на том же сервере.

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

Добавлено: Ср фев 03, 2016 10:06
gorkin
Вам нужен именно скрипт? Т.е. руками вы делать не хотите? Почему? Надо сто раз такое проделывать? Для чего вообще вы это делаете?

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

Добавлено: Ср фев 03, 2016 10:32
iboxjo
Скрипт должен отрабатывать раз в квартал на паре десятков ноутов, совместно с со скриптами очистки и создания резервных копий. Скрипты очистки базы и резервного копирования легко создать в Альте, а вот автоматизировать создание копий баз с новыми именами не получается.

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

Добавлено: Ср фев 03, 2016 12:22
aiki
iboxjo писал(а):Скрипт должен отрабатывать раз в квартал на паре десятков ноутов, совместно с со скриптами очистки и создания резервных копий. Скрипты очистки базы и резервного копирования легко создать в Альте, а вот автоматизировать создание копий баз с новыми именами не получается.
Вы бы описали решаемую задачу. Чтоб решение предложить.

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

Добавлено: Ср фев 03, 2016 13:34
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.

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

А вообще, конечно, такие операции все-таки лучше проводить под контролем. Где-то что-то пойдет не так, Вы сразу не заметите, и данные могут потеряться.

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

Добавлено: Ср фев 03, 2016 15:21
iboxjo
Благодарю за ответ. Да подконтрольно конечно лучше. Но задача поставлена и её надо попробовать решить. Ещё раз спасибо, попробую.