Войти

Показать полную графическую версию : Остановка sql 2008 для бекапа


Страниц : [1] 2

darkAge
24-10-2011, 15:52
Доброго дня, помогите со скриптом для остановки сервера, и бекапа базы. Для планировщика заданий windows,

cameron
24-10-2011, 16:07
SQL для этого останавливать не нужно, иначе бэкап не сделается.

darkAge
24-10-2011, 16:10
Да нет, бекапить нужно базу банк клиента, когда sql запущен, то файлы скопировать не выходит, для этого приходится останавливать сервер.

cameron
24-10-2011, 16:14
Да нет, бекапить нужно базу банк клиента, когда sql запущен, то файлы скопировать не выходит, для этого приходится останавливать сервер. »
http://forum.oszone.net/thread-218288.html

darkAge
24-10-2011, 17:00
Наверное я не так объяснил, нужно забекапить базу банк-клиента, доступа к ней нет если запущен SQL server, нужно создать батник, где останавливается служба, делается бэкап, и снова служба запускается.
Команда net stop MSSQLServer выдает ошибку 1060, с сообщение- что служба не установлена.

cameron
24-10-2011, 20:58
darkAge,
вы меня упорно не понимаете.
не делается бэкап копированием файлов базы данных MSSQL.
так ясно?
если уж вам никак это не понять, то батник делается так:

net stop mssql$%что-то% (где %что-то% это имя вашей инстанции, поглядеть можно в службах)
copy %some_path%\%some_files.mdf% %dest_path% (где %some_path% - путь к файлам БД, %some_files.mdf% - название нужных файлов, %dest_path% - путь куда копировать )
copy %some_path%\%some_files.ldf% %dest_path% (где %some_path% - путь к файлам БД, %some_files.ldf% - название нужных файлов, такое же как и выше, только другое расширение, %dest_path% - путь куда копировать )
net start mssql$%что-то% (где %что-то% это имя вашей инстанции, поглядеть можно в службах)

Delirium
25-10-2011, 00:54
cameron, ну если человек не хочет понять прописные истины, видать он привык копировать базы 1С и считает, что везде так.

zavoruev
27-10-2011, 09:14
cameron, и Delirium, человек изначально пишет что это база банк-клиента, и за машиной сидит наверно девушка и работате с базой (т.е создает платжные поручения и т.д и т.п), это не СЕРВЕР. Вопрос в том что если запустится скрипт из SQL Server Management Studio, сможет ли она так же успешно работать с базой, не приведет ли это к нежелательным последствиям!???
Плюс удобно сделать скрипт и сказать девушке, что после работы с базой запусти его, и после выполнения иди успешно домой!!!
Если не так, то поправьте?!

cameron
27-10-2011, 09:21
Вопрос в том что если запустится скрипт из SQL Server Management Studio, сможет ли она так же успешно работать с базой, не приведет ли это к нежелательным последствиям!??? »
сможет
Плюс удобно сделать скрипт и сказать девушке, что после работы с базой запусти его, и после выполнения иди успешно домой!!!
Если не так, то поправьте?! »
в корне не верно.
человек может забыть/заболеть/уволиться.
бэкапы должны быть полностью автоматическими.

darkAge
27-10-2011, 09:27
cameron,
А планировщик заданий Windows, разве не сможет батник запускать?
это если нужно будет автоматически.

cameron
27-10-2011, 09:33
А планировщик заданий Windows, разве не сможет батник запускать? »
сможет, но зачем всё это?
встроенные средства MS SQL позволяют это.

darkAge
27-10-2011, 09:51
Тогда встречный вопрос, манаджмент студио по сети базы бекапить может, или её ставить нужно, на тот на котором нужно бекапить базы?

cameron
27-10-2011, 09:56
манаджмент студио по сети базы бекапить может, или её ставить нужно, на тот на котором нужно бекапить базы? »
это консоль управления.
бэкапит сам SQL Server, а не она.

ответ - да может. нет, ставить не нужно.

Busla
27-10-2011, 10:01
darkAge, Management Studio ничего не бекапит, это инструмент удалённого управления SQL Server.
Да, его можно поставить на другой компьютер, удалённо подключиться к серверу БД и назначить задания резервного копирования.

