Återställa AdventureWorks-exempeldatabasen till SQL Managed Instance – Azure Arc

AdventureWorks är en exempeldatabas som innehåller en OLTP-databas som ofta används i självstudier och exempel. Den tillhandahålls och underhålls av Microsoft som en del av GitHub-lagringsplatsen för SQL Server-exempel.

Det här dokumentet beskriver en enkel process för att återställa AdventureWorks-exempeldatabasen till din SQL Managed Instance – Azure Arc.

Ladda ned AdventureWorks-säkerhetskopieringsfilen

Ladda ned filen AdventureWorks backup (.bak) till din SQL Managed Instance-container. I det här exemplet använder du kubectl exec kommandot för att fjärr köra ett kommando i SQL Managed Instance-containern för att ladda ned .bak-filen till containern. Ladda ned den här filen från valfri plats som kan nås av wget om du har andra databassäkerhetskopieringsfiler som du vill hämta för att vara i SQL Managed Instance-containern. När den väl finns i SQL Managed Instance-containern är det enkelt att återställa med standard-T-SQL RESTORE DATABASE .

Kör ett kommando som det här för att ladda ned .bak-filen som ersätter värdet för poddnamnet och namnområdets namn innan du kör det.

Kommentar

Containern måste ha internetanslutning över 443 för att ladda ned filen från GitHub

kubectl exec <SQL pod name> -n <namespace name> -c arc-sqlmi -- wget https://github.com/Microsoft/sql-server-samples/releases/download/adventureworks/AdventureWorks2019.bak -O /var/opt/mssql/data/AdventureWorks2019.bak

Exempel

kubectl exec sqltest1-0 -n arc -c arc-sqlmi -- wget https://github.com/Microsoft/sql-server-samples/releases/download/adventureworks/AdventureWorks2019.bak -O /var/opt/mssql/data/AdventureWorks2019.bak

Återställa AdventureWorks-databasen

På samma sätt kan du köra ett kubectl exec-kommando för att använda sqlcmd CLI-verktyget som ingår i SQL Managed Instance-containern för att köra T-SQL-kommandot till RESTORE DATABASE.

Kör ett kommando som det här för att återställa databasen. Ersätt värdet för poddnamnet, lösenordet och namnområdets namn innan du kör det.

kubectl exec <SQL pod name> -n <namespace name> -c arc-sqlmi -- /opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P <password> -Q "RESTORE DATABASE AdventureWorks2019 FROM  DISK = N'/var/opt/mssql/data/AdventureWorks2019.bak' WITH MOVE 'AdventureWorks2017' TO '/var/opt/mssql/data/AdventureWorks2019.mdf', MOVE 'AdventureWorks2017_Log' TO '/var/opt/mssql/data/AdventureWorks2019_Log.ldf'"

Exempel

kubectl exec sqltest1-0 -n arc -c arc-sqlmi -- /opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P MyPassword! -Q "RESTORE DATABASE AdventureWorks2019 FROM DISK = N'/var/opt/mssql/data/AdventureWorks2019.bak' WITH MOVE 'AdventureWorks2017' TO '/var/opt/mssql/data/AdventureWorks2019.mdf', MOVE 'AdventureWorks2017_Log' TO '/var/opt/mssql/data/AdventureWorks2019_Log.ldf'"