Восстановление образца базы данных AdventureWorks в SQL Managed Instance — Azure Arc
AdventureWorks — это пример базы данных, содержащий базу данных OLTP, которая используется в учебниках. Он предоставляется и обслуживается корпорацией Майкрософт в составе репозитория примеров для SQL Server на GitHub.
В этом документе описывается простой процесс получения образца базы данных AdventureWorks в SQL Managed Instance — Azure ARC.
Скачивание файла резервной копии AdventureWorks
Скачайте файл резервной копии AdventureWorks (BAK) в контейнер SQL Managed Instance. В этом примере используйте команду kubectl exec
, чтобы удаленно выполнить команду в контейнере SQL Managed Instance, чтобы скачать bak-файл в контейнер. Скачайте этот файл из любого расположения, доступного в wget
, если у вас есть другие файлы резервной копии базы данных, которые нужно запрашивать в контейнере SQL Managed Instance. В контейнере SQL Managed Instance его легко восстановить с помощью стандартного RESTORE DATABASE
T-SQL.
Выполните подобную команду, чтобы скачать файлы, указав нужное имя pod и имя пространства имен:
Примечание.
Чтобы скачать файл из GitHub, вашему контейнеру потребуется подключение к Интернету через порт 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
Пример
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
Базу данных AdventureWorks можно восстановить.
Аналогичным образом можно выполнить команду Exec kubectl
, чтобы использовать средство CLI sqlcmd
, включенное в контейнер SQL Managed Instance, чтобы выполнить команду T-SQL для восстановления базы данных.
Выполните команду, подобную этой, чтобы восстановить базу данных. Замените значения имени POD, пароля и имени пространства имен, прежде чем запускать его.
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'"
Пример
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'"