Майже вся інформація в наших програмах, зберігається в окремому місці, яке називається база даних. Навіщо робити резервні копії бази даних і як налаштувати, щоб програма це автоматично робила, ми вже розглядали у блогах:
НАЛАШТУВАТИ АВТОСТВОРЕННЯ РЕЗЕРВНИХ КОПІЙ БАЗИ ДАНИХ (для ГІС 6)
НАЛАШТУВАТИ АВТОСТВОРЕННЯ РЕЗЕРВНИХ КОПІЙ БАЗИ ДАНИХ (для ГІС 6 Агро)
НАЛАШТУВАТИ АВТОСТВОРЕННЯ РЕЗЕРВНИХ КОПІЙ БАЗИ ДАНИХ (для ЕЖРК 2)
Тепер розглянемо ситуацію, коли потрібно зробити резервну копію прямо зараз, не очікуючи, поки це зробить програма автоматично. Це буває потрібно, коли ви хочете перенести базу на інший комп'ютер, перевстановити на своєму комп'ютері операційну систему або просто зробити резервну копію бази. Даний спосіб підходить лише якщо у вас MS SQL Server 2000! Якщо у вас інша версія SQL-сервера, то вам цей блог не потрібен. По суті, для MS SQL Server 2000 саме цим способом потрібно завжди користуватись, коли хочете перенести базу або створити резервну копію, адже він не вимагає наявності Management Studio у вашій системі.
Робити копію бази даних можна лише на тому комп'ютері, де встановлено SQL-сервер!
Спершу почнемо з теорії. Будь-яка база даних в MS SQL Server являє собою два файли: MDF (сама база) та LDF (журнал бази). Обидва цих файли важливі — без одного з них ви базу не підключите! Для MS SQL Server 2000 ці файли мають називатись: GIS_Data.MDF та GIS_log.LDF. Основна задача, в даному випадку, у нас буде скопіювати ці файли в інше місце. Але не все так просто. SQL-сервер постійно працює з цими файлами, тому він не дасть їх скопіювати. Щоб це зробити, потрібно спочатку зупинити SQL-сервер. Також, база даних може лежати на диску де-завгодно, а також, на сервері може бути підключено де-кілька баз, отже ще потрібно знати де саме лежать файли потрібної нам бази.
Враховуючи все вище згадане, для створення резервної копії бази існує такий алгоритм:
Визначаємо де лежать файли бази даних.
Закриваємо програми, які працюють з даним SQL-сервером.
Зупиняємо SQL-сервер.
Копіюємо файли бази даних.
Запускаємо SQL-сервер (щоб мати змогу і надалі працювати).
Приклад показано на Windows 7 російської версії.
Де лежать файли бази даних?
Якщо ви вже знаєте, де лежать файли вашої бази, даний пункт пропускайте.
Стандартно, після інсталяції програми, файли лежать в папці, куди встановлена програма, підпапка Data.
Для ГІС 6 - C:\Program Files (x86)\GIS6\Data
Для ГІС 6 Агро - C:\Program Files (x86)\GIS6Agro\Data
Для ЕЖРК 2 - C:\Program Files (x86)\EJRC2\Data
Однак не забувайте, що файли бази даних можуть лежати де-завгодно. Якщо ви базу скопіюєте і файли підключите до SQL-сервера, то де вони лежали, там і будуть лежати — сервер просто запам'ятає шлях до файлів бази. Саме тому дуже важливо записати собі десь в записничок чи текстовий файл на диску де лежить ваша база даних — це в майбутньому вам стане в нагоді.
Також це дізнатись можна через програму. Для ГІС 6 перейдіть в меню "?" - "Загальна інформація про базу даних".
Відкриється вікно "Інформаційне вікно", де в полі "Місцезнаходження файлів" можна дізнатись шлях до файлів бази даних.
На жаль, після таких дій, доведеться з програми зняти задачу, інакше вона не закриється.
Те саме можна зробити і для програми ЕЖРК 2. На жаль, для програми ГІС 6 Агро такої можливості не має.
В крайньому випадку, пошукайте на диску файли *.MDF тільки з розміром більш як 10 Мб.
Після того, як ми знайшли потрібні файли, треба переконатись, що це дійсно вони. Запустіть програму, що використовує цю базу і спробуйте один з файлів перейменувати, наприклад, замість GIS_Data.MDF перейменуйте в GIS_Data2.MDF. Якщо це саме та база, то у вас не вийде перейменувати файл і операційна система видасть помилку — це нормально. SQL-сервер не дасть навіть скопіювати такі файли!
Закриваємо програми, які працюють з даним SQL-сервером.
Після того, як ми дізнались де лежать файли бази даних, потрібно закрити всі програми, що працюють з даним SQL-сервером. При чому, це стосується і тих програм та комп'ютерів, що підключаються віддалено до SQL-сервера.
Зупиняємо SQL-сервер
Тепер нам потрібно зупинити службу SQL-сервера. Це можна зробити через окрему утиліту, яка виводить свій значок в системному треї. Знайдіть цей значок біля годинника.
Якщо ви його не бачите, спробуйте розкрити приховані значки (кнопка "Отображать скрытые значки") і пошукати там.
Натисніть на ньому праву кнопку миші і в контекстному меню виберіть команду "MSSQLServer – Stop".
Програма запитає: чи впевнені ми, що хочемо зупинити SQL-сервер? Натисніть кнопку "Да".
SQL-сервер зупиниться і значок змінить свій вигляд. Переходьте до наступного пункту.
Якщо у вас не має цього значка, або система не дає ним скористатись, доведеться зупиняти сервер через список служб Windows. Як туди перейти, описано в блозі: ЯК ПЕРЕВІРИТИ ЧИ ЗАПУЩЕНО СЛУЖБУ. Вам потрібно знайти службу "MSSQLSERVER", натиснути на ній праву кнопку миші і в контекстному меню вибрати команду "Остановить".
Почекайте, поки служба зупиниться і переконайтесь, що навпроти неї в колонці "Состояние" пусто.
Це говорить про те, що наш SQL-сервер зупинений і не працює.
Копіюємо файли бази даних
Після того, як ми зупинили SQL-сервер, що використовував нашу базу даних, можна нарешті перейти безпосередньо до резервного копіювання. Два файли: MDF і LDF скопіюйте в іншу папку, на флешку чи будь-куди, де бажаєте зберігати резервні копії своєї бази.
Запускаємо SQL-сервер
Скопіювавши файли, потрібно знову запустити SQL-сервер, інакше, ми не зможемо запустити програму і працювати в ній.
По значку утиліти натисніть праву кнопку миші і в контекстному меню виберіть команду "MSSQLServer – Start".
SQL-сервер запуститься і значок поверне свій попередній вигляд.
Якщо у вас не має цього значка, або система не дає ним скористатись, доведеться запускати сервер через список служб Windows. Вам потрібно знайти службу "MSSQLSERVER" і запустити її, як сказано в блозі: ЯК ПЕРЕВІРИТИ ЧИ ЗАПУЩЕНО СЛУЖБУ.
Готово. Резервну копію бази даних зроблено і можете продовжувати працювати.