Restaurar o banco de dados de exemplo AdventureWorks na Instância Gerenciada SQL - Azure Arc
O AdventureWorks é um banco de dados de exemplo que contém um banco de dados OLTP que é frequentemente usado em tutoriais e exemplos. Ele é fornecido e mantido pela Microsoft como parte do repositório GitHub de exemplos do SQL Server.
Este documento descreve um processo simples para obter o banco de dados de exemplo AdventureWorks restaurado em sua Instância Gerenciada SQL - Azure Arc.
Baixe o arquivo de backup do AdventureWorks
Baixe o arquivo de backup (.bak) do AdventureWorks em seu contêiner de Instância Gerenciada SQL. Neste exemplo, use o kubectl exec
comando para executar remotamente um comando dentro do contêiner da Instância Gerenciada SQL para baixar o arquivo .bak no contêiner. Baixe este arquivo de qualquer local acessível se wget
você tiver outros arquivos de backup de banco de dados que deseja extrair para estar dentro do contêiner da Instância Gerenciada SQL. Uma vez dentro do contêiner da Instância Gerenciada SQL, é fácil restaurá-lo usando o T-SQL padrão RESTORE DATABASE
.
Execute um comando como este para baixar o arquivo .bak substituindo o valor do nome do pod e do nome do namespace antes de executá-lo.
Nota
Seu contêiner precisará ter conectividade com a Internet acima de 443 para baixar o arquivo do 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
Exemplo
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
Restaurar o banco de dados AdventureWorks
Da mesma forma, você pode executar um kubectl
comando exec para usar a sqlcmd
ferramenta CLI incluída no contêiner SQL Managed Instance para executar o comando T-SQL para RESTORE DATABASE.
Execute um comando como este para restaurar o banco de dados. Substitua o valor do nome do pod, a senha e o nome do namespace antes de executá-lo.
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'"
Exemplo
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'"