Bagikan melalui


Pencadangan SQL Server ke URL untuk Azure Blob Storage

Berlaku untuk:SQL ServerAzure SQL Managed Instance

Artikel ini memperkenalkan konsep, persyaratan, dan komponen yang diperlukan untuk menggunakan Azure Blob Storage sebagai tujuan pencadangan. Fungsionalitas pencadangan dan pemulihan sama atau mirip dengan saat menggunakan DISK atau TAPE, dengan beberapa perbedaan. Perbedaan ini dan beberapa contoh kode disertakan dalam artikel ini.

Tip

Dimulai dengan SQL Server 2025 (17.x), Anda dapat melakukan backup ke URL dengan identitas terkelola. Tinjau Pencadangan ke URL dengan identitas terkelola (pratinjau) - SQL Server diaktifkan oleh Azure Arc.

Overview

SQL Server 2012 Service Pack 1 CU2 dan SQL Server 2014 memperkenalkan kemampuan untuk mencadangkan ke URL yang diarahkan ke Azure Blob Storage, menggunakan sintaks T-SQL yang sudah dikenal untuk menulis cadangan dengan aman ke penyimpanan Azure. SQL Server 2016 (13.x) memperkenalkan File-Snapshot Backup untuk File Database di Azure dan keamanan melalui kunci tanda tangan akses bersama (SAS), cara yang aman dan sederhana untuk mengautentikasi sertifikat ke kebijakan keamanan Azure Storage.

Penting untuk memahami komponen dan interaksi di antara mereka untuk melakukan pencadangan ke atau memulihkan dari Azure Blob Storage.

Membuat akun Azure Storage dalam langganan Azure Anda adalah langkah pertama dalam proses ini. Akun penyimpanan ini adalah akun administratif yang memiliki izin administratif penuh pada semua kontainer dan objek yang dibuat dengan akun penyimpanan. SQL Server dapat menggunakan nama akun penyimpanan Azure dan nilai kunci aksesnya untuk mengautentikasi dan menulis dan membaca blob ke Azure Blob Storage, atau menggunakan token Tanda Tangan Akses Bersama yang dihasilkan pada kontainer tertentu yang memberinya hak baca dan tulis. Untuk informasi selengkapnya tentang Akun Azure Storage, lihat Tentang Akun Azure Storage dan untuk informasi selengkapnya tentang Tanda Tangan Akses Bersama, lihat Tanda Tangan Akses Bersama, Bagian 1: Memahami Model SAS. Informasi masuk SQL Server akan menyimpan informasi autentikasi ini dan digunakan selama operasi pencadangan atau pemulihan.

Penyimpanan Azure dan penyimpanan yang kompatibel dengan S3

SQL Server 2022 (16.x) memperkenalkan kemampuan untuk menulis cadangan ke penyimpanan objek yang kompatibel dengan S3, dengan fungsionalitas pencadangan dan pemulihan yang secara konseptual mirip dengan bekerja dengan Backup ke URL menggunakan Azure Blob Storage sebagai jenis perangkat cadangan. SQL Server 2022 (16.x) memperluas BACKUP/RESTORE TO/FROM URL sintaks dengan menambahkan dukungan untuk konektor S3 baru menggunakan REST API.

Artikel ini berisi informasi tentang menggunakan Cadangan ke URL untuk Azure Blob Storage. Untuk mempelajari selengkapnya tentang menggunakan pencadangan ke URL untuk penyimpanan yang kompatibel dengan S3, lihat SQL Server pencadangan ke URL untuk penyimpanan objek yang kompatibel dengan S3.

Pencadangan ke blob blok Azure Storage vs. blob halaman

Ada dua jenis blob yang dapat disimpan di Azure Blob Storage: blob blok dan halaman. Untuk SQL Server 2016 dan yang lebih baru, blob blok lebih disukai.

Jika kunci penyimpanan digunakan dalam kredensial, blob halaman digunakan; jika Tanda Tangan Akses Bersama digunakan, blob blok digunakan.

Pencadangan untuk memblokir blob hanya tersedia di SQL Server 2016 atau versi yang lebih baru untuk pencadangan ke Azure Blob Storage. Cadangkan ke block blob alih-alih page blob jika Anda menjalankan SQL Server 2016 atau yang lebih baru.

Alasan utamanya adalah:

  • Tanda Tangan Akses Bersama adalah cara yang lebih aman untuk mengotorisasi akses blob dibandingkan dengan kunci penyimpanan.
  • Anda dapat mencadangkan ke beberapa blob blok untuk mendapatkan performa pencadangan dan pemulihan yang lebih baik, dan mendukung pencadangan database yang lebih besar.
  • Blok blob lebih murah daripada Halaman blob.
  • Pelanggan yang perlu mencadangkan ke blob halaman melalui server proksi perlu menggunakan backuptourl.exe.

Mengambil cadangan database besar ke Azure Blob Storage tunduk pada batasan yang tercantum dalam perbedaan, batasan, dan masalah umum T-SQL Azure SQL Managed Instance.

Jika database terlalu besar, baik:

  • Menggunakan kompresi cadangan atau
  • Mencadangkan ke beberapa blob blok

Dukungan di Linux, kontainer, dan SQL Managed Instance yang diaktifkan oleh Azure Arc

Jika instans SQL Server dihosting di Linux, termasuk:

  • Sistem operasi yang berdiri sendiri
  • Containers
  • SQL Managed Instance diaktifkan oleh Azure Arc
  • Lingkungan berbasis Linux lainnya

Satu-satunya cadangan yang didukung ke URL untuk Azure Blob Storage adalah memblokir blob, menggunakan Tanda Tangan Akses Bersama.

Azure Blob Storage

Akun Penyimpanan: Akun penyimpanan adalah titik awal untuk semua layanan penyimpanan. Untuk mengakses Azure Blob Storage, pertama-tama buat akun penyimpanan Azure. Untuk informasi selengkapnya, lihat Membuat Akun Penyimpanan

Wadah: Kontainer menyediakan pengelompokan sekumpulan blob, dan dapat menyimpan blob dalam jumlah tak terbatas. Untuk menulis cadangan SQL Server ke Azure Blob Storage, Anda harus memiliki setidaknya kontainer akar yang dibuat. Anda dapat membuat token Tanda Tangan Akses Bersama pada kontainer dan memberikan akses ke objek pada kontainer tertentu saja.

Gumpalan: Sebuah file dengan jenis dan ukuran apa saja. Ada dua jenis blob yang dapat disimpan di Azure Blob Storage: blob blok dan halaman. Pencadangan SQL Server dapat menggunakan salah satu jenis blob tergantung pada sintaks Transact-SQL yang digunakan. Blob dapat diatasi menggunakan format URL berikut: https://< storage account.blob.core.windows.net/>< container>/<blob>. Untuk informasi selengkapnya tentang Azure Blob Storage, lihat Pengenalan Azure Blob Storage. Untuk informasi selengkapnya tentang blob halaman dan blok, lihat Memahami Blob Blok dan Halaman.

Diagram akun, kontainer, dan blob Azure Blob Storage.

Rekam Jepret Azure: Rekam jepret blob Azure yang diambil pada titik waktu tertentu. Untuk informasi selengkapnya, lihat Membuat Snapshot Blob. Cadangan SQL Server sekarang mendukung cadangan rekam jepret Azure dari file database yang disimpan di Azure Blob Storage. Untuk informasi selengkapnya, lihat Cadangan Rekam Jepret File untuk File Database di Azure.

Komponen SQL Server

URL: URL menentukan Pengidentifikasi Sumber Daya Seragam (URI) ke file cadangan unik. URL digunakan untuk menyediakan lokasi dan nama file cadangan SQL Server. URL harus menunjuk ke blob sebenarnya, bukan hanya kontainer. Jika blob tidak ada, akan dibuat. Jika blob yang ada ditentukan, BACKUP gagal, kecuali opsi WITH FORMAT ditentukan untuk menimpa file cadangan yang sudah ada di dalam blob.

Berikut adalah nilai URL sampel: https://ACCOUNTNAME.blob.core.windows.net/<CONTAINER>/FILENAME.bak.

Note

Pencadangan ke URL menggunakan HTTP tidak didukung.

Credential: Kredensial SQL Server adalah objek yang digunakan untuk menyimpan informasi autentikasi yang diperlukan untuk terhubung ke sumber daya di luar SQL Server. Di sini, proses pencadangan dan pemulihan SQL Server menggunakan kredensial untuk mengautentikasi ke Azure Blob Storage dan objek kontainer dan blobnya. Kredensial menyimpan nama akun penyimpanan dan nilai kunci akses akun penyimpanan, atau URL kontainer dan token Tanda Tangan Akses Bersamanya. Setelah kredensial dibuat, sintaks BACKUP/RESTORE pernyataan menentukan jenis blob dan kredensial yang diperlukan.

Untuk contoh tentang cara membuat Tanda Tangan Akses Bersama, lihat Membuat contoh Tanda Tangan Akses Bersama nanti di artikel ini dan untuk membuat Kredensial SQL Server, lihat Membuat contoh kredensial nanti di artikel ini.

Untuk informasi selengkapnya tentang kredensial, lihat Kredensial (Mesin Database).

Untuk informasi tentang contoh lain tempat kredensial digunakan, lihat Membuat Proksi Agen SQL Server.

Dukungan penyimpanan yang tidak dapat diubah Azure

SQL Server 2025 (17.x) memperkenalkan dukungan untuk penyimpanan Azure yang tidak dapat diubah, yang melindungi dari serangan ransomware. File yang ditulis ke penyimpanan yang tidak dapat diubah tidak dapat dimodifikasi atau dihapus, seperti yang didefinisikan oleh kekekalan.

Biasanya, cadangan SQL Server dibuat dalam dua langkah. Awalnya, .bak file cadangan dibuat dengan nol, lalu file diperbarui dengan data. Karena modifikasi file pada penyimpanan bersifat tetap tidak diizinkan setelah file ditulis dan disimpan, proses pencadangan sekarang melewati langkah awal untuk membuat file cadangan dengan nol. Sebagai gantinya, seluruh cadangan dibuat dalam satu langkah ketika ditulis untuk memblokir blob.

Untuk menggunakan penyimpanan yang tidak dapat diubah dengan cadangan SQL Server 2025 (17.x) ke URL, ikuti langkah-langkah berikut:

  1. Mengonfigurasi kekekalan untuk kontainer penyimpanan Azure Anda.

  2. Terbitkan BACKUP untuk mencadangkan database Anda ke kontainer penyimpanan Azure. Jika Anda menggunakan WITH FORMAT opsi pada penyimpanan yang tidak dapat diubah, dan cadangan sudah ada dengan nama yang sama, Anda mendapatkan kesalahan dan pencadangan gagal.

    BACKUP DATABASE [<Database>] TO URL = '<url>';
    

Keamanan untuk Azure Blob Storage

Berikut ini adalah pertimbangan dan persyaratan keamanan saat mencadangkan atau memulihkan dari Azure Blob Storage.

  • Saat membuat kontainer untuk Azure Blob Storage, kami sarankan Anda mengatur akses ke privat. Mengatur akses ke privat membatasi akses ke pengguna atau akun yang dapat memberikan informasi yang diperlukan untuk mengautentikasi ke akun Azure.

    Important

    SQL Server mengharuskan nama akun Azure dan autentikasi kunci akses, atau Tanda Tangan Akses Bersama dan token akses, disimpan dalam Kredensial SQL Server. Informasi ini digunakan untuk mengautentikasi ke akun Azure saat melakukan operasi pencadangan atau pemulihan.

    Warning

    Azure Storage mendukung menonaktifkan otorisasi Kunci Bersama untuk akun penyimpanan. Jika otorisasi Kunci Bersama dinonaktifkan, pencadangan SQL Server ke URL tidak akan berfungsi.

  • Akun pengguna yang digunakan untuk mengeluarkan perintah BACKUP atau RESTORE harus berada dalam peran database operator db_backup dengan izin Ubah kredensial apa pun.

