AdventureWorks サンプル データベースを SQL Managed Instance に復元する - Azure Arc

AdventureWorks は、チュートリアルや例でよく使用される OLTP データベースを含むサンプル データベースです。 これは、SQL Server サンプル GitHub リポジトリの一部として、Microsoft によって提供され、管理されています。

このドキュメントでは、AdventureWorks サンプル データベースを SQL Managed Instance - Azure Arc に復元するための簡単なプロセスを説明します。

AdventureWorks のバックアップ ファイルをダウンロードする

AdventureWorks バックアップ (.bak) ファイルを SQL Managed Instance コンテナーにダウンロードします。 この例では、kubectl exec コマンドを使用して、SQL Managed Instance コンテナーの内部でコマンドをリモートで実行し、.bak ファイルをコンテナーにダウンロードします。 SQL Managed Instance コンテナーの内部になるようにプルする他のデータベース バックアップ ファイルがある場合、wget によってアクセス可能な任意の場所からこのファイルをダウンロードします。 それを SQL Managed Instance コンテナーの内部に入れると、標準の RESTORE DATABASE T-SQL を使用して簡単に復元できます。

次のようなコマンドを実行して、.bak ファイルをダウンロードします。実行する前に、ポッド名と名前空間名の値を置換します。

注意

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 データベースを復元する

同様に、kubectl exec コマンドを実行して、SQL Managed Instance コンテナーに含まれている sqlcmd CLI ツールを使用し、T-SQL コマンドを実行してデータベースを復元 (RESTORE DATABASE) できます。

次のようなコマンドを実行して、データベースを復元します。 それを実行する前に、ポッド名、パスワード、および名前空間名の値を置き換えます。

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