sql >> Database teknologi >  >> RDS >> Sqlserver

Sådan gendannes en SQL Server-database på en Mac ved hjælp af SQL Operations Studio

OPDATERING:SQL Operations Studio (SQLOPS) er siden blevet omdøbt til Azure Data Studio. Trinene i denne artikel forbliver dog de samme. Under alle omstændigheder har jeg også omskrevet disse trin (og inkluderet de tilsvarende skærmbilleder) specifikt til Azure Data Studio. Se, hvordan du gendanner en SQL Server-database på en Mac ved hjælp af Azure Data Studio.

Gendannelse af en database er et stykke kage med SQL Operations 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 SQLOPS 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-beholder, og du har installeret SQL Operations 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 eksempeldatabase, 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 SQLOPS (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 filsystem. Derfor kopierer vi først .bak-filen til containerens filsystem, hvorefter vi kan få adgang til den via SQLOPS.

Gendan databasen

OK, nu kan vi udføre selve databasegendannelsesprocessen.

De følgende trin antager, at du allerede har SQL Operations Studio kørende, og at du allerede har oprettet forbindelse til SQL Server.

  1. Klik på Gendan fra Server Dashboard knap
  2. Gendan fra overskrift, skal du vælge Sikkerhedskopieringsfil fra rullemenuen
  3. Ved Sikkerhedskopieringsfilstien overskrift skal du klikke på ellipserne (... )
  4. Naviger til mappen, vælg .bak-filen, og klik på OK
  5. Klik på Gendan
  6. 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.

  1. Klik på Servere ikon (øverst til venstre på skærmen)
  2. 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
  3. Brug SQLOPS-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 bedste 1000 resultater

  1. Sådan slipper du udenlandske nøglebegrænsninger i SQL Server-databasen for alle tabellerne - SQL Server / TSQL vejledning del 72

  2. UNION ALL vs OR-tilstand i sql-serverforespørgsel

  3. Markør i procedure, der returnerer flere værdier end forespørgsel

  4. Vælg første række af hver gruppe i sql