Bagikan melalui


Memulihkan database ke dalam instans master kluster big data SQL Server

Berlaku untuk: SQL Server 2019 (15.x)

Artikel ini menjelaskan cara memulihkan database yang sudah ada ke dalam instans master SQL Server 2019 Kluster Big Data. Metode yang direkomendasikan adalah menggunakan pendekatan pencadangan, penyalinan, dan pemulihan.

Penting

Add-on Kluster Big Data Microsoft SQL Server 2019 akan dihentikan. Dukungan untuk SQL Server 2019 Kluster Big Data akan berakhir pada 28 Februari 2025. Semua pengguna SQL Server 2019 yang ada dengan Jaminan Perangkat Lunak akan didukung sepenuhnya pada platform dan perangkat lunak akan terus dipertahankan melalui pembaruan kumulatif SQL Server hingga saat itu. Untuk informasi selengkapnya, lihat posting blog pengumuman dan Opsi big data di platform Microsoft SQL Server.

Mencadangkan database Anda yang sudah ada

Pertama, cadangkan database SQL Server Anda yang ada dari SQL Server di Windows atau Linux. Gunakan teknik pencadangan standar dengan Transact-SQL atau dengan alat seperti SQL Server Management Studio (SSMS).

Artikel ini memperlihatkan cara memulihkan database AdventureWorks, tetapi Anda dapat menggunakan cadangan database apa pun.

Tip

Unduh cadangan AdventureWorks.

Salin file cadangan

Salin file cadangan ke kontainer SQL Server di pod instans master kluster Kubernetes.

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

Contoh:

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

Kemudian, verifikasi bahwa file cadangan disalin ke kontainer pod.

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

Contoh:

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

Memulihkan file cadangan

Selanjutnya, pulihkan cadangan database ke SQL Server instans master. Jika Anda memulihkan cadangan database yang dibuat di Windows, Anda harus mendapatkan nama file. Di Azure Data Studio, sambungkan ke instans master dan jalankan skrip SQL ini:

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

Contoh:

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

Daftar file cadangan

Sekarang, pulihkan database. Skrip berikut merupakan sebuah contoh. Ganti nama/jalur sesuai kebutuhan tergantung pada cadangan database Anda.

RESTORE DATABASE AdventureWorks2022
FROM DISK='/tmp/AdventureWorks2022.bak'
WITH MOVE 'AdventureWorks2022_Data' TO '/var/opt/mssql/data/AdventureWorks2022_Data.mdf',
        MOVE 'AdventureWorks2022_Log' TO '/var/opt/mssql/data/AdventureWorks2022_Log.ldf',
        MOVE 'AdventureWorks2022_mod' TO '/var/opt/mssql/data/AdventureWorks2022_mod'

Mengonfigurasi kumpulan data dan akses HDFS

Sekarang, untuk instans master SQL Server untuk mengakses kumpulan data dan HDFS, jalankan kumpulan data dan prosedur tersimpan kumpulan penyimpanan. Jalankan skrip Transact-SQL berikut terhadap database Anda yang baru dipulihkan:

USE AdventureWorks2022;
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

Catatan

Anda harus menjalankan melalui skrip penyiapan ini hanya untuk database yang dipulihkan dari versi SQL Server yang lebih lama. Jika Anda membuat database baru di instans master SQL Server, kumpulan data dan prosedur penyimpanan kumpulan penyimpanan sudah dikonfigurasi untuk Anda.

Langkah berikutnya

Untuk mempelajari selengkapnya tentang Kluster Big Data SQL Server, lihat gambaran umum berikut: