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.
Tujuan
Tutorial ini menunjukkan cara menyelesaikan tugas berikut untuk mencapai tujuan Anda:- Membuat bucket Cloud Storage baru
- Mengonfigurasi konektor SQL Server
- Mencadangkan database Anda
- Memulihkan database Anda dari cadangan
Biaya
Dalam dokumen ini, Anda akan menggunakan komponen Google Cloudyang dapat ditagih berikut:
Untuk membuat perkiraan biaya berdasarkan proyeksi penggunaan Anda,
gunakan kalkulator harga.
Setelah menyelesaikan tugas yang dijelaskan dalam dokumen ini, Anda dapat menghindari penagihan berkelanjutan dengan menghapus resource yang Anda buat. Untuk mengetahui informasi selengkapnya, lihat Pembersihan.
Sebelum memulai
Untuk tutorial ini, Anda memerlukan project Google Cloud . Anda dapat membuat project baru atau memilih project yang sudah dibuat:
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, activate Cloud Shell.
Pastikan Microsoft SQL Server 2022 atau yang lebih baru telah diinstal dan berjalan.
Pastikan project Google Cloud dan SQL Server Anda memiliki izin yang diperlukan untuk melakukan tugas pencadangan dan pemulihan.
Pastikan akun pengguna atau akun layanan yang terkait dengan kunci akses memiliki izin untuk membuat dan melihat objek di bucket Cloud Storage.
Pastikan akun pengguna SQL Server yang digunakan untuk melakukan pencadangan memiliki izin mencadangkan database dan mencadangkan log.
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.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.
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.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.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.- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
- Pelajari arsitektur referensi, diagram, dan praktik terbaik tentang Google Cloud. Lihat Cloud Architecture Center kami.
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.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:
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:
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 opsiTO URL
. Tambahkan awalans3://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:
Deskripsi parameter cadangan yang digunakan dalam perintah adalah sebagai berikut:
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:
Pembersihan
Agar tidak menimbulkan biaya pada akun Google Cloud Anda untuk resource yang digunakan dalam tutorial ini:
Menghapus project
Langkah berikutnya
-