Partilhar via


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