Obnovení databáze je s Azure Data 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í Azure Data Studio.
Níže uvádím všechny příslušné kroky.
Tento kurz předpokládá, že jste na svůj Mac nainstalovali SQL Server pomocí kontejneru Docker a nainstalovali jste Azure Data 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ředvádění různých funkcí serveru 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 Azure Data Studio (v dalším kroku), zjistíte, že jste „uvízli“ v systému souborů kontejneru Docker a nemáte žádný způsob, jak získat přístup k souboru .bak v souboru vašeho Macu. Systém. Proto nejprve zkopírujeme soubor .bak do systému souborů kontejneru a poté k němu můžeme přistupovat prostřednictvím Azure Data Studio.
Obnovení databáze
OK, nyní můžeme provést skutečný proces obnovení databáze.
Následující kroky předpokládají, že už máte spuštěné Azure Data Studio a že jste se již připojili 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
- Pomocí rozhraní Azure Data Studio spusťte dotaz 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ů