Wiederherstellen der AdventureWorks-Beispieldatenbank in SQL Managed Instance: Azure Arc
AdventureWorks ist eine Beispieldatenbank, die eine OLTP-Datenbank enthält, die häufig in Tutorials und Beispielen verwendet wird. Sie wird von Microsoft als Teil des GitHub-Repositorys für SQL Server-Beispiele bereitgestellt und verwaltet.
In diesem Dokument wird ein einfacher Prozess beschrieben, mit dem die AdventureWorks-Beispieldatenbank in Ihrer SQL Managed Instance-Instanz (Azure Arc) wiederhergestellt werden kann.
Herunterladen der AdventureWorks-Sicherungsdatei
Laden Sie die AdventureWorks-Sicherungsdatei (BAK-Datei) in Ihren SQL Managed Instance-Container herunter. Verwenden Sie in diesem Beispiel den Befehl kubectl exec
, um einen Befehl remote innerhalb des SQL Managed Instance-Containers auszuführen und die BAK-Datei in den Container herunterzuladen. Laden Sie diese Datei von einem beliebigen Speicherort herunter, auf den wget
zugreifen kann, wenn Sie über andere Datenbanksicherungsdateien verfügen, die Sie pullen möchten, damit sie sich im SQL Managed Instance-Container befinden. Wenn sich die Datei innerhalb des SQL Managed Instance-Containers befindet, ist die Wiederherstellung mithilfe des T-SQL-Standardbefehls RESTORE DATABASE
ganz einfach.
Führen Sie einen Befehl wie diesen aus, um die BAK-Datei herunterzuladen, und ersetzen Sie den Wert des Podnamens und des Namespace, bevor Sie sie ausführen.
Hinweis
Ihr Container muss über eine Internetverbindung über Port 443 verfügen, um die Datei von GitHub herunterladen zu können.
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
Beispiel
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
Wiederherstellen der AdventureWorks-Datenbank
Auf ähnliche Weise können Sie einen kubectl
exec-Befehl ausführen, um das CLI-Tool sqlcmd
zu verwenden, das im SQL Managed Instance-Container enthalten ist, um den T-SQL-Befehl RESTORE DATABASE zum Wiederherstellen der Datenbank auszuführen.
Führen Sie einen Befehl wie diesen aus, um die Datenbank wiederherzustellen. Ersetzen Sie den Wert des Podnamens, das Kennwort und den Namespacenamen, bevor Sie den Befehl ausführen.
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'"
Beispiel
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'"