Batasan pencadangan/pemulihan ke Azure Blob Storage

  • SQL Server membatasi ukuran cadangan maksimum yang didukung menggunakan blob halaman hingga 1 TB. Ukuran cadangan maksimum yang didukung menggunakan blob blok dibatasi hingga sekitar 200 GB (50.000 blok * 4 MB MAXTRANSFERSIZE). Blob blok mendukung striping untuk mendukung ukuran cadangan yang jauh lebih besar - batasnya adalah maksimum 64 URL, yang menghasilkan rumus berikut: 64 stripes * 50,000 blocks * 4MB maxtransfersize = 12.8 TB.

    Important

    Meskipun ukuran cadangan maksimum yang didukung oleh blob blok tunggal adalah 200 GB, SQL Server dapat menulis dalam ukuran blok yang lebih kecil, yang dapat menyebabkan SQL Server mencapai batas blok 50.000 sebelum seluruh cadangan ditransfer. Pencadangan stripe (bahkan jika lebih kecil dari 200 GB) untuk menghindari batas blok, terutama ketika Anda menggunakan cadangan diferensial atau tidak dikompresi.

  • Anda dapat mengeluarkan pernyataan pencadangan atau pemulihan dengan menggunakan cmdlet Transact-SQL, SMO, PowerShell, atau SQL Server Management Studio Backup atau Restore.

  • Saat mencadangkan ke akun Azure Storage, SQL Server hanya mendukung autentikasi dengan token Tanda Tangan Akses Bersama (SAS) atau kunci akun penyimpanan. Semua metode autentikasi lainnya, termasuk autentikasi dengan ID Microsoft Entra (sebelumnya Azure Active Directory), tidak didukung.

  • Membuat nama perangkat logis tidak didukung. Jadi menambahkan URL sebagai perangkat cadangan menggunakan sp_dumpdevice atau melalui SQL Server Management Studio tidak didukung.

  • Menambahkan ke blob cadangan yang ada tidak didukung. Cadangan ke blob yang ada hanya dapat ditimpa dengan opsi WITH FORMAT. Namun, saat menggunakan cadangan rekaman jepretan file (menggunakan argumen WITH FILE_SNAPSHOT), argumen WITH FORMAT tidak diizinkan untuk menghindari timbulnya rekaman jepretan file yang terputus yang dibuat dengan cadangan rekaman jepretan file asli.

  • Cadangan ke beberapa blob dalam satu operasi cadangan hanya didukung menggunakan blob blok dan menggunakan token Tanda Tangan Akses Bersama (SAS) daripada kunci akun penyimpanan untuk Informasi masuk SQL.

  • Penggunaan BLOCKSIZE tidak didukung untuk page blobs.

  • Penentuan MAXTRANSFERSIZE tidak didukung untuk blob halaman.

  • Menentukan opsi set cadangan - RETAINDAYS dan EXPIREDATE tidak didukung.

  • SQL Server memiliki batas maksimum 259 karakter untuk nama perangkat cadangan. BACKUP TO URL menghabiskan 36 karakter untuk elemen yang diperlukan untuk menentukan URL https://.blob.core.windows.net//.bak, menyisakan 223 karakter untuk nama akun, kontainer, dan blob secara keseluruhan.

  • SQL Server 2019 (15.x) dan versi yang lebih lama memiliki batas 256 karakter untuk token Tanda Tangan Akses Bersama (SAS), yang membatasi jenis token yang dapat digunakan (misalnya, token Kunci Delegasi Pengguna tidak didukung).

  • Jika server Anda mengakses Azure melalui server proksi, Anda harus menggunakan bendera pelacakan 1819 lalu mengatur konfigurasi proksi WinHTTP melalui salah satu metode berikut:

    • Utilitas proxycfg.exe pada Windows XP atau Windows Server 2003 dan yang lebih lama.
    • Utilitas netsh.exe pada Windows Vista dan Windows Server 2008 atau yang lebih baru.
  • Penyimpanan yang tidak dapat diubah untuk Azure Blob Storage tidak didukung. Atur kebijakan Penyimpanan yang Tidak Dapat Diubah ke false.

  • Pencadangan ke URL tidak didukung ke penyimpanan premium.

Argumen dan pernyataan yang didukung di Azure Blob Storage

Dukungan untuk pernyataan pencadangan/pemulihan di Azure Blob Storage

Pernyataan Pencadangan/Pemulihan Supported Exceptions Comments
BACKUP Yes BLOCKSIZE dan MAXTRANSFERSIZE didukung untuk blob blok. Mereka tidak didukung untuk blob halaman. BACKUP ke blok blob memerlukan Tanda Tangan Akses Bersama yang disimpan dalam kredensial SQL Server. BACKUP ke page blob memerlukan kunci akun penyimpanan yang disimpan dalam kredensial SQL Server, dan WITH CREDENTIAL argumen harus ditentukan.
RESTORE Yes Memerlukan kredensial SQL Server untuk ditentukan, serta memerlukan argumen WITH CREDENTIAL ditentukan jika kredensial SQL Server didefinisikan menggunakan kunci akun penyimpanan sebagai rahasia.
RESTORE FILELISTONLY Yes Memerlukan kredensial SQL Server untuk ditentukan, serta memerlukan argumen WITH CREDENTIAL ditentukan jika kredensial SQL Server didefinisikan menggunakan kunci akun penyimpanan sebagai rahasia.
RESTORE HEADERONLY Yes Memerlukan kredensial SQL Server untuk ditentukan, serta memerlukan argumen WITH CREDENTIAL ditentukan jika kredensial SQL Server didefinisikan menggunakan kunci akun penyimpanan sebagai rahasia.
RESTORE LABELONLY Yes Memerlukan kredensial SQL Server untuk ditentukan, serta memerlukan argumen WITH CREDENTIAL ditentukan jika kredensial SQL Server didefinisikan menggunakan kunci akun penyimpanan sebagai rahasia.
RESTORE VERIFYONLY Yes Memerlukan kredensial SQL Server untuk ditentukan, serta memerlukan argumen WITH CREDENTIAL ditentukan jika kredensial SQL Server didefinisikan menggunakan kunci akun penyimpanan sebagai rahasia.
RESTORE REWINDONLY No

