(495) 925-0049, ITShop интернет-магазин 229-0436, Учебный Центр 925-0049
  Главная страница Карта сайта Контакты
Поиск
Вход
Регистрация
Рассылки сайта
 
 
 
 
 

Создание и хранение резервных копий баз данных в MS SQL. Практические советы

Источник: habrahabr
armid

Дополнения и ее некоторые практические рекомендациями по созданию и хранению резервных копий базы данных.

1. Размер резервной копии

Оценить размер резервной копии можно с помощью хранимой процедуры

sp_spaceused

К примеру вот такой запрос:

USE your_database; GO EXEC sp_spaceused @updateusage = N'TRUE'; GO
выполняется намного быстрей резервного копирования, и позволяет более-менее точно оценить будущий размер бэкапа без сжатия.

Если вы используете MS SQL 2008 или выше, рекомендую вам использовать сжатие резервных копий средствами SQL. Следующий код включит сжатие по умолчанию:

USE master; GO EXEC sp_configure "backup compression default", '1'; RECONFIGURE WITH OVERRIDE;
Это позволит уменьшить время создания бэкапов. К примеру, на одной из наших БД размером около 290 ГБ, создание полной резервной копии с включенным сжатием происходит ровно в 2 раза быстрей. А размер конечного файла выходит в 2 раза больше, чем размер архива 7z (максимальное сжатие) резервной копии без изначального сжатия. Ох уж эта магическая цифра 2. Если учесть что процесс архивации занимал 10 часов - выгода огромна.

2. Удаляем старые резервные копии

Еще один плюс использования сжатия SQL, заключается в том, что SQL помнит историю создания резервных копий. А следовательно можно задавать время жизни резервной копии. А старые резервные копии можно удалять, написав *.bat скрипт и вызывать его непосредственно в плане обслуживания:

EXEC master..xp_cmdshell 'path for bat script

Но что бы эта штука работала, необходимо единожды выполнить запрос:
-- To allow advanced options to be changed. EXEC sp_configure 'show advanced options', 1 GO -- To update the currently configured value for advanced options. RECONFIGURE GO -- To enable the feature. EXEC sp_configure 'xp_cmdshell', 1 GO -- To update the currently configured value for this feature. RECONFIGURE GO

3. Оповещать администратора по почте

Очень удобно получать электронное письмо после создания бэкапа. Для добавления электронной почты оператора делаем так:

USE [msdb] GO EXEC msdb.dbo.sp_add_operator @name=N'Operator name', @enabled=1, @pager_days=0, @email_address=N'Operator e-mail', @pager_address=N'', @netsend_address=N'' GO
Помимо этого необходимо настроить компонент Database Mail. Сделать это проще всего через среду Management Studio и одноимённого компонента Database Mail

database mail in maintenance plan

Там всё достаточно просто. Далее в плане обслуживания добавляем соответствующий компонент.

image

4. Если не усекается журнал транзакций после контрольной точки

При больших операциях вставки в БД, есть смысл переключить режим восстановления на простую, а после вставки данных снова в полную.
У меня, иногда, такие финты проявляются тем, что журнал транзакций перестаёт усекаться. В большинстве случает достаточно сделать 2 раза бэкап журнала транзакций. Но для того что бы не гадать на кофейной гуще, рекомендую выполнить такой запрос:

select log_reuse_wait_desc from sys.databases where name = 'your_database'
В ответ получим ответ, о том каких действий SQL ожидает. Если в ответ получим LOG_backup, значит делаем бэкап журнала еще раз.

5. Что можно делать одновременно?

Если БД большая, тяжело так составить расписание, что бы соседние операции не пересекались. А если вдруг пересекаются, чем это чревато?

Вот такая шпаргалка вам поможет. Жирная точка указывает на операции которые нельзя выполнять одновременно.

image

А еще не забывайте делать бэкапы системных БД. В частности master и msdb.

Ссылки по теме


 Распечатать »
 Правила публикации »
  Обсудить материал в конференции Microsoft »
Обсудить материал в конференции Дизайн, графика, обработка изображений »
Написать редактору 
 Рекомендовать » Дата публикации: 05.12.2013 
 

Магазин программного обеспечения   WWW.ITSHOP.RU
Microsoft Office 365 Персональный 32-bit/x64. 1 ПК/MAC + 1 Планшет + 1 Телефон. Все языки. Подписка на 1 год.
Microsoft SQL CAL 2017 Sngl OLP 1License NoLevel DvcCAL
Microsoft Office 365 для Дома 32-bit/x64. 5 ПК/Mac + 5 Планшетов + 5 Телефонов. Подписка на 1 год.
Microsoft SQL CAL 2017 Sngl OLP 1License NoLevel UsrCAL
Microsoft Windows Professional 10, Электронный ключ
 
Другие предложения...
 
Курсы обучения   WWW.ITSHOP.RU
 
Другие предложения...
 
Магазин сертификационных экзаменов   WWW.ITSHOP.RU
 
Другие предложения...
 
3D Принтеры | 3D Печать   WWW.ITSHOP.RU
 
Другие предложения...
 
Новости по теме
 
Рассылки Subscribe.ru
Информационные технологии: CASE, RAD, ERP, OLAP
Безопасность компьютерных сетей и защита информации
Новости ITShop.ru - ПО, книги, документация, курсы обучения
Программирование на Microsoft Access
CASE-технологии
Новые материалы
Новые программы для Windows
 
Статьи по теме
 
Новинки каталога Download
 
Исходники
 
Документация
 
Обсуждения в форумах
Отличается ли ДрифтКазино от беттинга? (9)
Друзья, давно заметил, что на Дрифте уже несколько месяцев во всю рекламируется и предлагается...
 
Windows 10 загружен процессор (2)
Добрый день! На рабочем ПК Windows 10, компьютер тормозит, в диспетчере задач выдает что диск...
 
ErWin to Access Relation Error (2)
Всем привет! ErWin при попытке генерации в Ассеss выдаёт: ERwinDatabase.Relations.Append...
 
Помощь по MS Access (331)
Доброе время суток. Случайно оказался на этом сайте, искал статьи по OLAP. Вижу, что...
 
Смена типа уровня модели (1)
Здравствуйте. При запуске программы выбрал уровень "Логический" вместо "Логический и...
 
 
 



    
rambler's top100 Rambler's Top100