Udostępnij za pośrednictwem


Przywracanie przykładowej bazy danych AdventureWorks do wystąpienia zarządzanego SQL — Azure Arc

AdventureWorks to przykładowa baza danych zawierająca bazę danych OLTP, która jest często używana w samouczkach i przykładach. Jest on udostępniany i obsługiwany przez firmę Microsoft w ramach repozytorium GitHub przykładów programu SQL Server.

W tym dokumencie opisano prosty proces przywracania przykładowej bazy danych AdventureWorks do wystąpienia zarządzanego SQL — Azure Arc.

Pobieranie pliku kopii zapasowej AdventureWorks

Pobierz plik kopii zapasowej AdventureWorks (.bak) do kontenera usługi SQL Managed Instance. W tym przykładzie kubectl exec użyj polecenia , aby zdalnie wykonać polecenie wewnątrz kontenera usługi SQL Managed Instance, aby pobrać plik .bak do kontenera. Pobierz ten plik z dowolnej lokalizacji dostępnej, wget jeśli masz inne pliki kopii zapasowej bazy danych, które chcesz ściągnąć w kontenerze usługi SQL Managed Instance. Gdy znajduje się on wewnątrz kontenera usługi SQL Managed Instance, można łatwo przywrócić go przy użyciu standardowego RESTORE DATABASE języka T-SQL.

Uruchom polecenie podobne do tego, aby pobrać plik .bak zastępujący wartość nazwy zasobnika i nazwy przestrzeni nazw przed jego uruchomieniem.

Uwaga

Aby pobrać plik z usługi GitHub, kontener musi mieć łączność z Internetem przez 443

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

Przykład

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

Przywracanie bazy danych AdventureWorks

Podobnie można uruchomić kubectl polecenie exec, aby użyć narzędzia interfejsu sqlcmd wiersza polecenia, które znajduje się w kontenerze usługi SQL Managed Instance, aby wykonać polecenie T-SQL w celu przywrócenia bazy danych.

Uruchom polecenie podobne do tego, aby przywrócić bazę danych. Przed uruchomieniem zastąp wartość nazwy zasobnika, hasła i nazwy przestrzeni nazw.

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

Przykład

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