Untuk sintaksis dan informasi umum tentang pernyataan cadangan, lihat BACKUP.

Untuk sintaksis dan informasi umum tentang pernyataan pemulihan, lihat Pernyataan RESTORE.

Dukungan untuk argumen cadangan di Azure Blob Storage

Argument Supported Exception Comments
DATABASE Yes
LOG Yes
TO(URL) Yes Tidak seperti DISK dan TAPE, URL tidak mendukung menentukan atau membuat nama logis. Argumen ini digunakan untuk menentukan jalur URL untuk file cadangan.
MIRROR TO Yes
WITH Pilihan:
CREDENTIAL Yes WITH CREDENTIAL hanya didukung ketika opsi BACKUP TO URL digunakan untuk mencadangkan ke Azure Blob Storage dan hanya jika kredensial SQL Server ditentukan menggunakan kunci akun penyimpanan sebagai rahasia.
FILE_SNAPSHOT Yes
ENCRYPTION Yes WITH ENCRYPTION Ketika argumen ditentukan, SQL Server File-Snapshot Backup memastikan bahwa seluruh database dienkripsi TDE sebelum melakukan pencadangan dan, jika demikian, mengenkripsi file cadangan snapshot itu sendiri menggunakan algoritma yang ditentukan untuk TDE pada database. Jika semua data dalam database di seluruh database tidak dienkripsi, pencadangan gagal (misalnya, proses enkripsi belum selesai).
DIFFERENTIAL Yes
COPY_ONLY Yes
COMPRESSION|NO_COMPRESSION Yes Tidak didukung untuk pencadangan rekam jepret file
DESCRIPTION Yes
NAME Yes
EXPIREDATE | RETAINDAYS No
NOINIT | INIT No Menambahkan ke blob tidak dapat dilakukan. Untuk menimpa cadangan, gunakan WITH FORMAT argumen . Namun, saat menggunakan cadangan rekaman snapshot file (menggunakan argumen WITH FILE_SNAPSHOT), argumen WITH FORMAT tidak diizinkan agar tidak meninggalkan rekaman snapshot file yang terbengkalai yang dibuat dengan cadangan sebelumnya.
NOSKIP | SKIP No
NOFORMAT | FORMAT Yes Cadangan yang dibuat pada blob yang ada akan gagal kecuali jika WITH FORMAT ditentukan. Blob yang sudah ada ditimpa ketika WITH FORMAT dispesifikasi. Namun, saat menggunakan cadangan rekaman jepretan file (menggunakan argumen WITH FILE_SNAPSHOT), argumen FORMAT tidak diizinkan untuk menghindari timbulnya rekaman jepretan file yang terputus yang dibuat dengan cadangan rekaman jepretan file asli. Namun, saat menggunakan cadangan rekaman snapshot file (menggunakan argumen WITH FILE_SNAPSHOT), argumen WITH FORMAT tidak diizinkan agar tidak meninggalkan rekaman snapshot file yang terbengkalai yang dibuat dengan cadangan sebelumnya.
MEDIADESCRIPTION Yes
MEDIANAME Yes
BLOCKSIZE Yes Tidak didukung untuk blob halaman. Didukung untuk blob blok. Rekomendasikan BLOCKSIZE=65536 untuk mengoptimalkan penggunaan 50.000 blok yang diizinkan dalam blok blob.
BUFFERCOUNT Yes
MAXTRANSFERSIZE Yes Tidak didukung untuk blob halaman. Didukung untuk blob blok. Defaultnya adalah 1048576. Nilai dapat mencapai hingga 4 MB dengan kelipatan 65.536 byte.

Rekomendasikan MAXTRANSFERSIZE=4194304 untuk mengoptimalkan penggunaan 50.000 blok yang diizinkan dalam blok blob.
NO_CHECKSUM | CHECKSUM Yes
STOP_ON_ERROR | CONTINUE_AFTER_ERROR Yes
STATS Yes
REWIND | NOREWIND No
UNLOAD | NOUNLOAD No
NORECOVERY | STANDBY Yes
NO_TRUNCATE Yes

Untuk informasi selengkapnya tentang argumen cadangan, lihat BACKUP.

Dukungan untuk memulihkan argumen di Azure Blob Storage

Argument Supported Exceptions Comments
DATABASE Yes
LOG Yes
FROM(URL) Yes Argumen FROM URL digunakan untuk menentukan jalur URL untuk file cadangan.
WITH Pilihan:
CREDENTIAL Yes WITH CREDENTIAL hanya didukung saat menggunakan RESTORE FROM URL opsi untuk memulihkan dari Azure Blob Storage.
PARTIAL Yes
RECOVERY | NORECOVERY | STANDBY Yes
LOADHISTORY Yes
MOVE Yes
REPLACE Yes
RESTART Yes
RESTRICTED_USER Yes
FILE No
PASSWORD Yes
MEDIANAME Yes
MEDIAPASSWORD Yes
BLOCKSIZE Yes
BUFFERCOUNT No
MAXTRANSFERSIZE No
CHECKSUM | NO_CHECKSUM Yes
STOP_ON_ERROR | CONTINUE_AFTER_ERROR Yes
FILESTREAM Yes Tidak didukung untuk pencadangan rekam jepret
STATS Yes
REWIND | NOREWIND No
UNLOAD | NOUNLOAD No
KEEP_REPLICATION Yes
KEEP_CDC Yes
ENABLE_BROKER | ERROR_BROKER_CONVERSATIONS | NEW_BROKER Yes
STOPAT | STOPATMARK | STOPBEFOREMARK Yes

Untuk informasi selengkapnya tentang Argumen pemulihan, lihat Pernyataan RESTORE - Argumen.

Mencadangkan dengan SSMS

Anda dapat mencadangkan database ke URL melalui tugas Pencadangan di SQL Server Management Studio menggunakan Kredensial SQL Server.

Note

Untuk membuat cadangan cuplikan file SQL Server, atau menimpa set media yang ada, Anda harus menggunakan Transact-SQL, PowerShell, atau C# daripada tugas Backup di SQL Server Management Studio.

Langkah-langkah berikut ini menjelaskan perubahan yang dilakukan pada tugas Mencadangkan Database di SQL Server Management Studio untuk memungkinkan pencadangan ke penyimpanan Azure:

  1. Di Object Explorer, sambungkan ke instans Mesin Database SQL Server lalu perluas instans tersebut.

  2. Buka Database, klik kanan database yang diinginkan, arahkan ke Tugas, lalu pilih Backup....

  3. Pada halaman Umum di bagian Tujuan , opsi URL tersedia di daftar dropdown Cadangkan ke: . Opsi URL digunakan untuk membuat cadangan ke penyimpanan Azure. Pilih Tambahkan, dan kotak dialog Pilih Tujuan Cadangan terbuka:

    1. Kontainer penyimpanan Azure: Nama kontainer penyimpanan Azure untuk menyimpan file cadangan. Pilih kontainer yang ada dari daftar dropdown atau masukkan kontainer secara manual.

    2. Kebijakan Akses Bersama: Masukkan Tanda Tangan Akses Bersama untuk kontainer yang dimasukkan secara manual. Bidang ini tidak tersedia jika kontainer yang telah ada sudah dipilih.

    3. File Cadangan: Nama file cadangan.

    4. Kontainer Baru: Digunakan untuk mendaftarkan kontainer yang sudah ada yang tidak Memiliki Tanda Tangan Akses Bersama. Lihat Menyambungkan ke Langganan Microsoft Azure (Cadangkan ke URL).

Note

Tambahkan mendukung beberapa file cadangan dan kontainer penyimpanan untuk satu set media.

Saat Anda memilih URL sebagai tujuan, opsi tertentu di halaman Opsi Media dinonaktifkan. Artikel berikut ini memiliki informasi selengkapnya tentang dialog Cadangkan Database:

Mencadangkan dengan rencana pemeliharaan

Mirip dengan tugas pencadangan yang dijelaskan sebelumnya, Wizard Rencana Pemeliharaan di SQL Server Management Studio menyertakan URL sebagai salah satu opsi tujuan, dan objek pendukung lainnya yang diperlukan untuk mencadangkan ke penyimpanan Azure seperti Kredensial SQL. Ini memiliki hal yang sama Untuk informasi selengkapnya, lihat bagian Tentukan Tugas Pencadangan di Menggunakan Wizard Rencana Pemeliharaan.

Note

Untuk membuat kumpulan cadangan bergaris, cadangan rekam jepret file SQL Server, atau kredensial SQL menggunakan token Akses Bersama, Anda harus menggunakan Transact-SQL, PowerShell, atau C# daripada tugas Pencadangan di Wizard Rencana Pemeliharaan.

Memulihkan dengan SSMS

