Het herstellen van een database is een fluitje van een cent met Azure Data Studio. Het is een soortgelijk proces om het te doen met SQL Server Management Studio. Klik gewoon op Herstellen en volg de aanwijzingen.
Met dit herstelproces kunt u door het bestandssysteem van de computer navigeren om het .bak-bestand te vinden. Dit .bak-bestand bevat een back-up van de database die u wilt herstellen. Dus wanneer SQL Server de database herstelt, gebruikt het daarvoor het .bak-bestand.
Als u uw SQL Server-instantie echter in een Docker-container uitvoert (wat natuurlijk het geval zou zijn als u SQL Server op Mac of Linux gebruikt), is er iets waar u op moet letten als uw back-upbestand zich bevindt buiten de Docker-container.
Als het back-upbestand zich buiten de Docker-container bevindt waarop SQL Server wordt uitgevoerd, moet u het naar de Docker-container kopiëren voordat u het herstel uitvoert. Nadat u het .bak-bestand naar de Docker-container hebt gekopieerd, kunt u doorgaan en Azure Data Studio gebruiken om de database te herstellen.
Hieronder schets ik alle betrokken stappen.
Deze tutorial gaat ervan uit dat je SQL Server op je Mac hebt geïnstalleerd met een Docker-container en dat je Azure Data Studio hebt geïnstalleerd.
Ik moet erop wijzen dat, hoewel de voorbeelden op deze pagina op een Mac zijn uitgevoerd, alle stappen op zowel macOS als Linux zouden moeten werken.
Download een voorbeelddatabase
Als u al uw eigen database .bak-bestand heeft, hoeft u deze stap niet uit te voeren.
Voor deze zelfstudie ga ik de voorbeelddatabase van WideWorldImporters herstellen. Dit is een voorbeelddatabase die Microsoft beschikbaar heeft gesteld om de verschillende functies van SQL Server te laten zien. Ik zal met name de datawarehousing-versie van de database gebruiken.
Om het .bak-bestand van de WideWorldImporters-voorbeelddatabase te downloaden, gaat u naar de WideWorldImporters Github-pagina en vindt u de downloadlink, of u kunt het .bak-bestand hier rechtstreeks downloaden:
- WildWorldImportersDW-Full.bak [47.7mb]
Kopieer het .bak-bestand naar de Docker-container
U hoeft deze stap alleen uit te voeren als uw .bak-bestand zich buiten de Docker-container bevindt (wat het geval is als u zojuist het WideWorldImporters .bak-bestand hebt gedownload).
Laten we eerst een map maken in de Docker-container:
sudo docker exec -it sql_server_demo mkdir /var/opt/mssql/backup
Kopieer nu het database .bak-bestand naar die map:
sudo docker cp WideWorldImportersDW-Full.bak sql_server_demo:/var/opt/mssql/backup
Deze opdracht gaat ervan uit dat u zich in dezelfde map bevindt als het .bak-bestand. Als dat niet het geval is, gaat u eerst naar de map met. Bijvoorbeeld:
cd Downloads
of in welke map het ook staat.
Waarom moeten we het .bak-bestand kopiëren?
De Docker-container heeft zijn eigen bestandssysteem en het leeft een beetje onafhankelijk van het bestandssysteem van je Mac. Dus wanneer u probeert te navigeren naar het .bak-bestand in Azure Data Studio (in de volgende stap), zult u merken dat u "vastzit" in het bestandssysteem van de Docker-container, zonder toegang tot het .bak-bestand op uw Mac-bestand systeem. Daarom kopiëren we eerst het .bak-bestand naar het bestandssysteem van de container, waarna we er toegang toe hebben via Azure Data Studio.
De database herstellen
OK, nu kunnen we het daadwerkelijke databaseherstelproces uitvoeren.
Bij de volgende stappen wordt ervan uitgegaan dat Azure Data Studio al actief is en dat u al verbinding hebt gemaakt met SQL Server.
- Klik in het serverdashboard op Herstellen knop
- Bij Herstellen van kop, selecteer Back-upbestand uit het vervolgkeuzemenu
- Bij het pad voor back-upbestand kop, klikt u op de weglatingstekens (… )
- Navigeer naar de map, selecteer het .bak-bestand en klik op OK
- Klik op Herstellen
- Het herstellen kan een minuut of twee duren. De Taakgeschiedenis geeft aan wanneer het klaar is
De database is nu hersteld.
Controleer de database
U wilt waarschijnlijk controleren of de database inderdaad is hersteld. Een manier om dit te doen is door naar de database te navigeren en een snelle query uit te voeren.
- Klik op de Servers icoon (linksboven in het scherm)
- De database zou nu moeten worden vermeld onder de Databases op weg naar de betreffende server. Zo niet, klik dan met de rechtermuisknop op Databases en selecteer Vernieuwen
- Gebruik de Azure Data Studio-interface om een query uit te voeren op de database. Klik bijvoorbeeld met de rechtermuisknop op de Tabellen node (na het uitbreiden van de database) en klik op Selecteer Top 1000 . Dit voert automatisch een query uit op die tabel, waarbij alleen de top 1000 resultaten worden geselecteerd