Gendannelse af en database er et stykke kage med Azure Data Studio. Det er en lignende proces som at gøre det med SQL Server Management Studio. Du skal blot klikke på Gendan og følg anvisningerne.
Denne gendannelsesproces giver dig mulighed for at navigere gennem computerens filsystem for at finde .bak-filen. Denne .bak-fil indeholder en sikkerhedskopi af den database, du vil gendanne. Så når SQL Server gendanner databasen, bruger den .bak-filen til at gøre det.
Men hvis du kører din SQL Server-instans inde i en Docker-container (hvilket du selvfølgelig ville være, hvis du kører SQL Server på Mac eller Linux), er der noget, du skal være opmærksom på, hvis din backup-fil er placeret uden for Docker-beholderen.
Hvis backup-filen er placeret uden for Docker-beholderen, der kører SQL Server, skal du kopiere den til Docker-beholderen, før du udfører gendannelsen. Når du har kopieret .bak-filen til Docker-beholderen, kan du gå videre og bruge Azure Data Studio til at gendanne databasen.
Nedenfor skitserer jeg alle de involverede trin.
Denne vejledning forudsætter, at du har installeret SQL Server på din Mac ved hjælp af en Docker-container, og du har installeret Azure Data Studio.
Jeg skal påpege, at selvom eksemplerne på denne side blev udført på en Mac, skulle alle trin fungere på både macOS og Linux.
Download en prøvedatabase
Hvis du allerede har din egen database .bak-fil, behøver du ikke at udføre dette trin.
Til denne øvelse vil jeg gendanne WideWorldImporters-eksempeldatabasen. Dette er en prøvedatabase, som Microsoft har gjort tilgængelig for at vise de forskellige funktioner i SQL Server. Især vil jeg bruge data warehousing-versionen af databasen.
For at downloade WideWorldImporters-eksempeldatabasen .bak-fil, skal du enten gå til WideWorldImporters Github-siden og finde downloadlinket, eller du kan downloade .bak-filen direkte her:
- WildWorldImportersDW-Full.bak [47,7mb]
Kopiér .bak-filen til Docker-beholderen
Du behøver kun at udføre dette trin, hvis din .bak-fil er placeret uden for Docker-beholderen (hvilket den vil være, hvis du lige har downloadet WideWorldImporters .bak-filen).
Lad os først oprette en mappe inde i Docker-beholderen:
sudo docker exec -it sql_server_demo mkdir /var/opt/mssql/backup
Kopier nu databasen .bak-fil til den mappe:
sudo docker cp WideWorldImportersDW-Full.bak sql_server_demo:/var/opt/mssql/backup
Denne kommando antager, at du er i samme mappe som .bak-filen. Hvis ikke, skal du enten skifte til den mappe, du først bruger. For eksempel:
cd Downloads
eller hvilken mappe den er i.
Hvorfor skal vi kopiere .bak-filen?
Docker-beholderen har sit eget filsystem, og den lever lidt uafhængigt af din Macs filsystem. Så når du forsøger at navigere til .bak-filen i Azure Data Studio (i næste trin), vil du finde dig selv "fast" inde i Docker-containerens filsystem uden mulighed for at få adgang til .bak-filen på din Macs fil system. Derfor kopierer vi først .bak-filen til containerens filsystem, hvorefter vi kan få adgang til den via Azure Data Studio.
Gendan databasen
OK, nu kan vi udføre selve databasegendannelsesprocessen.
De følgende trin antager, at du allerede har Azure Data Studio kørende, og du allerede har oprettet forbindelse til SQL Server.
- Klik på Gendan fra Server Dashboard knap
- På Gendan fra overskrift, skal du vælge Sikkerhedskopieringsfil fra rullemenuen
- Ved Sikkerhedskopieringsfilstien overskrift skal du klikke på ellipserne (... )
- Naviger til mappen, vælg .bak-filen, og klik på OK
- Klik på Gendan
- Gendannelsen kan tage et minut eller to. Opgavehistorik vil angive, hvornår den er klar
Databasen er nu gendannet.
Tjek databasen
Du vil sikkert gerne kontrollere, at databasen faktisk er blevet gendannet. En måde at gøre dette på er at navigere til databasen og køre en hurtig forespørgsel.
- Klik på Servere ikon (øverst til venstre på skærmen)
- Databasen skulle nu være opført under Databaser på vej mod den relevante server. Hvis ikke, højreklik på Databaser og vælg Opdater
- Brug Azure Data Studio-grænsefladen til at køre en forespørgsel mod databasen. Højreklik for eksempel på Tabeller node (efter at have udvidet databasen) og klik på Vælg Top 1000 . Dette kører automatisk en forespørgsel mod denne tabel og vælger kun de 1000 bedste resultater