Tugas Pemulihan Database menggunakan URL sebagai perangkat untuk memulihkan. Langkah-langkah berikut ini menjelaskan menggunakan tugas Pulihkan untuk memulihkan dari Azure Blob Storage:

  1. Klik kanan Database dan pilih Pulihkan Database....

  2. Pada halaman Umum , pilih Perangkat di bawah bagian Sumber .

  3. Pilih tombol telusuri (...) untuk membuka kotak dialog Pilih perangkat cadangan.

  4. Pilih URL dari daftar dropdown Jenis media cadangan: . Pilih Tambahkan untuk membuka kotak dialog Pilih Lokasi File Cadangan .

    1. Kontainer penyimpanan Azure: Nama kontainer penyimpanan Azure yang sepenuhnya memenuhi syarat yang berisi file cadangan. Pilih kontainer yang ada dari daftar dropdown atau masukkan nama kontainer yang sepenuhnya memenuhi syarat secara manual.

    2. Tanda Tangan Akses Bersama: Digunakan untuk memasukkan Tanda Tangan Akses Bersama untuk kontainer yang ditunjuk.

    3. Tambah: Digunakan untuk mendaftarkan kontainer yang sudah ada yang tidak Memiliki Tanda Tangan Akses Bersama. Lihat Menyambungkan ke Langganan Microsoft Azure (Cadangkan ke URL).

    4. OKE: SQL Server tersambung ke penyimpanan Azure menggunakan informasi Kredensial SQL yang Anda berikan dan membuka dialog Temukan File Cadangan di Microsoft Azure . File cadangan yang berada di kontainer penyimpanan ditampilkan di halaman ini. Pilih file yang ingin Anda gunakan untuk memulihkan dan pilih OK. Ini akan membawa Anda kembali ke dialog Pilih Perangkat Cadangan , dan memilih OK pada dialog ini akan membawa Anda kembali ke dialog Pemulihan utama, tempat Anda dapat menyelesaikan pemulihan.

Contoh kode

Bagian ini berisi contoh berikut.

Note

Untuk tutorial tentang menggunakan SQL Server 2016 dengan Azure Blob Storage, lihat Tutorial: Menggunakan Azure Blob Storage dengan SQL Server

Membuat Tanda Tangan Akses Bersama

Contoh berikut membuat Tanda Tangan Akses Bersama yang dapat digunakan untuk membuat Kredensial SQL Server pada kontainer yang baru dibuat. Skrip membuat Tanda Tangan Akses Bersama yang terkait dengan Kebijakan Akses Tersimpan. Untuk informasi selengkapnya, lihat Tanda Tangan Akses Bersama, Bagian 1: Memahami Model SAS. Skrip juga menulis perintah T-SQL yang diperlukan untuk membuat informasi masuk di SQL Server.

Note

Contohnya memerlukan Azure PowerShell. Untuk informasi tentang menginstal dan menggunakan Azure PowerShell, lihat Cara menginstal dan mengonfigurasi Azure PowerShell. Skrip ini diverifikasi menggunakan Azure PowerShell 5.1.15063.

Tanda Tangan Akses Bersama yang terkait dengan Kebijakan Akses Tersimpan

# Define global variables for the script
$prefixName = '<a prefix name>'  # used as the prefix for the name for various objects
$subscriptionName = '<your subscription name>'   # the name of subscription name you will use
$locationName = '<a data center location>'  # the data center region you will use
$storageAccountName = $prefixName + 'storage' # the storage account name you will create or use
$containerName = $prefixName + 'container'  # the storage container name to which you will attach the SAS policy with its SAS token
$policyName = $prefixName + 'policy' # the name of the SAS policy

# Set a variable for the name of the resource group you will create or use
$resourceGroupName = $prefixName + 'rg'

# adds an authenticated Azure account for use in the session
Connect-AzAccount

# set the tenant, subscription and environment for use in the rest of
Set-AzContext -SubscriptionName $subscriptionName

# create a new resource group - comment out this line to use an existing resource group
New-AzResourceGroup -Name $resourceGroupName -Location $locationName

# Create a new ARM storage account - comment out this line to use an existing ARM storage account
New-AzStorageAccount -Name $storageAccountName -ResourceGroupName $resourceGroupName -Type Standard_RAGRS -Location $locationName

# Get the access keys for the ARM storage account
$accountKeys = Get-AzStorageAccountKey -ResourceGroupName $resourceGroupName -Name $storageAccountName

# Create a new storage account context using an ARM storage account
$storageContext = New-AzStorageContext -StorageAccountName $storageAccountName -StorageAccountKey $accountKeys[0].value

# Creates a new container in Azure Blob Storage
$container = New-AzStorageContainer -Context $storageContext -Name $containerName
$cbc = $container.CloudBlobContainer

