Delen via


Herstel de AdventureWorks voorbeeld database in een SQL Managed Instance - Azure Arc

AdventureWorks is een voorbeelddatabase die een OLTP-database bevat en vaak wordt gebruikt in handleidingen en voorbeelden. Het wordt geleverd en onderhouden door Microsoft als onderdeel van de SQL Server samples GitHub repository.

Dit document beschrijft een eenvoudig proces om de AdventureWorks voorbeelddatabase te herstellen in je SQL Managed Instance - Azure Arc.

Download het AdventureWorks-back-upbestand

Download het AdventureWorks-back-upbestand (.bak) naar uw SQL Managed Instance-container. In dit voorbeeld gebruik je het kubectl exec-commando om op afstand een opdracht uit te voeren binnen de SQL Managed Instance-container om het .bak-bestand naar de container te downloaden. Download dit bestand vanaf elke locatie die toegankelijk is via wget als je andere databaseback-upbestanden naar de SQL Managed Instance-container wilt halen. Zodra het zich binnen de SQL Managed Instance-container bevindt, is het eenvoudig te herstellen met behulp van standaard RESTORE DATABASE T-SQL.

Voer een opdracht uit zoals deze om het .bak-bestand te downloaden, waarbij je de waarde van de podnaam en de namespace-naam vervangt voordat je het uitvoert.

Opmerking

Uw container moet over internetconnectiviteit via poort 443 beschikken om het bestand van GitHub te downloaden.

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

Voorbeeld

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

Herstel de AdventureWorks-database

Op dezelfde manier kun je een kubectl exec-opdracht uitvoeren om de sqlcmd CLI-tool te gebruiken die is inbegrepen in de SQL Managed Instance-container om het T-SQL-commando uit te voeren voor HERSTEL DATABASE.

Voer een opdracht zoals deze uit om de database te herstellen. Vervang de waarde van de podnaam, het wachtwoord en de naam van de namespace voordat u het uitvoert.

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'"

Example

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'"