UPDATE:SQL Operations Studio (SQLOPS) is sindsdien hernoemd naar Azure Data Studio. De stappen in dit artikel blijven echter hetzelfde. In ieder geval heb ik deze stappen ook herschreven (en de equivalente screenshots toegevoegd) specifiek voor Azure Data Studio. Zie Een SQL Server-database herstellen op een Mac met Azure Data Studio.
Het herstellen van een database is een fluitje van een cent met SQL Operations 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 heeft gekopieerd, kunt u doorgaan en SQLOPS 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 SQL Operations 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 SQLOPS (in de volgende stap), zult u merken dat u "vastzit" in het bestandssysteem van de Docker-container, zonder toegang tot het .bak-bestand op het bestandssysteem van uw Mac. Daarom kopiëren we eerst het .bak-bestand naar het bestandssysteem van de container, waarna we er toegang toe hebben via SQLOPS.
De database herstellen
OK, nu kunnen we het daadwerkelijke databaseherstelproces uitvoeren.
Bij de volgende stappen wordt ervan uitgegaan dat SQL Operations Studio al draait 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 SQLOPS-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