<
  • Главная
Статьи

Як створити архів бази даних на MS SQL Server 2008

  1. Як створити архів бази SQL сервера
  2. Створюємо архів бази SQL сервера через запит
  3. Автоматичне створення backup на SQL сервері

Продовжуємо розмовляти про резервне копіювання і сьогодні ми навчимося створювати архів бази MS SQL Server 2008. Розглядати всі будемо як завжди на прикладах з використанням, як графічного інтерфейсу, так і з використанням SQL запиту, а також налаштуємо автоматичне створення backup за допомогою батника.

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

І в останній статті я говорив, що ми розглянемо можливість створення архіву на СУБД MS SQL Server 2008, тому зараз ми займаємося саме цим.

І так як теорії вже було багато відразу перейдемо до практики, а саме до створення backup бази.

Примітка! Як видно їх назви статті архів ми будемо робити на СУБД Microsoft SQL 2008 за використанням Management Studio. Сервер розташовується локально. ОС Windows 7.

Як створити архів бази SQL сервера

Давайте визначимося, що архів ми будемо робити тестової бази з назвою «test». З початку через графічний інтерфейс, і в процесі цього запишемо сценарій, для того щоб в подальшому можна було просто запустити його і вже не відволікатися на введення будь-якого роду параметрів.

Відкриваємо Management Studio, розкриваємо «Бази даних», вибираємо потрібну базу, клацаємо правою кнопкою миші по ній, вибираємо завдання-> Створити резервну копію

Відкриваємо Management Studio, розкриваємо «Бази даних», вибираємо потрібну базу, клацаємо правою кнопкою миші по ній, вибираємо завдання-> Створити резервну копію

У Вас відкриється вікно «Резервне копіювання бази даних» де Ви можете задати параметри, архівування. Я всього лише задав ім'я «Резервного набору даних», а також змінив назву архіву та шлях, так як за замовчуванням він буде створюватися в папку Program Files, наприклад, у мене за замовчуванням був шлях

C: \ Program Files \ Microsoft SQL Server \ MSSQL10_50.MSSQLSERVER \ MSSQL \ Backup \

Для прикладу я змінив його на C: \ temp \ і назвав архів test_arh.bak

bak

Також якщо перейти на пункт «Параметри» то можна задати налаштування перезаписувати все набори даних, зараз поясню що це. Якщо Ви залишите все як є, тобто додавати до існуючого набору даних то у Вас файл з резервною копією буде один, але з декількома екземплярами наборів даних, тобто при відновленні Ви просто виберете потрібний Вам набір. А якщо поставите «Перезаписувати всі існуючі резервні набори даних» то набір завжди буде один, тоді в цьому випадку Вам необхідно буде створювати архіви (припустимо щоденні) з різними назвами. Я поставив перезаписувати, так як допустимо, в подальшому, я планую створювати архіви за кожен день із зазначенням дати в назві цих архівів, щоб оперативно в разі необхідності скопіювати потрібний мені backup за певну дату в будь-яке місце.

І до речі, на цьому моменті, після введення всіх параметрів, можна створити сценарій, для того щоб записати його і в подальшому використовувати. Для цього просто вгорі натискаємо «Сценарій»

І в результаті цієї дії у Вас відкриється вікно запитів, в якому і буде код даного сценарію. До нього повернемося трохи пізніше, а поки тиснемо «ОК» і після завершення операції у Вас з'явиться вікно, в якому буде вказано результат виконання резервного копіювання, якщо все добре, то буде наступне повідомлення

Створюємо архів бази SQL сервера через запит

Якщо Ви все зробили, як вказано вище (тобто натиснули «Сценарій») то у Вас відкрилося вікно запитів, в якому власне і є сам запит створення архіву, але ми його трохи переробимо, так як я сказав, що ми плануємо запускати його кожен день, тому щоб назва була відповідна, ми напишемо ось таку SQL інструкцію.

declare @path as varchar (200) set @path = N'C: \ temp \ test_arh_ '+ CONVERT (varchar (10), getdate (), 104) +' .bak 'BACKUP DATABASE [test] TO DISK = @path WITH NOFORMAT, INIT, NAME = N'База даних test ', SKIP, NOREWIND, NOUNLOAD, STATS = 10 GO

І тепер якщо ми запустимо його, то у нас створиться резервна копія бази даних з назвою test_arh_ Поточна дата .bak

Автоматичне створення backup на SQL сервері

Для цих цілей в MS SQL 2008 існує спеціальна можливість під назвою «Плани обслуговування» де якраз можна налаштувати розклад по створенню резервної копії баз даних, але я пропоную для цих цілей використовувати bat-файл щоб його налаштувати за розкладом і щоб він кожен день запускався і робив backup бази даних. Для цього скопіюйте SQL інструкцію, яку ми розглянули вище, і вставляйте її в блокнот (рекомендую Notepad ++ ) Потім зберігаєте з розширенням .sql тобто цей сценарій буде виконуватися на MS Sql 2008. Потім нам залишиться написати батник, для того щоб він підключився до SQL сервера і виконав наш сценарій. Також в блокноті пишемо:

SET cur_date =% date: ~ 6,4 %% date: ~ 3,2 %% date: ~ 0,2% osql -S localhost -i C: \ temp \ test.sql -o C: \ temp \% cur_date % _log_sql.log -E

де, я створив змінну cur_date для того щоб в ній зберігати поточну дату, потім підключаюся до локального сервера, через утиліту osql яка використовує ODBC і виконую наш сценарій (я його назвав test.sql), а також записую лог, де і як раз нам знадобилася наша змінна, все, зберігаємо з розширенням .bat, створюємо завдання в планувальнику і можна сказати забуваємо про процес архівування бази даних, ну тільки періодично перевіряємо, створився чи архів чи ні.

Для основ цього зовсім достатньо, тепер Ви знаєте, як можна створювати резервні копії баз даних на 2008 SQL сервері, в наступній статті ми розглянемо, як можна відновити базу даних на MS Sql 2008. А поки все! Успіхів!

Схожі статті:



Новости
  • Виртуальный хостинг

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

  • Редизайн сайта

    Редизайн сайта – это полное либо частичное обновление дизайна существующего сайта.... 
    Читать полностью

  • Консалтинг, услуги контент-менеджера

    Сопровождение любых интернет ресурсов;- Знание HTML и CSS- Поиск и обновление контента;-... 
    Читать полностью

  • Трафик из соцсетей

    Сравнительно дешевый способ по сравнению с поисковым и контекстным видами раскрутки... 
    Читать полностью

  • Поисковая оптимизация

    Поисковая оптимизация (англ. search engine optimization, SEO) — поднятие позиций сайта в результатах... 
    Читать полностью