АКТУАЛИЗИРАНЕ:SQL Operations Studio (SQLOPS) оттогава е преименуван на Azure Data Studio. Стъпките в тази статия обаче остават същите. Във всеки случай, аз също пренаписах тези стъпки (и включих еквивалентните екранни снимки) специално за Azure Data Studio. Вижте Как да възстановите база данни на SQL Server на Mac с помощта на Azure Data Studio.
Възстановяването на база данни е нещо просто с SQL Operations Studio. Процесът е подобен на този с SQL Server Management Studio. Просто щракнете върху Възстановяване и следвайте подканите.
Този процес на възстановяване ви позволява да навигирате през файловата система на компютъра, за да намерите .bak файла. Този .bak файл съдържа резервно копие на базата данни, която искате да възстановите. Така че, когато SQL Server възстановява базата данни, той използва .bak файла за това.
Въпреки това, ако изпълнявате своя екземпляр на SQL Server в Docker контейнер (което, разбира се, бихте направили, ако използвате SQL Server на Mac или Linux), има нещо, което трябва да знаете, ако вашият архивен файл се намира извън контейнера на Docker.
Ако архивният файл се намира извън контейнера на Docker, който изпълнява SQL Server, ще трябва да го копирате в контейнера на Docker, преди да извършите възстановяването. След като копирате .bak файла в контейнера на Docker, можете да продължите и да използвате SQLOPS, за да възстановите базата данни.
По-долу очертавам всички необходими стъпки.
Този урок предполага, че сте инсталирали SQL Server на вашия Mac с помощта на Docker контейнер и сте инсталирали SQL Operations Studio.
Трябва да отбележа, че въпреки че примерите на тази страница са направени на Mac, всички стъпки трябва да работят както на macOS, така и на Linux.
Изтеглете примерна база данни
Ако вече имате своя собствена база данни .bak файл, не е необходимо да правите тази стъпка.
За този урок ще възстановя примерната база данни на WideWorldImporters. Това е примерна база данни, която Microsoft предостави за показване на различните функции на SQL Server. По-специално, ще използвам версията на базата данни за съхранение на данни.
За да изтеглите .bak файл на примерната база данни на WideWorldImporters, или отидете на страницата на WideWorldImporters Github и намерете връзката за изтегляне, или можете да изтеглите файла .bak директно тук:
- WildWorldImportersDW-Full.bak [47.7mb]
Копирайте файла .bak в контейнера на Docker
Ще трябва да направите тази стъпка само ако вашият .bak файл се намира извън контейнера на Docker (който ще бъде, ако току-що сте изтеглили файла WideWorldImporters .bak).
Първо, нека създадем папка в контейнера на Docker:
sudo docker exec -it sql_server_demo mkdir /var/opt/mssql/backup
Сега копирайте файла .bak на базата данни в тази папка:
sudo docker cp WideWorldImportersDW-Full.bak sql_server_demo:/var/opt/mssql/backup
Тази команда предполага, че сте в същата директория като файла .bak. Ако не, променете първо в директорията, като използвате. Например:
cd Downloads
или каквато и папка, в която се намира.
Защо трябва да копираме файла .bak?
Контейнерът Docker има своя собствена файлова система и живее независимо от файловата система на вашия Mac. Така че, когато се опитате да отидете до файла .bak в SQLOPS (в следващата стъпка), ще се окажете „заседнали“ във файловата система на контейнера Docker, без начин за достъп до .bak файла във файловата система на вашия Mac. Следователно първо копираме файла .bak във файловата система на контейнера, след което можем да получим достъп до него чрез SQLOPS.
Възстановете базата данни
Добре, сега можем да извършим действителния процес на възстановяване на базата данни.
Следващите стъпки предполагат, че вече имате работещо SQL Operations Studio и вече сте се свързали със SQL Server.
- От таблото за управление на сървъра щракнете върху Възстановяване бутон
- В Възстановяване от заглавие, изберете Архивен файл от падащото меню
- На Пътят на архивния файл заглавие, щракнете върху многоточия (… )
- Отворете папката, изберете .bak файла и щракнете върху OK
- Щракнете върху Възстановяване
- Възстановяването може да отнеме минута или две. История на задачите ще покаже кога е готов
Базата данни вече е възстановена.
Проверете базата данни
Вероятно ще искате да проверите дали базата данни действително е възстановена. Един от начините да направите това е да отидете до базата данни и да изпълните бърза заявка.
- Щракнете върху Сървъри икона (горе вляво на екрана)
- Базата данни вече трябва да бъде изброена под Бази данни се насочва към съответния сървър. Ако не, щракнете с десния бутон върху Бази данни и изберете Опресняване
- Използвайте интерфейса на SQLOPS, за да изпълните заявка към базата данни. Например, щракнете с десния бутон върху Таблици възел (след разширяване на базата данни) и щракнете върху Изберете топ 1000 . Това автоматично стартира заявка към тази таблица, като се избират само първите 1000 резултата