# Sets up a Stored Access Policy and a Shared Access Signature for the new container
$policy = New-AzStorageContainerStoredAccessPolicy -Container $containerName -Policy $policyName -Context $storageContext -ExpiryTime $(Get-Date).ToUniversalTime().AddYears(10) -Permission "rwld"
$sas = New-AzStorageContainerSASToken -Policy $policyName -Context $storageContext -Container $containerName
Write-Host 'Shared Access Signature= '$($sas.TrimStart('?'))''

# Outputs the Transact SQL to the clipboard and to the screen to create the credential using the Shared Access Signature
Write-Host 'Credential T-SQL'
$tSql = "CREATE CREDENTIAL [{0}] WITH IDENTITY='Shared Access Signature', SECRET='{1}'" -f $cbc.Uri, $sas.TrimStart('?')
$tSql | clip
Write-Host $tSql

Setelah berhasil menjalankan skrip, salin CREATE CREDENTIAL perintah ke alat kueri, sambungkan ke instans SQL Server dan jalankan perintah untuk membuat kredensial dengan Tanda Tangan Akses Bersama.

Buat info masuk

Contoh berikut membuat kredensial SQL Server untuk autentikasi ke Azure Blob Storage. Lakukan salah satu hal berikut ini.

  1. Menggunakan Tanda Tangan Akses Bersama

    Jika Anda menjalankan skrip sebelumnya untuk membuat Tanda Tangan Akses Bersama, salin CREATE CREDENTIAL ke editor kueri yang tersambung ke instans SQL Server Anda dan jalankan perintah .

    T-SQL berikut adalah contoh yang membuat kredensial untuk menggunakan Tanda Tangan Akses Bersama.

    IF NOT EXISTS (SELECT *
                   FROM sys.credentials
                   WHERE name = 'https://<mystorageaccountname>.blob.core.windows.net/<mystorageaccountcontainername>')
        CREATE CREDENTIAL [https://<mystorageaccountname>.blob.core.windows.net/<mystorageaccountcontainername>]
            WITH IDENTITY = 'SHARED ACCESS SIGNATURE', SECRET = '<SAS_TOKEN>';
    
  2. Menggunakan identitas akun penyimpanan dan kunci akses

    IF NOT EXISTS (SELECT *
                   FROM sys.credentials
                   WHERE name = '<mycredentialname>')
        CREATE CREDENTIAL [<mycredentialname>]
            WITH IDENTITY = '<mystorageaccountname>', SECRET = '<mystorageaccountaccesskey>';
    

Melakukan pencadangan database lengkap

Contoh berikut melakukan pencadangan AdventureWorks2025 database lengkap database ke Azure Blob Storage. Gunakan salah satu sampel berikut:

  1. Ke URL menggunakan Tanda Tangan Akses Bersama

    BACKUP DATABASE AdventureWorks2022
        TO URL = 'https://<mystorageaccountname>.blob.core.windows.net/<mycontainername>/AdventureWorks2022.bak';
    GO
    
  2. Ke URL menggunakan identitas akun penyimpanan dan kunci akses

    BACKUP DATABASE AdventureWorks2022
    TO URL = 'https://<mystorageaccountname>.blob.core.windows.net/<mycontainername>/AdventureWorks2022.bak'
    WITH CREDENTIAL = '<mycredentialname>',
    COMPRESSION, STATS = 5;
    GO
    

Memulihkan ke titik waktu menggunakan STOPAT

Contoh berikut memulihkan AdventureWorks2025 database sampel ke statusnya pada satu titik waktu, dan memperlihatkan operasi pemulihan.

Dari URL menggunakan Tanda Tangan Akses Bersama

RESTORE DATABASE AdventureWorks2022
    FROM URL = 'https://<mystorageaccountname>.blob.core.windows.net/<mycontainername>/AdventureWorks2022_2015_05_18_16_00_00.bak'
    WITH MOVE 'AdventureWorks2022_data' TO 'C:\Program Files\Microsoft SQL Server\<myinstancename>\MSSQL\DATA\AdventureWorks2022.mdf',
    MOVE 'AdventureWorks2022_log' TO 'C:\Program Files\Microsoft SQL Server\<myinstancename>\MSSQL\DATA\AdventureWorks2022.ldf',
    NORECOVERY, REPLACE, STATS = 5;
GO

RESTORE LOG AdventureWorks2022
    FROM URL = 'https://<mystorageaccountname>.blob.core.windows.net/<mycontainername>/AdventureWorks2022_2015_05_18_18_00_00.trn'
    WITH RECOVERY, STOPAT = 'May 18, 2015 5:35 PM';
GO