Имя: Пароль:
IT
Админ
v8: бэкап базы средствами sql
0 Borteg
 
25.02.13
10:27
Пытаюсь разобраться насчет бэкапов баз средствами sql. Понял что есть 2 вида бэкапа -полный,дифференциальный и есть еще бэкап лога.
Я делаю полный  бэкап базы. В случае падения системы, потери бд итд без бэкапа лога я смогу восстановить базу из полного бэкапа(на момент его создания)?
1 Галахад
 
гуру
25.02.13
10:28
Да.
2 80ksa
 
25.02.13
10:29
(0) сможешь без бекапа лога.
3 shamannk
 
25.02.13
10:30
Понял что есть 2 вида бэкапа -полный... И что же такое полный? Если такие вопросы задаешь значит ни че не понял.
4 80ksa
 
25.02.13
10:31
(0) а вот если захочешь перенести *.mdf и из нее на другом sql-сервере восстановить (attach) базу, то без *.ldf не сможешь этого сделать.
5 МихаилМ
 
25.02.13
10:33
(4)
ошибается. прекрасно переносится. проверено на 2000 и 2005 ms sql.
6 ptiz
 
25.02.13
10:33
(0) Сделай себе тестовые копии и поиграйся на них.
7 80ksa
 
25.02.13
10:34
(5) на 2000 у меня получалось, а вот на 2008 не получилось.
8 Borteg
 
25.02.13
10:35
Спасибо. А сам лог файл может служить как дифф бэкап?Т.е восстановить полную базу и потом из лога на другую дату восстановить изменения в базе?
9 80ksa
 
25.02.13
10:35
(6)+100
10 Галахад
 
гуру
25.02.13
10:36
(7) В 2008 тоже все прекрасно переноситься.
11 rs_trade
 
25.02.13
10:38
(8) Почитай документацию. Там все написано. На пальцах долго объяснять.
12 80ksa
 
25.02.13
10:38
(10)не получилось. Постоянно ругался что нет лог-файла. Уж точно не вспомню что я делал, но не хотел без лог файла делать attach, а на пустой ldf ругался, что это не настоящий ldf.
13 Borteg
 
25.02.13
10:38
да вот читаю с майкрософта, запутался ппц)
14 rs_trade
 
25.02.13
10:41
(13)
http://technet.microsoft.com/ru-ru/library/ms187048.aspx

Там надо внимательно и вдумчиво читать. Погугли просто статьи в инете про типы бекапов. А только потом документацию смотри. Понятней будет.
15 Галахад
 
гуру
25.02.13
10:41
(12) Ну, так надо было убрать его из списка, пустой ldf-то.
16 ДенисЧ
 
25.02.13
10:42
(12) ap_attach_single_file_db
17 80ksa
 
25.02.13
10:47
(15) получилось, только что проверил. А я в тот раз только пробовал подсовывать пустой ldf, вручную созданный и как мне казалось удалять из списка.
18 Speshuric
 
25.02.13
11:00
(0) Специально для таких вопросов написал: http://infostart.ru/public/173494/
19 Shurjk
 
25.02.13
11:03
Бэкап лога еще полезно делать не только для того чтобы была возможность восстановить базу на момент бэкапа, это еще предотвращает рост файла логов.
20 Sorm
 
25.02.13
11:03
(0) Да, сможешь.
21 Borteg
 
25.02.13
12:12
Хм. Все бы хорошо. Сделал полную копию бд, зашел в бд чтото изменил, сделал копию журнала транзакций. Теперь создаю новую базу, восстанавливают туда полную копию-все отлично. Но восстановить журнал транзакции неактивная надпись. тоесть restore-tasks-transcation logs  неактивна совсем( в чем может быть причина?
22 Галахад
 
гуру
25.02.13
12:14
(21) Предлагали же. Книжек надо почитать.
23 Sammo
 
25.02.13
12:16
Посмотри еще что такое модель Full, Simple.
Хотя, имхо, лучше покопаться на www.sql.ru на тему статей и книг по скулю
24 Borteg
 
25.02.13
12:19
(23) модель фулл
25 Borteg
 
25.02.13
12:20
(24) + и у базы с которой делаю копии и у базы куда восстанавливаю
26 Speshuric
 
25.02.13
12:22
(21) Полную копию в norecovery восстановил?
27 Borteg
 
25.02.13
12:24
(26)   Понял, спасибо большое, не доконца вкурил внизу галочки,теперь ясно. спасибо большое
28 Borteg
 
25.02.13
12:32
Копии лога транзакции и бд с помощью sql можно делать даже при активных пользователях?
p.s  может мои вопросы кажутся вам глупыми, но для меня это важно) не пирожками фирма занимается, а у них 2  бэкапа за год при активных 30 пользователях в базе и база фин плана была недавно утеряна прошлым программистом, поэтому сейчас вот куча вопросов чтобы недай бог не повторилось у них.
29 Галахад
 
гуру
25.02.13
12:34
(28) Да.
30 Borteg
 
25.02.13
12:37
(29) Спасибо большое,пошел читать дальше. ОЧень помогли. SQl реально крутая штука) я и не знал что прям аж вот так можно)
31 80ksa
 
25.02.13
14:32
(30) Молодец, так держать! того глядишь дойдешь до использования СУБД Erlang, где будешь менять программный код на "горячую" в момент формирования баланса))))
32 Jump
 
25.02.13
22:26
(0)У вас в корне неправильный подход к бэкапам судя по вашему вопросу.
Поясняю -
Для чего вам бэкапы?  - Для того чтобы быстро восстановить в случае проблем, так?
Заметьте - восстановить нужно быстро.
А как вы сможете восстановить быстро, если не восстанавливали?

Т.е правильная практика - настраиваем бэкап в тестовом режиме, делаем несколько пробных бэкапов, изучаем как оно бэкапиться, имитируем сбой, и пытаемся восстановить.
Вот на этом этапе у вас подобные вопросы и отпадут.
Заодно и появиться ясность какие бэкапы нужны и как часто.
33 GANR
 
26.02.13
01:21
(0) Конечно. Более того, ты можешь снять копию не выгоняя пользователей, в отличии от копирования файла *.mdf и выгрузки *.dt.
34 КонецЦикла
 
26.02.13
02:35
(32) Быстро - это переключиться на резервный сервер или воткнуть винт на горячую
Остальное не так быстро
35 ahachack2
 
26.02.13
02:39
(0) очень советую посмотреть на http://infostart.ru/public/147203/  (там наглядно можно посмотреть на разные сценарии резервирования/обслуживания + посмотреть какими скриптами это реализовано)
36 Jump
 
26.02.13
03:41
(34)Переключение на резервный сервер должно быть мгновенным, диск на горячую втыкают не прерывая работы.
А из бэкапа восстанавливать надо быстро...
37 Sammo
 
26.02.13
04:30
(32) Хм. Я согласен , что топикстартер не озвучил цель бэкапов, но не надо за него придумывать. "Быстро" - это не всегда цель. Иногда согласны и восстанавливать в течении суток.
Я бы сказал так - скорость восстановления и глубина бэкапа (данные за какое период готовы потерять). И это в разрезе размера базы и выделяемых на данную задачу ресурсов.
Например, восстановление в течении 5 часов с возможной потерей данных за день и восстановление в течении 15 минут с возможной потерей данных за 10 минут - это несколько разные подходы к бэкапированию :)
+ согласен, что обязательно требуется прогнать систему в рабочем режиме, т.е. сымитировать сбой.