Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   Backup данных MS SQL (http://forum.oszone.net/showthread.php?t=3059)

f0kker 19-04-2004 11:07 17095

Есть сервак (в2к), контроллер домена, на котором установлен MS SQL. На серваке ежедневно выполняется бэкап стандартной виндовой утилитой.
Нужно также ежедневно бэкапить данные MS SQL, но для этого требуется стопануть сервис. Вручную это делать легко - для этого иконка в трее висит %)
А вот как заставить этот виндовый бекап тормозить сервис, бэкапить данные SQL, а потом опять его запускать? Подскажите

И еще вопросик - можно ли бэкапить данные в 2 файла (один оставлять на том же серваке, а второй на другой машине в сетке) [paranoya-mode] %))

Miracloid 19-04-2004 11:33 17096

А зачем тебе бекапить стандартными средствами Сиквел?
Напиши скрипт для Сиквела:
Enterprise Manager - Выполнение задач по расписанию
и копать в сторону "backup database"

f0kker 19-04-2004 11:37 17097

Дело в том, что в SQL я полный профан, дальше ручной остановки\запуска сервиса дело пока не пошло :\

Miracloid 19-04-2004 12:23 17098

Start - Programs - Microsoft SQL Server - Enterprise Manager
SQL Server Agent - Jobs
Создаешь задачу, которая будет выполняться по расписанию
даешь туда комманду backup database и бекапишь базы, когда тебе нужно и как нужно
обязательно бекапить базы
master
model
msdb
и естественно твои базы


SkyF 19-04-2004 16:29 17099

f0kker
в SQL EM: меню Tools, далее Wizards..
выбирайте Management - Backup Database

и укажите рассписания Schedules

f0kker 19-04-2004 16:42 17100

SkyF, Там в списке только один Wizard "Register server wizards"..

Miracloid, а где этот SQL Server Agent? Все перерыл - ничего не нашел :[

Miracloid 19-04-2004 19:37 17101

Нажимаешь кнопочку "Start" ("Пуск") в нижнем левом углу экрана - откроеться менюшка, дальше выбираешь "Программы" - "Microsoft SQL Server" - "Enterprise Manager"
...сейчас виртуальную машину открою - посмотрю...
Откроется окошко -  :biglaugh:, давишь Microsoft SQL Servers - SQL Server Group -  твой сервер - Management - SQL Server Agent - правая кнопка мышки -"Start" (по дороге может спросить пароль sa)
после того как появится зеленый треугольник, открываешь
SQL Server Agent - там есть Backup - на нем правую кнопку - Backup a Database - добавишь Sheduling и в Jobs появится задание по расписанию - это будет тебе пример

to Skif: бекап лучше описывать ручками - узнаешь много интересного!

f0kker 19-04-2004 20:27 17102

Miracloid, за такую сверхподробную инструкцию огромная тебе благодарность! :)

[s]Исправлено: f0kker, 20:42 19-04-2004[/s]

SkyF 20-04-2004 22:21 17103

f0kker
Цитата:

SkyF, Там в списке только один Wizard "Register server wizards"..
Это от того, что для начала нужно просто фокус ввода поставить на конкретный сервер (при этом вы будете уже подключены к нему и пиктограмма на имени сервера изменится на белую стрелочку на зеленом фоне). После этого можно уже и мастера вызывать именно для этого сервера, а без этого SQL EM не понимает для какого из ваших подключений вызывать мастера ( в нем можно несколько регистраций SQL серверов находиться, как вы убедились).
После того как мастер отработает (если вы настраивали расписание), то можете проследлвать в ветку - SQL Server Agent - Jobs  и выполнить дополнительное редактирование созданного задания (добавить дополнительные шаги по сжатию файла резервной копии, или включить уведомления на случай ошибочного завершения задания [fail])

удачи!


Добавлено:

Miracloid
Цитата:

to SkyF: бекап лучше описывать ручками - узнаешь много интересного!
особенно, если:
f0kker сообщил: Дело в том, что в SQL я полный профан, дальше ручной остановки\запуска сервиса дело пока не пошло :\

мне так совершенно не кажется..
много интересного узнать тогда можно потом.. когда придется восстанавливать из резервных копий делавшихся на скорую руку.

ну да ладно... Надеюсь, все наладится..
спасибо за помощь..

f0kker 21-04-2004 16:53 17104

Всё настроил, еще раз благодарствую
Только в процессе возник еще один вопрос: когда я настраивал задание, мне предлагалось выбрать какую базу бэкапить. Я выбрал самый верхний пункт из ниспадающего меню (название моей базы). Я правильно понял - при его выборе бэкапится ВСЁ, в т.ч
Цитата:

master
model
msdb
?

И еще один вопрос остался открытым: как автоматизировать дублирование конечных бэкаповских файлов (стандартной утилиты backup и того же агента из MS SQL), например, на соседний комп в сети?

[s]Исправлено: f0kker, 16:57 21-04-2004[/s]

SkyF 21-04-2004 17:27 17105

f0kker
Цитата:

. Я выбрал самый верхний пункт из ниспадающего меню (название моей базы)
какую указали БД, такую и зарезервирует.

попробуйте Database Maintance Plans из режима management - он позволяет указывать сразу несколько БД и создает для них расписание резервирования ( среди прочего, чего можно не настраивать как раз).

Цитата:

как автоматизировать дублирование конечных бэкаповских файлов (стандартной утилиты backup и того же агента из MS SQL), например, на соседний комп в сети?
  1. выполнять резервирование сразу на сетевую папку по UNC имени (например: \\server\backup\pubs.bak). При этом резервная копия создается от имени той учетной записи, от имени кторой работает служба SQL .
  2. добавить дополнительный шаг в задании агента (типа CmdExec)и указать командный файл с необходимой командой (например: copy d:\backup\pubs.bak \\server\backup\pubs.bak).

EvgeniyQQQ 23-08-2007 12:22 631867

Добрый день! Я полный профан в области знаний по SQL Server. Хотелось бы научиться делать бэкап базы данных SQL Server 2005 с использованием командной строки. Помогите пожалуйста.

vadimiron 24-08-2007 11:52 632385

EvgeniyQQQ,
Начните с этой утилиты

здесь тоже

EvgeniyQQQ 24-08-2007 13:55 632448

Вопрос снят. Разобрался.

set DIR_BACKUP=C:\\backupMSSQL_%date%
set NAME_PC=<Имя ПК>

md %DIR_BACKUP%

osql -S %NAME_PC% -E -Q "BACKUP DATABASE wind TO DISK = '%DIR_BACKUP%\wind.bak' with init"
osql -S %NAME_PC% -E -Q "BACKUP DATABASE master TO DISK = '%DIR_BACKUP%\master.bak' with init"
osql -S %NAME_PC% -E -Q "BACKUP DATABASE model TO DISK = '%DIR_BACKUP%\model.bak' with init"
osql -S %NAME_PC% -E -Q "BACKUP DATABASE msdb TO DISK = '%DIR_BACKUP%\msdb.bak' with init"


vadimiron, спасибо.

Anatoliy2004 30-08-2007 11:15 635474

смотри тему
Размер файла базы данных MS SQL


Время: 09:28.

Время: 09:28.
© OSzone.net 2001-