kim-aa
27-10-2011, 11:10
Цитата darkAge: А планировщик заданий Windows, разве не сможет батник запускать? »
сможет, но зачем всё это?
встроенные средства MS SQL позволяют это. »


Если просто выгружать, то, действительно, проще сделать средствами MS.

Если ваять, что то сложное, например скрипт который:
- Стопит сервер-приложений, например 1С;
- Делает резервную копию сервера приложений;
- Выгружает резервную копию СУБД;
- Стартует сервер приложений;
- пожимает все, например RARом;
- соединяется с центром по GPRS/VPN;
- пересылает все по FTP в резервное хранилище;
- пересылает логи всех процессов админу на почту, причем в случае ошибок шлется доп-аларм

Вот такое проще реализовывать скриптом.

cameron
27-10-2011, 11:15
- Стопит сервер-приложений, например 1С; »
для бэкапа БД 1С 8,х это не нужно.
- Делает резервную копию сервера приложений; »
эээммммм, а что там бэкапить, простите? настройки баз? :) и опять же, это никак не связанно с MS SQL.
- соединяется с центром по GPRS/VPN;
- пересылает все по FTP в резервное хранилище; »
по GPRS, ага =)
Вот такое проще реализовывать скриптом. »
бесспорно, только вот есть готовые продукты, например Symantec Backup Exec.
ну или ntbackup/wsb и скрипты.

darkAge
27-10-2011, 11:48
вобщем все сделал, всё работает с помощью скрипта из 5-ти строчек

Если ваять, что то сложное, например скрипт который:
- Стопит сервер-приложений, например 1С;
- Делает резервную копию сервера приложений;
- Выгружает резервную копию СУБД;
- Стартует сервер приложений;
- пожимает все, например RARом; »

именно почти по такому сценарию и задумывалось ))

стопит сервер
архивирует и закидывает архив куда нужно
стартует сервер

cameron
27-10-2011, 11:52
архивирует и закидывает архив куда нужно »
файлы БД MS SQL? =)
или что?

Delirium
27-10-2011, 16:15
darkAge, а как ты будешь проверять целостность базы после простого копирования? Где гарантия, что файл скачается и перенесется куда надо с той же контрольной суммой, что и вначале? Да, внешне он будет идентичен оригиналу, а вот начинка уже не факт. Для того и существует встроенное бекапирование в MS SQL, которое обеспечивает высокую надежность создания копий БД. И все, абсолютно все сторонние программы для бекапов MS SQL запускают обыкновенные скрипты на самом сервере, и не более того. Не придумывай велосипед, почитай документацию, благо на этом же форуме куча ответов, как правильно сделать бекап MS SQL. И будет он тебе делаться по ЛЮБОМУ расписанию, хоть раз в 5 минут, хоть каждый вторник третьей недели месяца. И это будет БЫСТРО, НАДЕЖНО и, самое главное - АВТОМАТИЧЕСКИ и без остановки рабочего процесса.

kim-aa
27-10-2011, 17:47
эээммммм, а что там бэкапить, простите? настройки баз? и опять же, это никак не связанно с MS SQL. »

Не все сервера приложений хранят "свои потроха" исключительно в СУБД.
Многие java-ориентированные платформа хранят часть кода в виде файлов (например JAVA-инстанция SAP), а часть в СУБД, соответственно мало только выгрузить СУБД, нужно и забрать некоторые файлы.


по GPRS, ага »
А в чем собственно вопрос?
База в 100 МБ, жмется, режется на куски по мегабайту (самим архиватором) и прекрасно закачивается по FTP с докачкой.
Процесс может идти хоть целые сутки. Робот он железный - ему все равно :)

бесспорно, только вот есть готовые продукты, например Symantec Backup Exec. »

Да кто же спорит, только тот же BE стоит от 4000$.
Плюс, одно другому не противоречит - в любом средстве резервного копирования у задания (job) есть "preprocessing script" и "postprocessing script"

Так же все средства резервного копирования предъявляют достаточно жесткие требования между сервером управления и клиентом.




© OSzone.net 2001-2012