Tutorial ini menjelaskan cara mencadangkan database Microsoft SQL Server 2022 secara langsung ke bucket Cloud Storage, dan memulihkannya nanti. Diperkenalkan di SQL Server 2022, fitur native pencadangan SQL Server menawarkan strategi yang lancar dan hemat biaya untuk pemulihan dari bencana dan migrasi data berbasis cloud.
Fitur native pencadangan SQL Server memanfaatkan perintah BACKUP TO URL
dan
RESTORE FROM URL
yang mendukung penyimpanan objek yang kompatibel dengan S3, termasuk Cloud Storage. Hal ini menghilangkan kebutuhan akan
penyimpanan lokal perantara, menyederhanakan alur kerja pencadangan dan mengurangi
overhead operasional.
Tutorial ini ditujukan untuk administrator dan engineer database.
Membuat bucket Cloud Storage
Anda dapat membuat bucket Cloud Storage menggunakan konsol Google Cloud atau menggunakan perintah gcloud storage
.
Untuk membuat bucket Cloud Storage menggunakan
perintah gcloud storage
, ikuti langkah-langkah
berikut.
Pilih project Google Cloud Anda.
gcloud config set project PROJECT_ID
Buat bucket. Untuk membuat bucket, jalankan perintah
gcloud storage buckets create
sebagai berikut.gcloud storage buckets create gs://BUCKET_NAME --location=BUCKET_LOCATION
Ganti kode berikut:
BUCKET_NAME
: dengan nama unik untuk bucket Anda.BUCKET_LOCATION
: dengan lokasi bucket Anda.
Mengonfigurasi interoperabilitas S3 dan membuat kunci akses
Untuk mengizinkan SQL Server berkomunikasi dengan Cloud Storage menggunakan protokol S3, Anda harus mengaktifkan interoperabilitas dan membuat kunci akses menggunakan langkah-langkah berikut:
Buka setelan Cloud Storage Anda di konsol Google Cloud .
Pilih tab Interoperabilitas.
Di bagian Kunci akses untuk akun pengguna Anda, klik Buat kunci.
Simpan Kunci akses dan Secret yang dihasilkan dengan aman. Anda akan membutuhkannya pada langkah berikutnya.
Untuk lingkungan produksi, sebaiknya gunakan kunci kode autentikasi pesan berbasis hash (HMAC) akun layanan untuk keamanan dan pengelolaan yang lebih baik.
Menambahkan Kredensial ke SQL Server
Untuk mengizinkan SQL Server melakukan autentikasi dengan bucket Cloud Storage, Anda harus membuat objek kredensial dalam SQL Server untuk menyimpan kunci akses dan rahasia Cloud Storage. Untuk melakukannya, jalankan perintah T-SQL berikut di SQL Server Management Studio (SSMS).
CREATE CREDENTIAL CREDENTIAL_NAME WITH IDENTITY = 'S3 Access Key', SECRET = 'ACCESS_KEY:SECRET';
Ganti kode berikut:
CREDENTIAL_NAME
: dengan nama untuk kredensial Anda.ACCESS_KEY
: dengan kunci akses yang Anda buat di bagian sebelumnya.SECRET
: dengan secret yang Anda buat di bagian sebelumnya.
IDENTITY = 'S3 Access Key'
sangat penting karena memberi tahu SQL Server untuk menggunakan konektor S3 baru. Rahasia harus diformat sebagai kunci akses, diikuti dengan titik dua, lalu kunci rahasia.
Contoh:
CREATE CREDENTIAL sql_backup_credentials WITH IDENTITY = 'S3 Access Key', SECRET = 'GOOGGE3SVF7OQE5JRMLQ7KWB:b31Pl8Tx1ARJfdGOsbgMFQNbk3nPdlT2UCYzs1iC';
Mencadangkan data Anda ke Cloud Storage
Setelah kredensial tersedia, Anda kini dapat mencadangkan database langsung ke bucket Cloud Storage menggunakan perintah BACKUP DATABASE
dengan opsi TO URL
. Tambahkan awalan s3://storage.googleapis.com
ke URL untuk menggunakan konektor S3, seperti berikut.
BACKUP DATABASE DATABASE_NAME TO URL = 's3://storage.googleapis.com/BUCKET_NAME/FOLDER_NAME/BACKUP_FILE_NAME.bak' WITH CREDENTIAL = 'CREDENTIAL_NAME', FORMAT, STATS = 10, MAXTRANSFERSIZE = 10485760, COMPRESSION;
Ganti kode berikut:
CREDENTIAL_NAME
Nama kredensial yang Anda buat di langkah 3. Misalnya —sql_backup_credentials
.BUCKET_NAME
Nama bucket yang Anda buat di langkah 1.FOLDER_NAME
Nama folder tempat Anda ingin menyimpan file cadangan.BACKUP_FILE_NAME
Nama file cadangan.
Deskripsi parameter cadangan yang digunakan dalam perintah adalah sebagai berikut:
FORMAT
: menimpa file cadangan yang ada dan membuat set media baru.STATS
: melaporkan progres pencadangan.COMPRESSION
: mengompresi cadangan, yang dapat mengurangi ukuran file dan waktu upload.MAXTRANSFERSIZE
: direkomendasikan untuk menghindari error I/O dengan file cadangan besar.
Untuk mengetahui informasi selengkapnya, lihat Mencadangkan SQL Server ke URL untuk penyimpanan objek yang kompatibel dengan S3.
Untuk database yang sangat besar, Anda dapat membagi cadangan menjadi beberapa file sebagai berikut.
BACKUP DATABASE DATABASE_NAME TO URL = 's3://storage.googleapis.com/BUCKET_NAME/FOLDER_NAME/BACKUP_FILE_NAME_0.bak', URL = 's3://storage.googleapis.com/BUCKET_NAME/FOLDER_NAME/BACKUP_FILE_NAME_1.bak' -- ... more files WITH CREDENTIAL = 'CREDENTIAL_NAME', FORMAT, STATS = 10, MAXTRANSFERSIZE = 10485760, COMPRESSION;
Memulihkan data Anda dari Cloud Storage
Anda dapat memulihkan database langsung dari file cadangan yang disimpan di Cloud Storage menggunakan perintah RESTORE DATABASE
sebagai berikut.
RESTORE DATABASE DATABASE_NAME FROM URL = 's3://storage.googleapis.com/BUCKET_NAME/FOLDER_NAME/BACKUP_FILE_NAME.bak' WITH CREDENTIAL = 'CREDENTIAL_NAME';
Ganti kode berikut: