AKTUALIZACE:SQL Operations Studio (SQLOPS) bylo od té doby přejmenováno na Azure Data Studio. Kroky v tomto článku však zůstávají stejné. V každém případě jsem tyto kroky také přepsal (a zahrnul ekvivalentní snímky obrazovky) speciálně pro Azure Data Studio . Viz Jak obnovit databázi SQL Server na Macu pomocí Azure Data Studio.
Obnova databáze je s SQL Operations Studio hračkou. Je to podobný proces jako u SQL Server Management Studio. Jednoduše klikněte na Obnovit a postupujte podle pokynů.
Tento proces obnovy vám umožňuje procházet souborovým systémem počítače a najít soubor .bak. Tento soubor .bak obsahuje zálohu databáze, kterou chcete obnovit. Takže když SQL Server obnoví databázi, používá k tomu soubor .bak.
Pokud však spouštíte instanci SQL Serveru uvnitř kontejneru Docker (což byste samozřejmě byli, pokud používáte SQL Server na Macu nebo Linuxu), je tu něco, o čem musíte vědět, pokud je váš záložní soubor umístěn mimo kontejner Docker.
Pokud je záložní soubor umístěn mimo kontejner Docker, na kterém je spuštěn SQL Server, budete ho muset před obnovením zkopírovat do kontejneru Docker. Jakmile zkopírujete soubor .bak do kontejneru Docker, můžete pokračovat a obnovit databázi pomocí SQLOPS.
Níže uvádím všechny příslušné kroky.
Tento výukový program předpokládá, že jste na svůj Mac nainstalovali SQL Server pomocí kontejneru Docker a nainstalovali jste SQL Operations Studio.
Měl bych zdůraznit, že i když byly příklady na této stránce provedeny na Macu, všechny kroky by měly fungovat na macOS i Linuxu.
Stáhněte si ukázkovou databázi
Pokud již máte svůj vlastní databázový soubor .bak, nemusíte tento krok provádět.
Pro tento tutoriál obnovím ukázkovou databázi WideWorldImporters. Toto je ukázková databáze, kterou společnost Microsoft zpřístupnila pro předvedení různých funkcí SQL Server. Konkrétně budu používat verzi databáze pro datové sklady.
Chcete-li stáhnout soubor .bak ukázkové databáze WideWorldImporters, přejděte buď na stránku WideWorldImporters Github a najděte odkaz ke stažení, nebo si můžete soubor .bak stáhnout přímo zde:
- WildWorldImportersDW-Full.bak [47,7 MB]
Zkopírujte soubor .bak do kontejneru Docker
Tento krok budete muset provést pouze v případě, že se váš soubor .bak nachází mimo kontejner Docker (což bude, pokud jste si právě stáhli soubor .bak WideWorldImporters).
Nejprve vytvořte složku uvnitř kontejneru Docker:
sudo docker exec -it sql_server_demo mkdir /var/opt/mssql/backup
Nyní zkopírujte soubor .bak databáze do této složky:
sudo docker cp WideWorldImportersDW-Full.bak sql_server_demo:/var/opt/mssql/backup
Tento příkaz předpokládá, že se nacházíte ve stejném adresáři jako soubor .bak. Pokud ne, buď nejprve přejděte do adresáře pomocí. Například:
cd Downloads
nebo v jakékoli složce, ve které se nachází.
Proč potřebujeme zkopírovat soubor .bak?
Kontejner Docker má svůj vlastní systém souborů a žije tak nějak nezávisle na systému souborů vašeho Macu. Když se tedy pokusíte přejít na soubor .bak v SQLOPS (v dalším kroku), ocitnete se „zaseknuti“ uvnitř souborového systému kontejneru Docker, bez možnosti přístupu k souboru .bak v systému souborů vašeho Macu. Proto nejprve zkopírujeme soubor .bak do souborového systému kontejneru a poté k němu můžeme přistupovat pomocí SQLOPS.
Obnovení databáze
OK, nyní můžeme provést skutečný proces obnovení databáze.
Následující kroky předpokládají, že již máte spuštěné SQL Operations Studio a jste již připojeni k SQL Server.
- Na panelu Server Dashboard klikněte na Obnovit knoflík
- Na stránce Obnovit z záhlaví, vyberte Záložní soubor z rozbalovací nabídky
- Na stránce Cesta k záložnímu souboru klikněte na elipsy (… )
- Přejděte do složky, vyberte soubor .bak a klikněte na OK
- Klikněte na Obnovit
- Obnova může trvat minutu nebo dvě. Historie úkolů ukáže, až bude připraven
Databáze byla nyní obnovena.
Zkontrolujte databázi
Pravděpodobně budete chtít zkontrolovat, zda byla databáze skutečně obnovena. Jedním ze způsobů, jak toho dosáhnout, je přejít do databáze a spustit rychlý dotaz.
- Klikněte na Servery ikona (vlevo nahoře na obrazovce)
- Databáze by nyní měla být uvedena v části Databáze míří na příslušný server. Pokud ne, klikněte pravým tlačítkem na Databáze a vyberte Obnovit
- Použijte rozhraní SQLOPS ke spuštění dotazu na databázi. Například klikněte pravým tlačítkem na Tabulky uzel (po rozbalení databáze) a klikněte na Vybrat 1000 nejlepších . Tím se automaticky spustí dotaz na tuto tabulku a vybere se pouze 1000 nejlepších výsledků