Wiederherstellen einer Datenbank in der Masterinstanz eines Big Data-Clusters für SQL ServerRestore a database into the SQL Server big data cluster master instance

Anwendungsbereich:Applies to: JaSQL Server 2019 (15.x)SQL Server 2019 (15.x)yesSQL Server 2019 (15.x)SQL Server 2019 (15.x)Anwendungsbereich:Applies to: JaSQL Server 2019 (15.x)SQL Server 2019 (15.x)yesSQL Server 2019 (15.x)SQL Server 2019 (15.x)

In diesem Artikel wird beschrieben, wie eine vorhandene Datenbank in der Masterinstanz eines SQL Server 2019: Big Data-ClusterSQL Server 2019 Big Data Clusters wiederhergestellt wird.This article describes how to restore an existing database into the master instance of a SQL Server 2019: Big Data-ClusterSQL Server 2019 Big Data Clusters. Die empfohlene Methode besteht darin, einen Ansatz mit Sichern, Kopieren und Wiederherstellen zu verwenden.The recommended method is to use a backup, copy, and restore approach.

Sichern Ihrer vorhandenen DatenbankBackup your existing database

Sichern Sie zunächst Ihre vorhandene SQL Server-Datenbank aus SQL Server für Windows oder Linux.First, backup your existing SQL Server database from either SQL Server on Windows or Linux. Verwenden Sie Standardsicherungsverfahren mit Transact-SQL oder mit einem Tool wie SQL Server Management Studio (SSMS).Use standard backup techniques with Transact-SQL or with a tool like SQL Server Management Studio (SSMS).

In diesem Artikel ist gezeigt, wie Sie die AdventureWorks-Datenbank wiederherstellen, Sie können aber jede beliebige Datenbanksicherung verwenden.This article shows how to restore the AdventureWorks database, but you can use any database backup.

Tipp

Laden Sie die AdventureWorks-Sicherung herunter.Download the AdventureWorks backup.

Kopieren der SicherungsdateiCopy the backup file

Kopieren Sie die Sicherungsdatei in den SQL Server-Container im Masterinstanzpod des Kubernetes-Clusters.Copy the backup file to the SQL Server container in the master instance pod of the Kubernetes cluster.

kubectl cp <path to .bak file> master-0:/var/tmp/<.bak filename> -c mssql-server -n <name of your big data cluster>

Beispiel:Example:

kubectl cp ~/Downloads/AdventureWorks2016CTP3.bak master-0:/var/tmp/AdventureWorks2016CTP3.bak -c mssql-server -n clustertest

Vergewissern Sie sich anschließend, dass die Sicherungsdatei in den Podcontainer kopiert wurde.Then, verify that the backup file was copied to the pod container.

kubectl exec -it master-0 -n <name of your big data cluster> -c mssql-server -- bin/bash
cd /var/
ls /tmp
exit

Beispiel:Example:

kubectl exec -it master-0 -n clustertest -c mssql-server -- bin/bash
cd /var/
ls /tmp
exit

Wiederherstellen der SicherungsdateiRestore the backup file

Stellen Sie im nächsten Schritt die Datenbanksicherung in der Masterinstanz von SQL Server wieder her.Next, restore the database backup to master instance SQL Server. Wenn Sie eine Datenbanksicherung wiederherstellen, die unter Windows erstellt wurde, müssen Sie die Namen der Dateien ermitteln.If you are restoring a database backup that was created on Windows, you will need to get the names of the files. Stellen Sie in Azure Data Studio eine Verbindung mit der Masterinstanz her, und führen Sie dieses SQL-Skript aus:In Azure Data Studio, connect to the master instance and run this SQL script:

RESTORE FILELISTONLY FROM DISK='/tmp/<db file name>.bak'

Beispiel:Example:

RESTORE FILELISTONLY FROM DISK='/tmp/AdventureWorks2016CTP3.bak'

Sicherungsdateiliste

Stellen Sie die Datenbank nun wieder her.Now, restore the database. Das folgende Skript ist ein Beispiel.The following script is an example. Ersetzen Sie die Namen/Pfade entsprechend den Anforderungen Ihrer Datenbanksicherung.Replace the names/paths as needed depending on your database backup.

RESTORE DATABASE AdventureWorks2016CTP3
FROM DISK='/tmp/AdventureWorks2016CTP3.bak'
WITH MOVE 'AdventureWorks2016CTP3_Data' TO '/var/opt/mssql/data/AdventureWorks2016CTP3_Data.mdf',
        MOVE 'AdventureWorks2016CTP3_Log' TO '/var/opt/mssql/data/AdventureWorks2016CTP3_Log.ldf',
        MOVE 'AdventureWorks2016CTP3_mod' TO '/var/opt/mssql/data/AdventureWorks2016CTP3_mod'

Konfigurieren von Datenpool- und HDFS-ZugriffConfigure data pool and HDFS access

Nun führen Sie, damit die SQL Server-Masterinstanz auf Datenpools und HDFS zugreifen kann, die gespeicherten Prozeduren für den Datenpool und den Speicherpool aus.Now, for the SQL Server master instance to access data pools and HDFS, run the data pool and storage pool stored procedures. Führen Sie die folgenden Transact-SQL-Skripts für Ihre neu wiederhergestellte Datenbank aus:Run the following Transact-SQL scripts against your newly restored database:

USE AdventureWorks2016CTP3
GO
-- Create the SqlDataPool data source:
IF NOT EXISTS(SELECT * FROM sys.external_data_sources WHERE name = 'SqlDataPool')
  CREATE EXTERNAL DATA SOURCE SqlDataPool
  WITH (LOCATION = 'sqldatapool://controller-svc/default');

-- Create the SqlStoragePool data source:
IF NOT EXISTS(SELECT * FROM sys.external_data_sources WHERE name = 'SqlStoragePool')
   CREATE EXTERNAL DATA SOURCE SqlStoragePool
   WITH (LOCATION = 'sqlhdfs://controller-svc/default');
GO

Hinweis

Sie müssen diese Einrichtungsskripts nur für Datenbanken durchlaufen, die aus älteren Versionen von SQL Server wiederhergestellt wurden.You will have to run through these setup scripts only for databases restored from older versions of SQL Server. Wenn Sie eine neue Datenbank in der SQL Server-Masterinstanz erstellen, sind die gespeicherten Prozeduren für den Datenpool und den Speicherpool bereits für Sie konfiguriert.If you create a new database in SQL Server master instance, data pool and storage pool store procedures are already configured for you.

Nächste SchritteNext steps

Weitere Informationen zu Big Data-Cluster für SQL ServerSQL Server Big Data Clusters finden Sie in der folgenden Übersicht:To learn more about the Big Data-Cluster für SQL ServerSQL Server Big Data Clusters, see the following overview: