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

Come ripristinare un database di SQL Server su un Mac utilizzando SQL Operations Studio

AGGIORNAMENTO:da allora SQL Operations Studio (SQLOPS) è stato rinominato in Azure Data Studio. Tuttavia, i passaggi in questo articolo rimangono gli stessi. In ogni caso, ho anche riscritto questi passaggi (e incluso gli screenshot equivalenti) specificamente per Azure Data Studio . Vedi Come ripristinare un database di SQL Server su un Mac utilizzando Azure Data Studio.

Il ripristino di un database è un gioco da ragazzi con SQL Operations Studio. È un processo simile a farlo con SQL Server Management Studio. Basta fare clic su Ripristina e segui le istruzioni.

Questo processo di ripristino consente di navigare nel file system del computer per individuare il file .bak. Questo file .bak contiene un backup del database che desideri ripristinare. Pertanto, quando SQL Server ripristina il database, utilizza il file .bak per farlo.

Tuttavia, se stai eseguendo la tua istanza di SQL Server all'interno di un contenitore Docker (cosa che ovviamente saresti se esegui SQL Server su Mac o Linux), c'è qualcosa di cui devi essere a conoscenza se il tuo file di backup si trova al di fuori del contenitore Docker.

Se il file di backup si trova all'esterno del contenitore Docker che esegue SQL Server, dovrai copiarlo nel contenitore Docker prima di eseguire il ripristino. Dopo aver copiato il file .bak nel contenitore Docker, puoi procedere e utilizzare SQLOPS per ripristinare il database.

Di seguito illustrerò tutti i passaggi coinvolti.

Questo tutorial presuppone che tu abbia installato SQL Server sul tuo Mac utilizzando un contenitore Docker e che tu abbia installato SQL Operations Studio.

Devo sottolineare che, anche se gli esempi in questa pagina sono stati eseguiti su un Mac, tutti i passaggi dovrebbero funzionare sia su macOS che su Linux.

Scarica un database di esempio

Se hai già il tuo file .bak di database, non è necessario eseguire questo passaggio.

Per questo tutorial, ripristinerò il database di esempio di WideWorldImporters. Questo è un database di esempio che Microsoft ha reso disponibile per mostrare le varie funzionalità di SQL Server. In particolare, utilizzerò la versione di data warehousing del database.

Per scaricare il file .bak del database di esempio di WideWorldImporters, vai alla pagina Github di WideWorldImporters e trova il link per il download, oppure puoi scaricare il file .bak direttamente qui:

  • WildWorldImportersDW-Full.bak [47.7mb]

Copia il file .bak nel Docker Container

Dovrai eseguire questo passaggio solo se il tuo file .bak si trova all'esterno del contenitore Docker (cosa che accadrà se hai appena scaricato il file .bak di WideWorldImporters).

Innanzitutto, creiamo una cartella all'interno del contenitore Docker:

sudo docker exec -it sql_server_demo mkdir /var/opt/mssql/backup

Ora copia il file .bak del database in quella cartella:

sudo docker cp WideWorldImportersDW-Full.bak sql_server_demo:/var/opt/mssql/backup

Questo comando presuppone che ti trovi nella stessa directory del file .bak. In caso contrario, passare prima alla directory utilizzando. Ad esempio:

cd Downloads

o in qualunque cartella si trovi.

Perché dobbiamo copiare il file .bak?

Il contenitore Docker ha il proprio file system e vive in modo indipendente dal file system del tuo Mac. Quindi, quando provi a navigare al file .bak in SQLOPS (nel passaggio successivo), ti ritroverai "bloccato" all'interno del file system del contenitore Docker, senza modo di accedere al file .bak sul file system del tuo Mac. Pertanto, prima copiamo il file .bak nel file system del contenitore, quindi possiamo accedervi tramite SQLOPS.

Ripristina il database

OK, ora possiamo eseguire il vero processo di ripristino del database.

I passaggi seguenti presuppongono che SQL Operations Studio sia già in esecuzione e che tu sia già connesso a SQL Server.

  1. Dal dashboard del server, fai clic su Ripristina pulsante
  2. Al Ripristina da intestazione, seleziona File di backup dal menu a tendina
  3. Nel Percorso file di backup intestazione, fai clic sui puntini di sospensione ( )
  4. Vai alla cartella, seleziona il file .bak e fai clic su OK
  5. Fai clic su Ripristina
  6. Il ripristino potrebbe richiedere uno o due minuti. La Cronologia attività indicherà quando è pronto

Il database è stato ripristinato.

Controlla il database

Probabilmente vorrai controllare che il database sia stato effettivamente ripristinato. Un modo per farlo è passare al database ed eseguire una query rapida.

  1. Fai clic su Server icona (in alto a sinistra dello schermo)
  2. Il database dovrebbe ora essere elencato sotto i Database dirigendosi verso il server applicabile. In caso contrario, fare clic con il pulsante destro del mouse su Database e seleziona Aggiorna
  3. Utilizzare l'interfaccia SQLOPS per eseguire una query sul database. Ad esempio, fai clic con il pulsante destro del mouse su Tabelle nodo (dopo aver espanso il database) e fare clic su Seleziona i primi 1000 . Questo esegue automaticamente una query su quella tabella, selezionando solo i primi 1000 risultati