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