Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Mencadangkan database SQL.
Pilih produk
Di baris berikut, pilih nama produk yang Anda minati, dan hanya informasi produk yang ditampilkan.
Untuk informasi selengkapnya tentang konvensi sintaks, lihat konvensi sintaks Transact-SQL.
* SQL Server *
SQL Server
Mencadangkan database SQL Server lengkap untuk membuat cadangan database, atau satu atau beberapa file atau grup file database untuk membuat cadangan file (BACKUP DATABASE). Selain itu, di bawah model pemulihan penuh atau model pemulihan yang dicatat secara massal, mencadangkan log transaksi database untuk membuat cadangan log (BACKUP LOG).
Sintaks
--Back up a whole database
BACKUP DATABASE { database_name | @database_name_var }
TO <backup_device> [ , ...n ]
[ <MIRROR TO clause> ] [ next-mirror-to ]
[ WITH { DIFFERENTIAL
| <general_WITH_options> [ , ...n ] } ]
[ ; ]
--Back up specific files or filegroups
BACKUP DATABASE { database_name | @database_name_var }
<file_or_filegroup> [ , ...n ]
TO <backup_device> [ , ...n ]
[ <MIRROR TO clause> ] [ next-mirror-to ]
[ WITH { DIFFERENTIAL | <general_WITH_options> [ , ...n ] } ]
[ ; ]
--Create a partial backup
BACKUP DATABASE { database_name | @database_name_var }
READ_WRITE_FILEGROUPS [ , <read_only_filegroup> [ , ...n ] ]
TO <backup_device> [ , ...n ]
[ <MIRROR TO clause> ] [ next-mirror-to ]
[ WITH { DIFFERENTIAL | <general_WITH_options> [ , ...n ] } ]
[ ; ]
--Back up the transaction log (full and bulk-logged recovery models)
BACKUP LOG
{ database_name | @database_name_var }
TO <backup_device> [ , ...n ]
[ <MIRROR TO clause> ] [ next-mirror-to ]
[ WITH { <general_WITH_options> | <log_specific_options> } [ , ...n ] ]
[ ; ]
--Back up all the databases on an instance of SQL Server (a server)
ALTER SERVER CONFIGURATION
SET SUSPEND_FOR_SNAPSHOT_BACKUP ON
[ ; ]
BACKUP SERVER
TO <backup_device> [ , ...n ]
[ <MIRROR TO clause> ] [ next-mirror-to ]
[ WITH { METADATA_ONLY
| <general_WITH_options> [ , ...n ] } ]
[ ; ]
--Back up a group of databases
ALTER DATABASE <database>
SET SUSPEND_FOR_SNAPSHOT_BACKUP ON
ALTER DATABASE <...>
SET SUSPEND_FOR_SNAPSHOT_BACKUP ON
...
BACKUP GROUP { <database> [ , ... ] }
TO <backup_device> [ , ...n ]
[ <MIRROR TO clause> ] [ next-mirror-to ]
[ WITH { METADATA_ONLY
| <general_WITH_options> [ , ...n ] } ]
[ ; ]
<backup_device>::=
{
{ logical_device_name | @logical_device_name_var }
| { DISK
| TAPE
| URL } =
{ 'physical_device_name' | @physical_device_name_var | 'NUL' }
}
<MIRROR TO clause>::=
MIRROR TO <backup_device> [ , ...n ]
<file_or_filegroup>::=
{
FILE = { logical_file_name | @logical_file_name_var }
| FILEGROUP = { logical_filegroup_name | @logical_filegroup_name_var }
}
<read_only_filegroup>::=
FILEGROUP = { logical_filegroup_name | @logical_filegroup_name_var }
<general_WITH_options> [ , ...n ] ::=
--Backup Set Options
COPY_ONLY
| [ COMPRESSION [ ( ALGORITHM = { MS_XPRESS | ZSTD | accelerator_algorithm } [ , LEVEL = { LOW | MEDIUM | HIGH } ] ) ] | NO_COMPRESSION ]
| DESCRIPTION = { 'text' | @text_variable }
| NAME = { backup_set_name | @backup_set_name_var }
| CREDENTIAL
| ENCRYPTION
| FILE_SNAPSHOT
| { EXPIREDATE = { 'date' | @date_var }
| RETAINDAYS = { days | @days_var } }
| { METADATA_ONLY | SNAPSHOT }
--Media set options
{ NOINIT | INIT }
| { NOSKIP | SKIP }
| { NOFORMAT | FORMAT }
| MEDIADESCRIPTION = { 'text' | @text_variable }
| MEDIANAME = { media_name | @media_name_variable }
| BLOCKSIZE = { blocksize | @blocksize_variable }
--Data Transfer Options
BUFFERCOUNT = { buffercount | @buffercount_variable }
| MAXTRANSFERSIZE = { maxtransfersize | @maxtransfersize_variable }
--Error Management Options
{ NO_CHECKSUM | CHECKSUM }
| { STOP_ON_ERROR | CONTINUE_AFTER_ERROR }
--Compatibility Options
RESTART
--Monitoring Options
STATS [ = percentage ]
--Tape Options
{ REWIND | NOREWIND }
| { UNLOAD | NOUNLOAD }
--Encryption Options
ENCRYPTION (ALGORITHM = { AES_128 | AES_192 | AES_256 | TRIPLE_DES_3KEY } , encryptor_options ) <encryptor_options> ::=
SERVER CERTIFICATE = Encryptor_Name | SERVER ASYMMETRIC KEY = Encryptor_Name
<log_specific_options> [ , ...n ] ::=
--Log-specific Options
{ NORECOVERY | STANDBY = undo_file_name }
| NO_TRUNCATE
Argumen
DATABASE
Menentukan pencadangan database lengkap. Jika daftar file dan grup file ditentukan, hanya file dan grup file yang dicadangkan. Selama pencadangan database penuh atau diferensial, SQL Server mencadangkan log transaksi yang cukup untuk menghasilkan database yang konsisten saat cadangan dipulihkan.
Saat Anda memulihkan cadangan yang dibuat oleh BACKUP DATABASE ( cadangan data), seluruh cadangan akan dipulihkan. Hanya cadangan log yang dapat dipulihkan ke waktu atau transaksi tertentu dalam cadangan.
Catatan
Hanya pencadangan database lengkap yang dapat dilakukan pada master database.
catatan
Menentukan cadangan log transaksi saja. Log dicadangkan dari cadangan log terakhir yang berhasil dijalankan ke akhir log saat ini. Sebelum dapat membuat cadangan log pertama, Anda harus membuat cadangan penuh.
Anda dapat memulihkan cadangan log ke waktu atau transaksi tertentu dalam cadangan dengan menentukan WITH STOPAT, STOPATMARK, atau STOPBEFOREMARK dalam pernyataan LOG AndaRESTORE.
Catatan
Setelah pencadangan log umum, beberapa catatan log transaksi menjadi tidak aktif, kecuali Jika Anda menentukan WITH NO_TRUNCATE atau COPY_ONLY. Log dipotong setelah semua rekaman dalam satu atau beberapa file log virtual menjadi tidak aktif. Jika log tidak dipotong setelah pencadangan log rutin, sesuatu mungkin menunda pemotongan log. Untuk informasi selengkapnya, lihat Faktor-faktor yang dapat menunda pemotongan log.
GROUP (<database>, ... n)
Aplikasi ke: SQL Server 2022 (16.x) dan versi yang lebih baru.
Mencadangkan grup database. Menggunakan cadangan rekam jepret. Membutuhkan WITH METADATA_ONLY. Lihat Buat cadangan rekam jepret Transact-SQL.
PELADEN
Aplikasi ke: SQL Server 2022 (16.x) dan versi yang lebih baru.
Cadangkan semua database pada instans SQL Server. Menggunakan cadangan rekam jepret. Membutuhkan WITH METADATA_ONLY. Lihat Buat cadangan rekam jepret Transact-SQL.
METADATA_ONLY
Aplikasi ke: SQL Server 2022 (16.x) dan versi yang lebih baru.
Diperlukan untuk pencadangan rekam jepret.
BACKUP SERVER, atau BACKUP GROUP... Lihat Buat cadangan rekam jepret Transact-SQL.
METADATA_ONLY identik dengan SNAPSHOT. Antarmuka perangkat virtual (VDI) menggunakan SNAPSHOT. Untuk informasi tentang VDI, lihat Referensi antarmuka perangkat virtual (VDI).
{ database_name | @database_name_var }
Database tempat log transaksi, database parsial, atau database lengkap dicadangkan. Jika disediakan sebagai variabel (@database_name_var), nama ini dapat ditentukan sebagai konstanta string (@database_name_var = nama database) atau sebagai variabel jenis data string karakter, kecuali untuk jenis data ntext atau teks .
Catatan
Database cermin dalam kemitraan pencerminan database tidak dapat dicadangkan.
< > file_or_filegroup [ , ... n ]
Digunakan hanya dengan BACKUP DATABASE, menentukan file database atau grup file untuk disertakan dalam cadangan file, atau menentukan file baca-saja atau grup file untuk disertakan dalam cadangan parsial.
BERKAS = { logical_file_name | @logical_file_name_var }
Nama logis file atau variabel yang nilainya sama dengan nama logis file yang akan disertakan dalam cadangan.
FILEGROUP = { logical_filegroup_name | @logical_filegroup_name_var }
Nama logis grup file atau variabel yang nilainya sama dengan nama logis grup file yang akan disertakan dalam cadangan. Di bawah model pemulihan sederhana, cadangan grup file hanya diizinkan untuk grup file baca-saja.
Catatan
Pertimbangkan untuk menggunakan cadangan file saat ukuran database dan persyaratan performa membuat cadangan database tidak praktis. Perangkat NUL dapat digunakan untuk menguji performa cadangan, tetapi tidak boleh digunakan di lingkungan produksi.
n
Tempat penampung yang menunjukkan bahwa beberapa file dan grup file dapat ditentukan dalam daftar yang dipisahkan koma. Jumlahnya tidak terbatas.
Untuk informasi selengkapnya, lihat Pencadangan FileFull (SQL Server) dan Cadangkan File dan Grup File.
READ_WRITE_FILEGROUPS [ , FILEGROUP = { logical_filegroup_name | @logical_filegroup_name_var } [ , ... n ] ]
Menentukan cadangan parsial. Cadangan parsial mencakup semua file baca/tulis dalam database: grup file utama dan grup file sekunder baca/tulis apa pun, dan juga file baca-saja atau grup file yang ditentukan.
READ_WRITE_FILEGROUPS
Menentukan bahwa semua grup file baca/tulis dicadangkan dalam cadangan parsial. Jika database bersifat baca-saja, READ_WRITE_FILEGROUPS hanya menyertakan grup file utama.
Penting
Secara eksplisit mencantumkan grup file baca/tulis dengan menggunakan FILEGROUP alih-alih READ_WRITE_FILEGROUPS membuat cadangan file.
FILEGROUP = { logical_filegroup_name | @logical_filegroup_name_var }
Nama logis grup file baca-saja atau variabel yang nilainya sama dengan nama logis grup file baca-saja yang akan disertakan dalam cadangan parsial. Untuk informasi selengkapnya, lihat "<file_or_filegroup>," sebelumnya di artikel ini.
n
Tempat penampung yang menunjukkan bahwa beberapa grup file baca-saja dapat ditentukan dalam daftar yang dipisahkan koma.
Untuk informasi selengkapnya tentang pencadangan parsial, lihat Partial Backups (SQL Server).
UNTUK <backup_device> [ , ... n ]
Menunjukkan bahwa set perangkat cadangan yang menyertainya adalah set media yang tidak disarankan atau yang pertama dari cermin dalam set media cermin (di mana satu atau beberapa MIRROR TO klausa dideklarasikan).
<backup_device>
Menentukan perangkat cadangan logis atau fisik yang akan digunakan untuk operasi pencadangan.
{ logical_device_name | @logical_device_name_var }
Aplikasi ke: SQL Server.
Nama logis perangkat cadangan tempat database dicadangkan. Nama logis harus mengikuti aturan untuk pengidentifikasi. Jika disediakan sebagai variabel (@logical_device_name_var), nama perangkat cadangan dapat ditentukan baik sebagai konstanta string (@logical_device_name_var = nama perangkat cadangan logis) atau sebagai variabel dari jenis data string karakter apa pun kecuali untuk jenis data ntext atau teks .
{ DISK | PITA | URL} = { 'physical_device_name' | @physical_device_name_var | 'NUL' }
Aplikasi ke: SQL Server.
Menentukan file disk atau perangkat pita, atau URL.
Format URL digunakan untuk membuat cadangan ke penyimpanan objek yang kompatibel dengan Microsoft Azure Blob Storage atau S3. Untuk informasi dan contoh selengkapnya, lihat:
- SQL Server pencadangan dan pemulihan dengan Azure Blob Storage dan Quickstart: Pencadangan dan pemulihan SQL ke Azure Blob Storage.
- Pencadangan dan pemulihan ke penyimpanan yang kompatibel dengan S3 diperkenalkan pada SQL Server 2022 (16.x). Tinjau Cadangkan dan pulihkan SQL Server dengan penyimpanan objek yang kompatibel dengan S3. Tinjau juga opsi untuk SQL Server mencadangkan ke URL untuk penyimpanan objek yang kompatibel dengan S3.
Anda dapat mencadangkan ke Microsoft Azure Blob Storage menggunakan identitas terkelola yang dimulai dengan:
- SQL Server 2025 (17.x): Cadangkan ke URL dengan identitas terkelola - SQL Server diaktifkan oleh Azure Arc
- SQL Server 2022 (16.x) CU 17 untuk SQL Server pada VM Azure: Cadangkan dan pulihkan ke URL menggunakan identitas terkelola
Catatan
Perangkat disk NUL membuang semua informasi yang dikirim ke dalamnya dan hanya boleh digunakan untuk pengujian. Ini bukan untuk penggunaan produksi.
Penting
Dimulai dengan SQL Server 2012 (11.x) SP1 CU2 hingga SQL Server 2014 (12.x), Anda hanya dapat mencadangkan ke satu perangkat saat mencadangkan ke URL untuk Azure Blob Storage. Untuk mencadangkan ke beberapa perangkat saat mencadangkan ke URL, Anda harus menggunakan SQL Server 2016 (13.x) dan yang lebih baru dan Anda harus menggunakan token Tanda Tangan Akses Bersama (SAS). Untuk contoh membuat Tanda Tangan Akses Bersama, lihat SQL Server pencadangan ke URL untuk Azure Blob Storage dan Simplifikasi pembuatan Kredensial SQL dengan token Tanda Tangan Akses Bersama (SAS) pada Azure Storage dengan PowerShell.
Perangkat disk tidak harus ada sebelum ditentukan dalam BACKUP pernyataan. Jika perangkat fisik ada dan INIT opsi tidak ditentukan dalam BACKUP pernyataan, cadangan ditambahkan ke perangkat.
Perangkat NUL membuang semua input yang dikirim ke file ini, namun cadangan masih menandai semua halaman sebagai dicadangkan.
Untuk informasi selengkapnya, lihat perangkat Backup (SQL Server).
Catatan
Opsi TAPE akan dihapus dalam versi SQL Server mendatang. Hindari menggunakan fitur ini dalam pekerjaan pengembangan baru, dan rencanakan untuk memodifikasi aplikasi yang saat ini menggunakan fitur ini.
n
Tempat penampung yang menunjukkan bahwa hingga 64 perangkat cadangan mungkin ditentukan dalam daftar yang dipisahkan koma.
CERMIN UNTUK <backup_device> [ , ... n ]
Menentukan satu set hingga tiga perangkat cadangan sekunder, yang masing-masing mencerminkan perangkat cadangan yang ditentukan dalam TO klausul. Klausa MIRROR TO harus menentukan jenis dan jumlah perangkat cadangan yang sama dengan TO klausa. Jumlah MIRROR TO maksimum klausa adalah tiga.
Opsi ini hanya tersedia di edisi Enterprise SQL Server.
Catatan
Untuk MIRROR TO = DISK, BACKUP secara otomatis menentukan ukuran blok yang sesuai untuk perangkat disk berdasarkan ukuran sektor disk. Jika disk diformat MIRROR TO dengan ukuran sektor yang berbeda dari disk yang ditentukan sebagai perangkat cadangan utama, perintah cadangan gagal. Untuk mencerminkan cadangan ke perangkat yang memiliki ukuran sektor yang berbeda, BLOCKSIZE parameter harus ditentukan, dan harus diatur ke ukuran sektor tertinggi di antara semua perangkat target. Untuk informasi selengkapnya tentang ukuran blok, lihat "BLOCKSIZE" nanti di artikel ini.
<backup_device>
Lihat "<backup_device>", sebelumnya di bagian ini.
n
Tempat penampung yang menunjukkan bahwa hingga 64 perangkat cadangan mungkin ditentukan dalam daftar yang dipisahkan koma. Jumlah perangkat dalam
MIRROR TOklausul harus sama dengan jumlah perangkat dalamTOklausa.Untuk informasi selengkapnya, lihat Keluarga media di kumpulan media cermin nanti di artikel ini.
[ next-mirror -to ]
Tempat penampung yang menunjukkan bahwa satu
BACKUPpernyataan dapat berisi hingga tigaMIRROR TOklausa, selain klausa tunggalTO.
Opsi WITH
Menentukan opsi yang akan digunakan dengan operasi pencadangan.
CREDENTIAL
Aplikasi ke: SQL Server.
Digunakan hanya saat membuat cadangan ke penyimpanan objek yang kompatibel Azure Blob Storage atau S3.
CUCUKAN FILE
Aplikasi ke: SQL Server 2016 (13.x) dan versi yang lebih baru.
Digunakan untuk membuat rekam jepret Azure file database saat semua file database SQL Server disimpan menggunakan Azure Blob Storage. Untuk informasi selengkapnya, lihat file data SQL Server di Microsoft Azure. SQL Server Snapshot Backup mengambil rekam jepret Azure file database (data dan file log) pada status konsisten. Sekumpulan rekam jepret Azure yang konsisten membentuk cadangan dan direkam dalam file cadangan. Satu-satunya perbedaan antara BACKUP DATABASE TO URL WITH FILE_SNAPSHOT dan BACKUP LOG TO URL WITH FILE_SNAPSHOT adalah bahwa yang terakhir juga memotong log transaksi sementara yang pertama tidak. Dengan SQL Server Snapshot Backup, setelah pencadangan penuh awal yang diperlukan oleh SQL Server untuk membuat rantai cadangan, hanya satu cadangan log transaksi yang diperlukan untuk memulihkan database ke titik waktu pencadangan log transaksi. Selain itu, hanya dua cadangan log transaksi yang diperlukan untuk memulihkan database ke titik waktu antara waktu dua pencadangan log transaksi.
DIFERENSIAL
Digunakan hanya dengan BACKUP DATABASE, menentukan bahwa database atau cadangan file hanya boleh terdiri dari bagian database atau file yang diubah sejak pencadangan penuh terakhir. Pencadangan diferensial biasanya membutuhkan lebih sedikit ruang daripada pencadangan penuh. Gunakan opsi ini sehingga semua pencadangan log individual yang dilakukan sejak pencadangan penuh terakhir tidak harus diterapkan.
Catatan
Secara default, BACKUP DATABASE membuat cadangan penuh.
Untuk informasi selengkapnya, lihat pencadangan Differential (SQL Server).
ENKRIPSI
Digunakan untuk menentukan enkripsi untuk cadangan. Anda dapat menentukan algoritma enkripsi untuk mengenkripsi cadangan dengan atau menentukan NO_ENCRYPTION agar cadangan tidak dienkripsi. Enkripsi disarankan untuk membantu mengamankan file cadangan. Daftar algoritma yang dapat Anda tentukan adalah:
AES_128AES_192AES_256TRIPLE_DES_3KEYNO_ENCRYPTION
Jika Anda memilih untuk mengenkripsi, Anda juga harus menentukan enkripsi menggunakan opsi enkripsi:
-
SERVER CERTIFICATE= Encryptor_Name -
SERVER ASYMMETRIC KEY= Encryptor_Name
SERVER CERTIFICATE dan SERVER ASYMMETRIC KEY adalah sertifikat dan kunci asimetris yang dibuat dalam master database. Untuk informasi selengkapnya, lihat CREATE CERTIFICATE dan CREATE ASYMMETRIC KEY masing-masing.
Peringatan
Ketika enkripsi digunakan dengan FILE_SNAPSHOT argumen , file metadata itu sendiri dienkripsi menggunakan algoritma enkripsi yang ditentukan dan sistem memverifikasi bahwa Enkripsi data transparan (TDE) selesai untuk database. Tidak ada enkripsi tambahan yang terjadi untuk data itu sendiri. Pencadangan gagal jika database tidak dienkripsi atau jika enkripsi tidak selesai sebelum pernyataan cadangan dikeluarkan.
Opsi set cadangan
Opsi ini beroperasi pada set cadangan yang dibuat oleh operasi pencadangan ini.
Catatan
Untuk menentukan kumpulan cadangan untuk operasi pemulihan, gunakan FILE = <backup_set_file_number> opsi . Untuk informasi selengkapnya tentang cara menentukan set cadangan, lihat "Menentukan Set Cadangan" di RESTORE Argumen.
SALIN_SAJA
Menentukan bahwa cadangan adalah cadangan khusus salinan, yang tidak memengaruhi urutan cadangan normal. Cadangan khusus salinan dibuat secara independen dari pencadangan konvensional yang dijadwalkan secara teratur. Pencadangan khusus salinan tidak memengaruhi prosedur pencadangan dan pemulihan anda secara keseluruhan untuk database.
Cadangan khusus salin harus digunakan dalam situasi di mana cadangan diambil untuk tujuan khusus, seperti mencadangkan log sebelum pemulihan file online. Biasanya, cadangan log hanya salin digunakan sekali lalu dihapus.
Saat digunakan dengan
BACKUP DATABASE,COPY_ONLYopsi membuat cadangan penuh yang tidak dapat berfungsi sebagai basis diferensial. Bitmap diferensial tidak diperbarui, dan cadangan diferensial berulah seolah-olah cadangan khusus salinan tidak ada. Pencadangan diferensial berikutnya menggunakan pencadangan penuh konvensional terbaru sebagai basisnya.Penting
Jika
DIFFERENTIALdanCOPY_ONLYdigunakan bersama-sama,COPY_ONLYdiabaikan, dan cadangan diferensial dibuat.Saat digunakan dengan
BACKUP LOG,COPY_ONLYopsi membuat cadangan log hanya salin, yang tidak memotong log transaksi. Pencadangan log hanya salin tidak berpengaruh pada rantai log, dan pencadangan log lainnya berulah seolah-olah cadangan hanya salin tidak ada.
Untuk informasi selengkapnya, lihat Pencadangan khusus salin.
[ KOMPRESI [ ( ALGORITMA = { MS_XPRESS | ZSTD | accelerator_algorithm } [ , LEVEL = { LOW | SEDANG | TINGGI } ] ) ] | NO_COMPRESSION ]
Menentukan apakah kompresi cadangan dilakukan pada cadangan ini, mengambil alih default tingkat server.
Saat penginstalan, perilaku default tidak ada kompresi cadangan. Tetapi default ini dapat diubah dengan mengatur opsi konfigurasi server default kompresi cadangan. Untuk informasi tentang melihat nilai opsi ini saat ini, lihat Tampilkan atau ubah properti server (SQL Server).
Untuk informasi tentang menggunakan kompresi cadangan dengan database yang diaktifkan enkripsi data transparan (TDE), lihat bagian Keterangan .
Algoritma kompresi ZSTD tersedia dimulai dengan SQL Server 2025 (17.x).
PEMADATAN
Secara eksplisit memungkinkan kompresi cadangan.
NO_COMPRESSION
Secara eksplisit menonaktifkan kompresi cadangan.
TINGKAT
Aplikasi ke: SQL Server 2022 (16.x) dan versi yang lebih baru.
Ini adalah parameter opsional yang menentukan tingkat kompresi. Mempengaruhi
ALGORITHM = MS_EXPRESS, dan, dimulai dengan SQL Server 2025 (17.x),ALGORITHM = ZSTD.Nilai yang dapat diterima adalah:
-
LOW(standar) MEDIUMHIGH
-
ALGORITMA
Aplikasi ke: SQL Server 2022 (16.x) dan versi yang lebih baru.
ZSTDdanMS_EXPRESSmerupakan algoritma tingkat perangkat lunak.QAT_DEFLATEadalah algoritma berbasis perangkat keras yang memerlukan IntelĀ® QuickAssist Technology (QAT) untuk SQL Server. Defaultnya adalahMS_XPRESS.Untuk menggunakan algoritma kompresi ZSTD yang diperkenalkan pada SQL Server 2025 (17.x):
BACKUP DATABASE <database_name> TO DISK WITH COMPRESSION (ALGORITHM = ZSTD, LEVEL = MEDIUM)Jika Anda telah mengonfigurasi Akselerasi dan offloading terintegrasi, Anda dapat menggunakan akselerator yang disediakan oleh solusi. Misalnya, jika Anda telah mengonfigurasi Konfigurasi akselerasi dan offloading terintegrasi, contoh berikut menyelesaikan pencadangan dengan solusi akselerator, dengan pustaka QATzip menggunakan
QZ_DEFLATEdengan tingkat kompresi 1.BACKUP DATABASE <database_name> TO DISK WITH COMPRESSION (ALGORITHM = QAT_DEFLATE)Perilaku sampel:
Pernyataan pencadangan Hasil BACKUP DATABASE *database_name* TO {DISK | TAPE | URL} WITH NO_COMPRESSIONPencadangan tanpa kompresi BACKUP DATABASE *database_name* TO {DISK | TAPE | URL} WITH COMPRESSIONPencadangan dengan kompresi menggunakan algoritma yang ditentukan oleh opsi backup compression algorithmserver (defaultMS_XPRESS)BACKUP DATABASE *database_name* TO {DISK | TAPE | URL} WITH COMPRESSION (ALGORITHM = MS_XPRESS)Pencadangan dengan kompresi menggunakan MS_XPRESSalgoritmaBACKUP DATABASE *database_name* TO {DISK | TAPE | URL} WITH COMPRESSION (ALGORITHM = ZSTD)Pencadangan dengan kompresi menggunakan algoritma ZSTD. BACKUP DATABASE *database_name* TO {DISK | TAPE | URL} WITH COMPRESSION (ALGORITHM = ZSTD, LEVEL = HIGH)Pencadangan dengan kompresi menggunakan algoritma ZSTD dengan tingkat HIGHkompresi .
DESKRIPSI = { 'teks' | @text_variable }
Menentukan teks bentuk bebas yang menjelaskan kumpulan cadangan. String dapat memiliki maksimal 255 karakter.
NAMA = { backup_set_name | @backup_set_var }
Menentukan nama kumpulan cadangan. Nama dapat memiliki maksimal 128 karakter. Jika NAME tidak ditentukan, kosong.
{ EXPIREDATE = 'date' | RETAINDAYS = hari }
Menentukan kapan kumpulan cadangan untuk cadangan ini dapat ditimpa. Jika kedua opsi ini digunakan, RETAINDAYS lebih diutamakan daripada EXPIREDATE.
Jika tidak ada opsi yang ditentukan, tanggal kedaluwarsa ditentukan oleh media retention pengaturan konfigurasi. Untuk informasi selengkapnya, lihat Opsi konfigurasi server.
Penting
Opsi ini hanya mencegah SQL Server menimpa file. Kaset dapat dihapus menggunakan metode lain, dan file disk dapat dihapus melalui sistem operasi. Untuk informasi selengkapnya tentang verifikasi kedaluwarsa, lihat SKIP dan FORMAT di artikel ini.
EXPIREDATE= { 'tanggal' | @date_var }Menentukan kapan set cadangan kedaluwarsa dan dapat ditimpa. Jika disediakan sebagai variabel (@date_var), tanggal ini harus mengikuti format tanggalwaktu sistem yang dikonfigurasi dan ditentukan sebagai salah satu dari berikut ini:
- Konstanta string (@date_var = tanggal)
- Variabel jenis data string karakter (kecuali untuk tipe data ntext atau teks )
- Waktu smalldatetime
- Variabel tanggalwaktu
Contohnya:
'Dec 31, 2020 11:59 PM''1/1/2021'
Untuk informasi tentang cara menentukan nilai tanggalwaktu , lihat Jenis tanggal dan waktu.
Catatan
Untuk mengabaikan tanggal kedaluwarsa, gunakan
SKIPopsi .RETAINDAYS= { hari | @days_var }Menentukan jumlah hari yang harus berlalu sebelum set media cadangan ini dapat ditimpa. Jika disediakan sebagai variabel (@days_var), variabel harus ditentukan sebagai bilangan bulat.
{ METADATA_ONLY | SNAPSHOT }
Aplikasi ke: SQL Server 2022 (16.x) dan versi yang lebih baru.
METADATA_ONLY dan SNAPSHOT adalah sinonim.
Opsi set media
Opsi ini beroperasi pada set media secara keseluruhan.
{ NOINIT | INIT }
Mengontrol apakah operasi pencadangan ditambahkan ke atau menimpa set cadangan yang ada pada media cadangan. Defaultnya adalah menambahkan ke kumpulan cadangan terbaru di media (NOINIT).
Catatan
Untuk informasi tentang interaksi antara { NOINIT | INIT } dan {NOSKIP | SKIP }, lihat Komentar nanti di artikel ini.
NOINIT
Menunjukkan bahwa set cadangan ditambahkan ke set media yang ditentukan, mempertahankan set cadangan yang ada. Jika kata sandi media didefinisikan untuk set media, kata sandi harus disediakan.
NOINITadalah default.Untuk informasi selengkapnya, lihat set Media, keluarga media, dan kumpulan cadangan (SQL Server).
INIT
Menentukan bahwa semua set cadangan harus ditimpa, tetapi mempertahankan header media. Jika
INITditentukan, kumpulan cadangan yang ada pada perangkat tersebut akan ditimpa, jika kondisi memungkinkan. Secara default,BACKUPmemeriksa kondisi berikut dan tidak menimpa media cadangan jika salah satu kondisi ada:- Kumpulan cadangan apa pun belum kedaluwarsa. Untuk informasi selengkapnya, lihat
EXPIREDATEopsi danRETAINDAYS. - Nama set cadangan yang
BACKUPdiberikan dalam pernyataan, jika disediakan, tidak cocok dengan nama pada media cadangan. Untuk informasi selengkapnya, lihatNAMEopsi , sebelumnya di bagian ini.
Untuk mengambil alih pemeriksaan ini, gunakan
SKIPopsi .Untuk informasi selengkapnya, lihat set Media, keluarga media, dan kumpulan cadangan (SQL Server).
- Kumpulan cadangan apa pun belum kedaluwarsa. Untuk informasi selengkapnya, lihat
{ NOSKIP | LEWATI }
Mengontrol apakah operasi pencadangan memeriksa tanggal kedaluwarsa dan waktu kumpulan cadangan pada media sebelum menimpanya.
Catatan
Untuk informasi tentang interaksi antara { NOINIT | INIT } dan {NOSKIP | SKIP }, lihat Komentar nanti di artikel ini.
NOSKIP
Menginstruksikan
BACKUPpernyataan untuk memeriksa tanggal kedaluwarsa semua set cadangan pada media sebelum memungkinkannya ditimpa. Ini adalah perilaku default.LEWAT
Menonaktifkan pemeriksaan kedaluwarsa set cadangan dan nama yang biasanya dilakukan oleh
BACKUPpernyataan untuk mencegah penimpaan set cadangan. Untuk informasi tentang interaksi antara {INIT|NOINIT} dan {NOSKIP|SKIP}, lihat Komentar nanti di artikel ini.Untuk melihat tanggal kedaluwarsa kumpulan cadangan, kueri
expiration_datekolom tabel riwayat kumpulan cadangan .
{ NOFORMAT | FORMAT }
Menentukan apakah header media harus ditulis pada volume yang digunakan untuk operasi pencadangan ini, menimpa header media dan set cadangan yang ada.
NOFORMAT
Menentukan bahwa operasi pencadangan mempertahankan header media dan kumpulan cadangan yang ada pada volume media yang digunakan untuk operasi pencadangan ini. Ini adalah perilaku default.
Format
Menentukan bahwa set media baru dibuat. FORMAT menyebabkan operasi pencadangan menulis header media baru pada semua volume media yang digunakan untuk operasi pencadangan. Konten volume yang ada menjadi tidak valid, karena header media dan set cadangan yang ada ditimpa.
Penting
Gunakan
FORMATdengan hati-hati. Memformat volume set media membuat seluruh set media tidak dapat digunakan. Misalnya, jika Anda menginisialisasi satu pita milik set media bergaris yang ada, seluruh set media dirender tidak berguna.Menentukan FORMAT menyiratkan
SKIP;SKIPtidak perlu dinyatakan secara eksplisit.
MEDIADESCRIPTION = { teks | @text_variable }
Menentukan deskripsi teks bentuk bebas, maksimum 255 karakter, dari set media.
NAMA MEDIA = { media_name | @media_name_variable }
Menentukan nama media untuk seluruh set media cadangan. Nama media tidak boleh lebih dari 128 karakter. Jika MEDIANAME ditentukan, nama media tersebut harus cocok dengan nama media yang ditentukan sebelumnya yang sudah ada pada volume cadangan. Jika tidak ditentukan, atau jika SKIP opsi ditentukan, tidak ada pemeriksaan verifikasi nama media.
UKURAN BLOK = { ukuran | blok@blocksize_variable }
Menentukan ukuran blok fisik, dalam byte. Ukuran yang didukung adalah 512, 1024, 2048, 4096, 8192, 16384, 32768, dan 65536 (64 KB) byte. Defaultnya adalah 65536 untuk perangkat pita dan 512 jika tidak. Biasanya, opsi ini tidak perlu karena BACKUP secara otomatis memilih ukuran blok yang sesuai dengan perangkat. Secara eksplisit menyatakan ukuran blok mengambil alih pilihan otomatis ukuran blok.
Jika Anda mengambil cadangan yang Anda rencanakan untuk disalin dan dipulihkan dari CD-ROM, tentukan BLOCKSIZE = 2048.
Catatan
Opsi ini biasanya hanya memengaruhi performa saat menulis ke perangkat pita.
Opsi transfer data
BUFFERCOUNT = { buffercount | @buffercount_variable }
Menentukan jumlah total buffer I/O yang akan digunakan untuk operasi pencadangan. Anda dapat menentukan bilangan bulat positif apa pun; namun, sejumlah besar buffer dapat menyebabkan kesalahan "kehabisan memori" karena ruang alamat virtual yang tidak memadai dalam proses Sqlservr.exe.
Total ruang yang digunakan oleh buffer ditentukan oleh: BUFFERCOUNT * MAXTRANSFERSIZE.
Peningkatan BUFFERCOUNT dapat secara signifikan mengurangi waktu pencadangan dengan biaya penggunaan memori yang lebih tinggi.
Catatan
Untuk informasi penting tentang menggunakan opsi ini BUFFERCOUNT , lihat opsi Transfer data BufferCount yang salah dapat menyebabkan blog kondisi OOM.
MAXTRANSFERSIZE = { maxtransfersize | @maxtransfersize_variable }
Menentukan unit transfer terbesar dalam byte yang akan digunakan antara SQL Server dan media cadangan. Nilai yang mungkin adalah kelipatan 65536 byte (64 KB) berkisar hingga 4.194.304 byte (4 MB). Dalam kasus pencadangan tertentu ke URL ke penyimpanan objek yang kompatibel dengan S3, MAXTRANSFERSIZE adalah 10 MB. Untuk informasi selengkapnya, lihat Keterangan.
Saat membuat cadangan dengan menggunakan SQL Writer Service, jika database telah mengonfigurasi FILESTREAM (SQL Server), atau termasuk grup file memory yang dioptimalkan, maka MAXTRANSFERSIZE pada saat pemulihan harus lebih besar dari atau sama dengan MAXTRANSFERSIZE yang digunakan saat cadangan dibuat.
| Perintah | SQL Server 2022 dan versi yang lebih baru |
|---|---|
| BACKUPURL KE - Azure | Default 1 MB, Maks 20 MB |
| BACKUP TO URL - S3 | Default 10 MB, Maks 20 MB |
| BACKUP KE DISK | Defaultnya adalah 1 MB, Maks 4 MB |
| BACKUP KE REKAMAN/VDI | Default 64 KB, Maks 4 MB |
Untuk database yang diaktifkan enkripsi data transparan (TDE) dengan satu file data, defaultnya MAXTRANSFERSIZE adalah 65536 (64 KB). Untuk database terenkripsi non-TDE, defaultnya MAXTRANSFERSIZE adalah 1048576 (1 MB) saat menggunakan cadangan ke DISK, dan 65536 (64 KB) saat menggunakan VDI atau TAPE. Untuk informasi selengkapnya tentang menggunakan kompresi cadangan dengan database terenkripsi TDE, lihat bagian Keterangan .
Opsi manajemen kesalahan
Opsi ini memungkinkan Anda menentukan apakah checksum cadangan diaktifkan untuk operasi pencadangan dan apakah operasi berhenti mengalami kesalahan.
{ NO_CHECKSUM | CHECKSUM }
Mengontrol apakah checksum cadangan diaktifkan.
NO_CHECKSUM
Secara eksplisit menonaktifkan pembuatan checksum cadangan (dan validasi checksum halaman). Ini adalah perilaku default.
Checksum
Menentukan bahwa operasi pencadangan memverifikasi setiap halaman untuk checksum dan halaman robek, jika diaktifkan dan tersedia, dan menghasilkan checksum untuk seluruh cadangan.
Menggunakan checksum cadangan dapat memengaruhi beban kerja dan throughput cadangan.
Untuk informasi selengkapnya, lihat Kesalahan Media Possible Selama Pencadangan dan Pemulihan (SQL Server).
{ STOP_ON_ERROR | CONTINUE_AFTER_ERROR }
Mengontrol apakah operasi pencadangan berhenti atau berlanjut setelah mengalami kesalahan checksum halaman.
STOP_ON_ERROR
Menginstruksikan
BACKUPuntuk gagal jika checksum halaman tidak memverifikasi. Ini adalah perilaku default.LANJUTKAN_SETELAH_KESALAHAN
Menginstruksikan
BACKUPuntuk melanjutkan meskipun mengalami kesalahan seperti checksum yang tidak valid atau halaman yang robek.
Jika Anda tidak dapat mencadangkan ekor log menggunakan NO_TRUNCATE opsi saat database rusak, Anda dapat mencoba pencadangan log log ekor dengan menentukan CONTINUE_AFTER_ERROR alih-alih NO_TRUNCATE.
Untuk informasi selengkapnya, lihat Kesalahan Media Possible Selama Pencadangan dan Pemulihan (SQL Server).
Opsi kompatibilitas
HIDUPKAN ULANG
Tidak berpengaruh. Opsi ini diterima oleh versi untuk kompatibilitas dengan SQL Server 2005 Analysis Services (SSAS).
Opsi pemantauan
STATS [ = persentase ]
Menampilkan pesan setiap kali persentase lain selesai, dan digunakan untuk mengukur kemajuan. Jika percentage dihilangkan, SQL Server menampilkan pesan setelah setiap 10 persen selesai.
Opsi STATS melaporkan persentase selesai pada ambang batas untuk melaporkan interval berikutnya. Ini pada sekitar persentase yang ditentukan; misalnya, dengan STATS = 10, jika jumlah yang diselesaikan adalah 40 persen, opsi mungkin menampilkan 43 persen. Untuk set cadangan besar, ini bukan masalah, karena persentase selesai bergerak sangat lambat antara panggilan I/O yang selesai.
Opsi pita
Opsi ini hanya digunakan untuk TAPE perangkat. Jika perangkat nontape sedang digunakan, opsi ini akan diabaikan.
{ MUNDUR | NOREWIND }
MUNDUR
Menentukan bahwa SQL Server melepaskan dan memutar balik pita.
REWINDadalah default.NOREWIND
Menentukan bahwa SQL Server tetap membuka pita setelah operasi pencadangan. Anda dapat menggunakan opsi ini untuk membantu meningkatkan performa saat melakukan beberapa operasi pencadangan ke pita.
NOREWINDmenyiratkanNOUNLOAD, dan opsi ini tidak kompatibel dalam satuBACKUPpernyataan.Catatan
Jika Anda menggunakan
NOREWIND, instans SQL Server mempertahankan kepemilikan drive pita hingga pernyataanBACKUPatauRESTOREyang berjalan dalam proses yang sama menggunakan opsiREWINDatauUNLOAD, atau instans server dimatikan. Menjaga pita tetap terbuka mencegah proses lain mengakses pita. Untuk informasi tentang cara menampilkan daftar pita terbuka dan menutup pita terbuka, lihat PerangkatBackup (SQL Server).
{ BONGKAR | KATA KUNCI }
Catatan
UNLOAD dan NOUNLOAD adalah pengaturan sesi yang bertahan selama masa pakai sesi atau hingga direset dengan menentukan alternatif.
MEMBONGKAR
Menentukan bahwa pita secara otomatis di-rewound dan dibongkar ketika cadangan selesai.
UNLOADadalah default saat sesi dimulai.NOUNLOAD
Menentukan bahwa setelah
BACKUPoperasi, pita tetap dimuat pada drive pita.
Catatan
Untuk cadangan ke perangkat cadangan pita, BLOCKSIZE opsi untuk memengaruhi performa operasi pencadangan. Opsi ini biasanya hanya memengaruhi performa saat menulis ke perangkat pita.
Opsi khusus log
Opsi ini hanya digunakan dengan BACKUP LOG.
Catatan
Jika Anda tidak ingin mengambil cadangan log, gunakan model pemulihan sederhana. Untuk informasi selengkapnya, lihat model Recovery (SQL Server).
{ NOPEMULIHAN | SIAGA = undo_file_name }
NORECOVERY
Mencadangkan ekor log dan meninggalkan database dalam status PEMULIHAN.
NORECOVERYberguna saat melakukan failover ke database sekunder atau saat menyimpan ekor log sebelumRESTOREoperasi.Untuk melakukan pencadangan log upaya terbaik yang melewati pemotongan log lalu mengambil database ke status PEMULIHAN secara atomik, gunakan
NO_TRUNCATEopsi danNORECOVERYbersama-sama.SIAGA = standby_file_name
Mencadangkan ekor log dan meninggalkan database dalam status baca-saja dan
STANDBY. KlausaSTANDBYmenulis data siaga (melakukan pembatalan, tetapi dengan opsi pemulihan lebih lanjut).STANDBYMenggunakan opsi ini setara denganBACKUP LOG WITH NORECOVERYdiikuti olehRESTORE WITH STANDBY.Menggunakan mode siaga memerlukan file siaga, yang ditentukan oleh standby_file_name, yang lokasinya disimpan dalam log database. Jika file yang ditentukan sudah ada, Database Engine menimpanya; jika file tidak ada, Database Engine membuatnya. File siaga menjadi bagian dari database.
File ini menyimpan perubahan yang digulung balik, yang harus dibalik jika
RESTORE LOGoperasi selanjutnya diterapkan. Harus ada cukup ruang disk agar file siaga tumbuh sehingga dapat berisi semua halaman berbeda dari database yang dimodifikasi dengan mengembalikan transaksi yang tidak dilakukan.
NO_TRUNCATE
Menentukan bahwa log transaksi tidak boleh dipotong dan menyebabkan Database Engine mencoba pencadangan terlepas dari status database. Dengan demikian, cadangan yang diambil dengan NO_TRUNCATE mungkin memiliki metadata yang tidak lengkap. Opsi ini memungkinkan pencadangan log transaksi dalam situasi di mana database rusak.
Opsi NO_TRUNCATE setara BACKUP LOG dengan menentukan dan COPY_ONLYCONTINUE_AFTER_ERROR.
NO_TRUNCATE Tanpa opsi , database harus dalam status ONLINE . Jika database dalam status SUSPENDED, Anda mungkin dapat membuat cadangan dengan menentukan NO_TRUNCATE. Tetapi jika database berada dalam status OFFLINE atau EMERGENCY , BACKUP tidak diizinkan bahkan dengan NO_TRUNCATE. Untuk informasi tentang status database, lihat Status database.
Tentang bekerja dengan cadangan SQL Server
Bagian ini memperkenalkan konsep pencadangan penting berikut:
JenisBackupPotongan Log TransaksiMedia Cadangan FormatBerkerja dengan Perangkat Cadangan dan Set MediaMenyimpan cadangan SQL Server
Catatan
Untuk pengenalan pencadangan di SQL Server, lihat gambaran umum Backup (SQL Server).
Jenis Cadangan
Jenis cadangan yang didukung bergantung pada model pemulihan database, sebagai berikut
Semua model pemulihan mendukung pencadangan data penuh dan diferensial.
Cakupan pencadangan Jenis Cadangan Seluruh database Pencadangan database mencakup seluruh database.
Secara opsional, setiap cadangan database dapat berfungsi sebagai basis dari serangkaian satu atau beberapa cadangan database diferensial.Database parsial Cadangan parsial mencakup grup file baca/-tulis dan, mungkin, satu atau beberapa file baca-saja atau grup file.
Secara opsional, setiap cadangan parsial dapat berfungsi sebagai basis dari serangkaian satu atau beberapa cadangan parsial diferensial.File atau grup file Cadangan file mencakup satu atau beberapa file atau grup file, dan hanya relevan untuk database yang berisi beberapa grup file. Di bawah model pemulihan sederhana, cadangan file pada dasarnya dibatasi untuk grup file sekunder baca-saja.
Secara opsional, setiap cadangan file dapat berfungsi sebagai basis dari serangkaian satu atau beberapa cadangan file diferensial.Di bawah model pemulihan penuh atau model pemulihan yang dicatat secara massal, cadangan konvensional juga menyertakan cadangan log transaksi berurutan (atau cadangan log), yang diperlukan. Setiap cadangan log mencakup bagian dari log transaksi yang aktif ketika cadangan dibuat, dan mencakup semua catatan log yang tidak dicadangkan dalam cadangan log sebelumnya.
Untuk meminimalkan paparan kehilangan kerja, dengan biaya overhead administratif, Anda harus menjadwalkan pencadangan log yang sering. Menjadwalkan pencadangan diferensial antara pencadangan penuh dapat mengurangi waktu pemulihan dengan mengurangi jumlah cadangan log yang harus Anda pulihkan setelah memulihkan data.
Kami menyarankan agar Anda menempatkan cadangan log pada volume terpisah daripada cadangan database.
Catatan
Sebelum dapat membuat cadangan log pertama, Anda harus membuat cadangan penuh.
Cadangan khusus salinan adalah cadangan penuh tujuan khusus atau cadangan log yang independen dari urutan normal cadangan konvensional. Untuk membuat cadangan khusus salinan, tentukan
COPY_ONLYopsi dalam pernyataan AndaBACKUP. Untuk informasi selengkapnya, lihat Pencadangan khusus salin.
Pemotongan log transaksi
Untuk menghindari mengisi log transaksi database, pencadangan rutin sangat penting. Di bawah model pemulihan sederhana, pemotongan log terjadi secara otomatis setelah Anda mencadangkan database, dan di bawah model pemulihan penuh, setelah Anda mencadangkan log transaksi. Namun, terkadang proses pemotongan dapat tertunda. Untuk informasi tentang faktor-faktor yang dapat menunda pemotongan log, lihat Log transaksi.
Catatan
Opsi BACKUP LOG WITH NO_LOG dan WITH TRUNCATE_ONLY telah dihentikan. Jika Anda menggunakan pemulihan model pemulihan penuh atau dicatat massal dan Anda harus menghapus rantai cadangan log dari database, beralihlah ke model pemulihan sederhana. Untuk informasi selengkapnya, lihat Tampilkan atau ubah model pemulihan database (SQL Server).
Memformat media cadangan
Media cadangan diformat oleh BACKUP pernyataan jika dan hanya jika salah satu hal berikut ini benar:
- Opsi
FORMATditentukan. - Media kosong.
- Operasi ini menulis pita kelanjutan.
Bekerja dengan perangkat cadangan dan set media
Mencadangkan perangkat dalam set media bergaris (set stripe)
Set stripe adalah sekumpulan file disk tempat data dibagi menjadi blok dan didistribusikan dalam urutan tetap. Jumlah perangkat cadangan yang digunakan dalam set stripe harus tetap sama (kecuali media diinisialisasi ulang dengan FORMAT).
Contoh berikut menulis cadangan AdventureWorks2025 database ke kumpulan media bergaris baru yang menggunakan tiga file disk.
BACKUP DATABASE AdventureWorks2022
TO DISK = 'X:\SQLServerBackups\AdventureWorks1.bak',
DISK = 'Y:\SQLServerBackups\AdventureWorks2.bak',
DISK = 'Z:\SQLServerBackups\AdventureWorks3.bak'
WITH FORMAT,
MEDIANAME = 'AdventureWorksStripedSet0',
MEDIADESCRIPTION = 'Striped media set for AdventureWorks2022 database';
GO
Setelah perangkat cadangan didefinisikan sebagai bagian dari set stripe, perangkat tersebut tidak dapat digunakan untuk cadangan perangkat tunggal kecuali FORMAT ditentukan. Demikian pula, perangkat cadangan yang berisi cadangan yang tidak terputus tidak dapat digunakan dalam set garis kecuali FORMAT ditentukan. Untuk memisahkan set cadangan bergaris, gunakan FORMAT.
Jika keduanya MEDIANAME atau MEDIADESCRIPTION tidak ditentukan saat header media ditulis, bidang header media yang sesuai dengan item kosong kosong.
Bekerja dengan set media cermin
Biasanya, cadangan tidak disortir, dan BACKUP pernyataan hanya menyertakan TO klausul. Namun, total empat cermin dimungkinkan per set media. Untuk set media cermin, operasi pencadangan menulis ke beberapa grup perangkat cadangan. Setiap grup perangkat cadangan terdiri dari satu cermin dalam set media yang dicerminkan. Setiap cermin harus menggunakan jumlah dan jenis perangkat cadangan fisik yang sama, yang semuanya harus memiliki properti yang sama.
Untuk mencadangkan ke set media cermin, semua cermin harus ada. Untuk mencadangkan ke set media cermin, tentukan TO klausa untuk menentukan cermin pertama, dan tentukan MIRROR TO klausa untuk setiap cermin tambahan.
Untuk set media cermin, setiap MIRROR TO klausul harus mencantumkan jumlah dan jenis perangkat yang sama dengan TO klausa. Contoh berikut menulis ke set media cermin yang berisi dua cermin dan menggunakan tiga perangkat per cermin:
BACKUP DATABASE AdventureWorks2022
TO DISK = 'X:\SQLServerBackups\AdventureWorks1a.bak',
DISK = 'Y:\SQLServerBackups\AdventureWorks2a.bak',
DISK = 'Z:\SQLServerBackups\AdventureWorks3a.bak'
MIRROR TO DISK = 'X:\SQLServerBackups\AdventureWorks1b.bak',
DISK = 'Y:\SQLServerBackups\AdventureWorks2b.bak',
DISK = 'Z:\SQLServerBackups\AdventureWorks3b.bak';
GO
Penting
Contoh ini dirancang untuk memungkinkan Anda mengujinya pada sistem lokal Anda. Dalam praktiknya, mencadangkan ke beberapa perangkat pada drive yang sama akan merusak performa dan akan menghilangkan redundansi yang set media cerminnya dirancang.
Keluarga media dalam set media cermin
Setiap perangkat cadangan yang ditentukan dalam TO klausul BACKUP pernyataan sesuai dengan keluarga media. Misalnya, jika klausul mencantumkan TO tiga perangkat, BACKUP menulis data ke tiga keluarga media. Dalam set media cermin, setiap cermin harus berisi salinan setiap keluarga media. Inilah sebabnya mengapa jumlah perangkat harus identik di setiap cermin.
Ketika beberapa perangkat dicantumkan untuk setiap cermin, urutan perangkat menentukan keluarga media mana yang ditulis ke perangkat tertentu. Misalnya, di setiap daftar perangkat, perangkat kedua sesuai dengan keluarga media kedua. Untuk perangkat dalam contoh sebelumnya, korespondensi antara perangkat dan keluarga media ditampilkan dalam tabel berikut.
| Cermin | Keluarga media 1 | Keluarga media 2 | Keluarga media 3 |
|---|---|---|---|
| 0 | Z:\AdventureWorks1a.bak |
Z:\AdventureWorks2a.bak |
Z:\AdventureWorks3a.bak |
| 1 | Z:\AdventureWorks1b.bak |
Z:\AdventureWorks2b.bak |
Z:\AdventureWorks3b.bak |
Keluarga media harus selalu dicadangkan ke perangkat yang sama dalam cermin tertentu. Oleh karena itu, setiap kali Anda menggunakan set media yang ada, cantumkan perangkat setiap cermin dalam urutan yang sama seperti yang ditentukan ketika set media dibuat.
Untuk informasi selengkapnya tentang set media yang dicerminkan, lihat Set Media Cadangan Yang Dialihkan (SQL Server). Untuk informasi selengkapnya tentang kumpulan media dan keluarga media secara umum, lihat set Media, keluarga media, dan kumpulan cadangan (SQL Server).
Memulihkan cadangan SQL Server
Untuk memulihkan database dan, secara opsional, memulihkannya untuk membawanya ke online, atau untuk memulihkan file atau grup file, gunakan pernyataan Transact-SQL RESTORE atau tugas Pemulihan SQL Server Management Studio. Untuk informasi selengkapnya, lihat gambaran umum Restore dan pemulihan (SQL Server).
Pertimbangan tambahan tentang BACKUP opsi
Interaksi SKIP, NOSKIP, INIT, dan NOINIT
Tabel ini menjelaskan interaksi antara opsi { NOINIT | INIT } dan { NOSKIP | SKIP } .
Catatan
Jika media pita kosong atau file cadangan disk tidak ada, semua interaksi ini menulis header media dan melanjutkan. Jika media tidak kosong dan tidak memiliki header media yang valid, operasi ini memberikan umpan balik yang menyatakan bahwa ini bukan media MTF yang valid, dan mereka menghentikan operasi pencadangan.
| Opsi Lewati | NOINIT |
INIT |
|---|---|---|
NOSKIP |
Jika volume berisi header media yang valid, verifikasi bahwa nama media cocok dengan yang diberikan MEDIANAME, jika ada. Jika cocok, tambahkan kumpulan cadangan, mempertahankan semua set cadangan yang ada.Jika volume tidak berisi header media yang valid, kesalahan terjadi. |
Jika volume berisi header media yang valid, lakukan pemeriksaan berikut:
Jika pemeriksaan ini lolos, timpa set cadangan apa pun di media, hanya mempertahankan header media. Jika volume tidak berisi header media yang valid, buat dengan menggunakan yang ditentukan MEDIANAME dan MEDIADESCRIPTION, jika ada. |
SKIP |
Jika volume berisi header media yang valid, tambahkan kumpulan cadangan, pertahankan semua set cadangan yang ada. | Jika volume berisi 2 header media yang valid, timpa set cadangan apa pun di media, hanya mempertahankan header media. Jika media kosong, menghasilkan header media menggunakan yang ditentukan MEDIANAME dan MEDIADESCRIPTION, jika ada. |
1 Pengguna harus termasuk dalam peran database tetap atau server yang sesuai untuk melakukan operasi pencadangan.
2 Validitas mencakup nomor versi MTF dan informasi header lainnya. Jika versi yang ditentukan tidak didukung atau nilai yang tidak terduga, kesalahan terjadi.
Kompatibilitas
Perhatian
Cadangan yang dibuat oleh versi SQL Server yang lebih baru tidak dapat dipulihkan di versi SQL Server sebelumnya.
BACKUP mendukung opsi RESTART untuk memberikan kompatibilitas mundur dengan versi SQL Server sebelumnya. Tapi RESTART tidak berpengaruh.
Keterangan
Pencadangan database atau log dapat ditambahkan ke disk atau perangkat pita apa pun, memungkinkan database dan log transaksinya disimpan dalam satu lokasi fisik.
Pernyataan BACKUP tidak diizinkan dalam transaksi eksplisit atau implisit.
Anda tidak bisa mencadangkan database dalam status berikut:
- Memulihkan
- Siaga
- Baca saja
Operasi pencadangan lintas platform, bahkan di antara jenis prosesor yang berbeda, dapat dilakukan selama kolase database didukung oleh sistem operasi.
Dimulai dengan SQL Server 2016 (13.x), pengaturan MAXTRANSFERSIZElarger dari 65536 (64 KB) memungkinkan algoritma kompresi yang dioptimalkan untuk enkripsi data Transparent (TDE) database terenkripsi yang pertama kali mendekripsi halaman, mengompresinya, dan kemudian mengenkripsinya lagi. Jika MAXTRANSFERSIZE tidak ditentukan, atau jika MAXTRANSFERSIZE = 65536 (64 KB) digunakan, kompresi cadangan dengan database terenkripsi TDE langsung memadatkan halaman terenkripsi, dan mungkin tidak menghasilkan rasio kompresi yang baik. Untuk informasi selengkapnya, lihat Kompresi Cadangan untuk Database yang didukung TDE.
Dimulai dengan CU5 SQL Server 2019 (15.x), pengaturan MAXTRANSFERSIZE tidak lagi diperlukan untuk mengaktifkan algoritma kompresi yang dioptimalkan ini dengan TDE. Jika perintah cadangan ditentukan WITH COMPRESSION atau konfigurasi server default kompresi cadangan diatur ke 1, MAXTRANSFERSIZE secara otomatis ditingkatkan menjadi 128 K untuk mengaktifkan algoritma yang dioptimalkan. Jika MAXTRANSFERSIZE ditentukan pada perintah cadangan dengan nilai > 64 K, nilai yang disediakan akan dihormati. Dengan kata lain, SQL Server tidak pernah secara otomatis mengurangi nilai, hanya meningkatkannya. Jika Anda perlu mencadangkan database terenkripsi TDE dengan MAXTRANSFERSIZE = 65536, Anda harus menentukan WITH NO_COMPRESSION atau memastikan bahwa konfigurasi server default kompresi cadangan diatur ke 0.
Catatan
Ada beberapa kasus di mana default MAXTRANSFERSIZE lebih besar dari 64K:
- Ketika database memiliki beberapa file data yang dibuat, database menggunakan
MAXTRANSFERSIZE> 64K. - Saat melakukan pencadangan ke URL ke Azure Blob Storage, default
MAXTRANSFERSIZE = 1048576(1 MB). - Saat melakukan pencadangan ke URL ke penyimpanan objek yang kompatibel dengan S3, default
MAXTRANSFERSIZE = 10485760(10 MB).
Bahkan jika salah satu kondisi ini berlaku, Anda harus secara eksplisit mengatur MAXTRANSFERSIZE lebih besar dari 64K dalam perintah cadangan Anda untuk mendapatkan algoritma kompresi cadangan yang dioptimalkan, kecuali Anda menggunakan CU5 SQL Server 2019 (15.x) atau yang lebih baru.
Secara default, setiap operasi pencadangan yang berhasil menambahkan entri di log kesalahan SQL Server dan di log peristiwa sistem. Jika Anda mencadangkan log dengan sangat sering, pesan keberhasilan ini terakumulasi dengan cepat, yang mengakibatkan log kesalahan besar yang dapat menyulitkan menemukan pesan lain. Dalam kasus seperti itu Anda dapat menekan entri log ini dengan menggunakan bendera pelacakan 3226, jika tidak ada otomatisasi atau pemantauan Anda tergantung pada entri tersebut. Untuk informasi selengkapnya, lihat Mengatur bendera pelacakan dengan DBCC TRACEON.
Interoperabilitas
SQL Server menggunakan proses pencadangan online untuk memungkinkan pencadangan database saat database masih digunakan. Selama pencadangan, sebagian besar operasi dimungkinkan; misalnya, INSERT, , UPDATEatau DELETE pernyataan diizinkan selama operasi pencadangan.
Operasi yang tidak dapat berjalan selama database atau pencadangan log transaksi meliputi:
Operasi manajemen file seperti
ALTER DATABASEpernyataan denganADD FILEopsi atauREMOVE FILE.Menyusutkan database atau menyusutkan operasi file. Ini termasuk operasi penyusutan otomatis.
Jika operasi pencadangan tumpang tindih dengan manajemen atau DBCC SHRINK operasi file, konflik muncul. Terlepas dari operasi mana yang bertentangan dimulai terlebih dahulu, operasi kedua menunggu kunci yang ditetapkan oleh operasi pertama ke waktu habis (periode waktu habis dikendalikan oleh pengaturan batas waktu sesi). Jika kunci dilepaskan selama periode batas waktu, operasi kedua akan berlanjut. Jika waktu kunci habis, operasi kedua gagal.
Metainformasi
SQL Server menyertakan tabel riwayat cadangan berikut yang melacak aktivitas pencadangan:
Saat pemulihan dilakukan, jika kumpulan cadangan belum direkam dalam msdb database, tabel riwayat cadangan mungkin dimodifikasi.
Keamanan
Dimulai dengan opsi SQL Server 2012 (11.x), opsi PASSWORD dan MEDIAPASSWORD dihentikan untuk membuat cadangan. Masih dimungkinkan untuk memulihkan cadangan yang dibuat dengan kata sandi.
Izin
BACKUP DATABASE dan BACKUP LOG izin secara default diberikan kepada anggota peran tetap server sysadmin dan peran tetap database db_owner dan db_backupoperator.
Masalah kepemilikan dan izin pada file fisik perangkat cadangan dapat mengganggu operasi pencadangan. Pastikan akun startup SQL Server harus memiliki izin baca dan tulis ke perangkat cadangan dan folder tempat file cadangan ditulis. Namun, sp_addumpdevice, yang menambahkan entri untuk perangkat cadangan dalam tabel sistem, tidak memeriksa izin akses file. Masalah tersebut pada file fisik perangkat cadangan mungkin tidak muncul sampai sumber daya fisik diakses saat pencadangan atau pemulihan dicoba.
Contoh
Bagian ini berisi contoh-contoh berikut:
- J. Mencadangkan database lengkap
- B. Mencadangkan database dan log
- C. Membuat cadangan file lengkap dari grup file sekunder
- D. Membuat cadangan file diferensial dari grup file sekunder
- E. Membuat dan mencadangkan ke set media cermin satu keluarga
- F. Membuat dan mencadangkan ke set media cermin multifaktor
- G. Mencadangkan ke set media cermin yang ada
- H. Membuat cadangan terkompresi dalam set media baru
- Saya. Cadangkan hingga Azure Blob Storage
- j. Mencadangkan ke penyimpanan objek yang kompatibel dengan S3
- K. Melacak kemajuan pernyataan cadangan
Catatan
Artikel panduan pencadangan berisi contoh tambahan. Untuk informasi selengkapnya, lihat gambaran umum Backup (SQL Server).
J. Mencadangkan database lengkap
Contoh berikut mencadangkan AdventureWorks2025 database ke file disk.
BACKUP DATABASE AdventureWorks2022
TO DISK = 'Z:\SQLServerBackups\AdvWorksData.bak'
WITH FORMAT;
GO
B. Mencadangkan database dan log
Contoh berikut mencadangkan AdventureWorks2025 database sampel, yang menggunakan model pemulihan sederhana secara default. Untuk mendukung pencadangan log, AdventureWorks2025 database dimodifikasi untuk menggunakan model pemulihan penuh.
Selanjutnya, contoh menggunakan sp_addumpdevice untuk membuat perangkat cadangan logis untuk mencadangkan data, AdvWorksData, dan membuat perangkat cadangan logis lain untuk mencadangkan log, AdvWorksLog.
Contoh kemudian membuat cadangan database lengkap ke AdvWorksData, dan setelah periode aktivitas pembaruan, mencadangkan log ke AdvWorksLog.
-- To permit log backups, before the full database backup, modify the database
-- to use the full recovery model.
USE master;
GO
ALTER DATABASE AdventureWorks2022 SET RECOVERY FULL;
GO
-- Create AdvWorksData and AdvWorksLog logical backup devices.
USE master;
GO
EXECUTE sp_addumpdevice 'disk', 'AdvWorksData', 'Z:\SQLServerBackups\AdvWorksData.bak';
GO
EXECUTE sp_addumpdevice 'disk', 'AdvWorksLog', 'X:\SQLServerBackups\AdvWorksLog.bak';
GO
-- Back up the full AdventureWorks2022 database.
BACKUP DATABASE AdventureWorks2022 TO AdvWorksData;
GO
-- Back up the AdventureWorks2022 log.
BACKUP LOG AdventureWorks2022 TO AdvWorksLog;
GO
Catatan
Untuk database produksi, cadangkan log secara teratur. Pencadangan log harus cukup sering untuk memberikan perlindungan yang memadai terhadap kehilangan data.
C. Membuat cadangan file lengkap dari grup file sekunder
Contoh berikut membuat cadangan file lengkap dari setiap file di kedua grup file sekunder.
--Back up the files in SalesGroup1:
BACKUP DATABASE Sales
FILEGROUP = 'SalesGroup1', FILEGROUP = 'SalesGroup2'
TO DISK = 'Z:\SQLServerBackups\SalesFiles.bck';
GO
D. Membuat cadangan file diferensial dari grup file sekunder
Contoh berikut membuat cadangan file diferensial dari setiap file di kedua grup file sekunder.
--Back up the files in SalesGroup1:
BACKUP DATABASE Sales
FILEGROUP = 'SalesGroup1', FILEGROUP = 'SalesGroup2'
TO DISK = 'Z:\SQLServerBackups\SalesFiles.bck'
WITH DIFFERENTIAL;
GO
E. Membuat dan mencadangkan ke set media cermin satu keluarga
Contoh berikut membuat kumpulan media cermin yang berisi satu keluarga media dan empat cermin dan mencadangkan AdventureWorks2025 database ke dalamnya.
BACKUP DATABASE AdventureWorks2022
TO TAPE = '\\.\tape0'
MIRROR TO TAPE = '\\.\tape1'
MIRROR TO TAPE = '\\.\tape2'
MIRROR TO TAPE = '\\.\tape3'
WITH FORMAT, MEDIANAME = 'AdventureWorksSet0';
F. Membuat dan mencadangkan ke set media cermin multifaktor
Contoh berikut membuat set media cermin di mana setiap cermin terdiri dari dua keluarga media. Contoh kemudian mencadangkan AdventureWorks2025 database ke kedua cermin.
BACKUP DATABASE AdventureWorks2022
TO TAPE = '\\.\tape0', TAPE = '\\.\tape1'
MIRROR TO TAPE = '\\.\tape2', TAPE = '\\.\tape3'
WITH FORMAT, MEDIANAME = 'AdventureWorksSet1';
G. Mencadangkan ke set media cermin yang ada
Contoh berikut menambahkan cadangan yang diatur ke set media yang dibuat dalam contoh sebelumnya.
BACKUP LOG AdventureWorks2022
TO TAPE = '\\.\tape0', TAPE = '\\.\tape1'
MIRROR TO TAPE = '\\.\tape2', TAPE = '\\.\tape3'
WITH NOINIT, MEDIANAME = 'AdventureWorksSet1';
Catatan
NOINIT, yang merupakan default, ditampilkan di sini untuk kejelasan.
H. Membuat cadangan terkompresi dalam set media baru
Contoh berikut memformat media, membuat set media baru, dan melakukan pencadangan AdventureWorks2025 penuh database yang dikompresi.
BACKUP DATABASE AdventureWorks2022
TO DISK = 'Z:\SQLServerBackups\AdvWorksData.bak'
WITH FORMAT, COMPRESSION;
Saya. Mencadangkan ke Microsoft Azure Blob Storage
Contoh ini melakukan pencadangan database lengkap Sales ke Azure Blob Storage. Nama Akun penyimpanan adalah mystorageaccount. Kontainer disebut myfirstcontainer. Kebijakan akses tersimpan telah dibuat dengan hak baca, tulis, hapus, dan daftar. Kredensial SQL Server, https://mystorageaccount.blob.core.windows.net/myfirstcontainer, dibuat menggunakan Tanda Tangan Akses Bersama yang terkait dengan Kebijakan Akses Tersimpan. Untuk informasi tentang pencadangan SQL Server ke Azure Blob Storage, lihat SQL Server pencadangan dan pemulihan dengan Azure Blob Storage dan SQL Server cadangan ke URL untuk Azure Blob Storage.
BACKUP DATABASE Sales
TO URL = 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/Sales.bak'
WITH STATS = 5;
Anda juga dapat mencadangkan database Anda menjadi beberapa garis, dan akan terlihat seperti ini:
BACKUP DATABASE Sales
TO URL = 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/Sales-01.bak',
URL = 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/Sales-02.bak',
URL = 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/Sales-03.bak',
URL = 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/Sales-04.bak'
WITH COPY_ONLY;
j. Mencadangkan ke penyimpanan objek yang kompatibel dengan S3
Aplikasi ke: SQL Server 2022 (16.x) dan versi yang lebih baru.
Contoh ini melakukan database Sales cadangan lengkap database ke platform penyimpanan objek yang kompatibel dengan S3. Nama kredensial tidak diperlukan dalam pernyataan atau untuk mencocokkan jalur URL yang tepat, tetapi melakukan pencarian untuk kredensial yang tepat pada URL yang disediakan. Untuk informasi selengkapnya, lihat Cadangkan dan pulihkan SQL Server dengan penyimpanan objek yang kompatibel dengan S3.
BACKUP DATABASE Sales
TO URL = 's3://10.10.10.10:8787/sqls3backups/sales_01.bak',
URL = 's3://10.10.10.10:8787/sqls3backups/sales_02.bak',
URL = 's3://10.10.10.10:8787/sqls3backups/sales_03.bak'
WITH FORMAT, STATS = 10, COMPRESSION;
K. Melacak kemajuan pernyataan cadangan
Kueri berikut mengembalikan informasi tentang pernyataan cadangan yang sedang berjalan:
SELECT a.text AS query,
start_time,
percent_complete,
dateadd(second, estimated_completion_time / 1000, getdate()) AS eta
FROM sys.dm_exec_requests AS r
CROSS APPLY sys.dm_exec_sql_text(r.sql_handle) AS a
WHERE r.command LIKE 'BACKUP%';
Konten terkait
- Perangkat Cadangan (SQL Server)
- Set media, keluarga media, dan set cadangan (SQL Server)
- Pencadangan log akhir (SQL Server)
- ALTER DATABASE (Transact-SQL)
- DBCC SQLPERF (Transact-SQL)
- RESTORE Pernyataan (Transact-SQL)
- RESTORE Pernyataan - FILELISTONLY (Transact-SQL)
- RESTORE pernyataan - HEADERONLY (Transact-SQL)
- RESTORE Pernyataan - LABELONLY (Transact-SQL)
- RESTORE Pernyataan - VERIFYONLY (Transact-SQL)
- sys.sp_addumpdevice (Transact-SQL)
- sys.sp_configure (Transact-SQL)
- sys.sp_helpfile (Transact-SQL)
- sys.sp_helpfilegroup (Transact-SQL)
- Opsi konfigurasi server
- Pemulihan Sepotong Database Dengan Tabel yang Dioptimalkan Memori
* Instans Terkelola SQL *
Azure SQL Managed Instance
Mencadangkan database SQL di Azure SQL Managed Instance.
Azure SQL Managed Instance memiliki cadangan otomatis. Anda dapat membuat cadangan database COPY_ONLY lengkap. Cadangan diferensial, log, dan rekam jepret file tidak didukung.
Juga berlaku untuk SQL Managed Instance diaktifkan oleh Azure Arc.
Sintaks
BACKUP DATABASE { database_name | @database_name_var }
TO URL = { 'physical_device_name' | @physical_device_name_var } [ , ...n ]
WITH COPY_ONLY [ , { <general_WITH_options> } ]
[ ; ]
<general_WITH_options> [ , ...n ] ::=
--Media set options
MEDIADESCRIPTION = { 'text' | @text_variable }
| MEDIANAME = { media_name | @media_name_variable }
| BLOCKSIZE = { blocksize | @blocksize_variable }
--Data Transfer Options
BUFFERCOUNT = { buffercount | @buffercount_variable }
| MAXTRANSFERSIZE = { maxtransfersize | @maxtransfersize_variable }
--Error Management Options
{ NO_CHECKSUM | CHECKSUM }
| { STOP_ON_ERROR | CONTINUE_AFTER_ERROR }
--Compatibility Options
RESTART
--Monitoring Options
STATS [ = percentage ]
--Encryption Options
ENCRYPTION (ALGORITHM = { AES_128 | AES_192 | AES_256 | TRIPLE_DES_3KEY } , encryptor_options ) <encryptor_options> ::=
SERVER CERTIFICATE = Encryptor_Name | SERVER ASYMMETRIC KEY = Encryptor_Name
Argumen
DATABASE
Menentukan pencadangan database lengkap. Selama pencadangan database, Azure SQL Managed Instance mencadangkan cukup log transaksi untuk menghasilkan database yang konsisten saat cadangan dipulihkan.
Penting
Cadangan database yang dibuat pada instans terkelola hanya dapat dipulihkan pada Azure SQL Managed Instance lain atau ke instans SQL Server 2022 saja. Ini karena SQL Managed Instance memiliki versi database internal yang lebih tinggi dibandingkan dengan versi SQL Server lainnya. Untuk informasi selengkapnya, tinjau Restore cadangan database SQL Managed Instance ke SQL Server 2022.
Saat Anda memulihkan cadangan yang dibuat oleh BACKUP DATABASE ( cadangan data), seluruh cadangan akan dipulihkan. Untuk memulihkan dari pencadangan otomatis SQL Managed Instance, lihat Restore database ke Azure SQL Managed Instance.
{ database_name | @database_name_var }
Database tempat database lengkap dicadangkan. Jika disediakan sebagai variabel (@database_name_var), nama ini dapat ditentukan sebagai konstanta string (@database_name_var = nama database) atau sebagai variabel jenis data string karakter, kecuali untuk jenis data ntext atau teks .
Untuk informasi selengkapnya, lihat Pencadangan File Lengkap dan File Cadangan dan Grup File.
KE URL
Menentukan URL yang akan digunakan untuk operasi pencadangan. Format URL digunakan untuk membuat cadangan ke layanan penyimpanan Microsoft Azure.
Penting
Untuk mencadangkan ke beberapa perangkat saat mencadangkan ke URL, Anda harus menggunakan token Tanda Tangan Akses Bersama (SAS). Untuk contoh membuat Tanda Tangan Akses Bersama, lihat SQL Server Backup ke URL dan Simplifikasi pembuatan Kredensial SQL dengan token Tanda Tangan Akses Bersama (SAS) pada Azure Storage dengan PowerShell.
n
Tempat penampung yang menunjukkan bahwa hingga 64 perangkat cadangan mungkin ditentukan dalam daftar yang dipisahkan koma.
Opsi WITH
Menentukan opsi yang akan digunakan dengan operasi pencadangan.
ENKRIPSI
Digunakan untuk menentukan enkripsi untuk cadangan. Anda dapat menentukan algoritma enkripsi untuk mengenkripsi cadangan dengan atau menentukan NO_ENCRYPTION agar cadangan tidak dienkripsi. Enkripsi disarankan untuk membantu mengamankan file cadangan. Daftar algoritma yang dapat Anda tentukan adalah:
AES_128AES_192AES_256TRIPLE_DES_3KEYNO_ENCRYPTION
Jika Anda memilih untuk mengenkripsi, Anda juga harus menentukan enkripsi menggunakan opsi enkripsi:
SERVER CERTIFICATE = <Encryptor_Name>SERVER ASYMMETRIC KEY = <Encryptor_Name>
Opsi set cadangan
SALIN_SAJA
Menentukan bahwa cadangan adalah cadangan khusus salinan, yang tidak memengaruhi urutan cadangan normal. Cadangan khusus salinan dibuat secara independen dari pencadangan otomatis Azure SQL Database. Untuk informasi selengkapnya, lihat Pencadangan Khusus Salin.
{ KOMPRESI | NO_COMPRESSION }
Menentukan apakah kompresi cadangan dilakukan pada cadangan ini, mengambil alih default tingkat server.
Perilaku default tidak ada kompresi cadangan. Tetapi default ini dapat diubah dengan mengatur opsi konfigurasi server default kompresi cadangan. Untuk informasi tentang menampilkan nilai saat ini dari opsi ini, lihat Menampilkan atau Mengubah Properti Server.
PEMADATAN
Secara eksplisit memungkinkan kompresi cadangan.
NO_COMPRESSION
Secara eksplisit menonaktifkan kompresi cadangan.
DESKRIPSI = { 'teks' | @text_variable }
Menentukan teks bentuk bebas yang menjelaskan kumpulan cadangan. String dapat memiliki maksimal 255 karakter.
NAME = { backup_set_name | @_backup| set_var }
Menentukan nama kumpulan cadangan. Nama dapat memiliki maksimal 128 karakter. Jika NAME tidak ditentukan, kosong.
MEDIADESCRIPTION = { teks | @text_variable }
Menentukan deskripsi teks bentuk bebas, maksimum 255 karakter, dari set media.
NAMA MEDIA = { media_name | @media_name_variable }
Menentukan nama media untuk seluruh set media cadangan. Nama media tidak boleh lebih dari 128 karakter, Jika MEDIANAME ditentukan, nama media harus cocok dengan nama media yang ditentukan sebelumnya yang sudah ada pada volume cadangan. Jika tidak ditentukan, atau jika SKIP opsi ditentukan, tidak ada pemeriksaan verifikasi nama media.
UKURAN BLOK = { ukuran | blok@blocksize_variable }
Menentukan ukuran blok fisik, dalam byte. Ukuran yang didukung adalah 512, 1024, 2048, 4096, 8192, 16384, 32768, dan 65536 (64 KB) byte. Defaultnya adalah 65536 untuk perangkat pita dan 512 jika tidak. Biasanya, opsi ini tidak perlu karena BACKUP secara otomatis memilih ukuran blok yang sesuai dengan perangkat. Secara eksplisit menyatakan ukuran blok mengambil alih pilihan otomatis ukuran blok.
Opsi transfer data
BUFFERCOUNT = { buffercount | @buffercount_variable }
Menentukan jumlah total buffer I/O yang akan digunakan untuk operasi pencadangan. Anda dapat menentukan bilangan bulat positif apa pun; namun, sejumlah besar buffer dapat menyebabkan kesalahan "kehabisan memori" karena ruang alamat virtual yang tidak memadai dalam proses Sqlservr.exe.
Total ruang yang digunakan oleh buffer ditentukan oleh: BUFFERCOUNT * MAXTRANSFERSIZE.
Catatan
Untuk informasi penting tentang menggunakan opsi ini BUFFERCOUNT , lihat opsi transfer data BufferCount yang salah posting blog dapat menyebabkan kondisi OOM.
MAXTRANSFERSIZE = { maxtransfersize | @maxtransfersize_variable }
Menentukan unit transfer terbesar dalam byte yang akan digunakan antara SQL Server dan media cadangan. Nilai yang mungkin adalah kelipatan 65536 byte (64 KB) berkisar hingga 4.194.304 byte (4 MB).
| Perintah | Azure SQL Managed Instance SQL Server 2022 atau kebijakan pembaruan SQL Server 2025 |
Azure SQL Managed Instance Kebijakan Selaluup-to-tanggal |
|---|---|---|
| BACKUPURL KE - Azure | Dinamis, dipilih oleh layanan untuk pencadangan otomatis. Untuk pencadangan COPY_ONLY: Default 1 MB, Maks 100 MB |
Dinamis, dipilih oleh layanan untuk pencadangan otomatis. Untuk pencadangan COPY_ONLY: Default 1 MB, Maks 100 MB |
Untuk database dengan enkripsi data Transparan (TDE) diaktifkan dengan satu file data, defaultnya MAXTRANSFERSIZE adalah 65536 (64 KB). Untuk database terenkripsi non-TDE, defaultnya MAXTRANSFERSIZE adalah 1048576 (1 MB) saat menggunakan cadangan ke DISK, dan 65536 (64 KB) saat menggunakan VDI atau TAPE.
Catatan
MAXTRANSFERSIZE menentukan unit transfer terbesar, dan tidak menjamin bahwa setiap operasi tulis mentransfer ukuran terbesar yang ditentukan.
MAXTRANSFERSIZE untuk operasi tulis cadangan log transaksi bergaris diatur ke 64 KB.
Opsi manajemen kesalahan
Opsi ini memungkinkan Anda menentukan apakah checksum cadangan diaktifkan untuk operasi pencadangan dan apakah operasi berhenti mengalami kesalahan.
{ NO_CHECKSUM | CHECKSUM }
Mengontrol apakah checksum cadangan diaktifkan.
NO_CHECKSUM
Secara eksplisit menonaktifkan pembuatan checksum cadangan (dan validasi checksum halaman). Ini adalah perilaku default.
Checksum
Menentukan bahwa operasi pencadangan memverifikasi setiap halaman untuk checksum dan halaman robek, jika diaktifkan dan tersedia, dan menghasilkan checksum untuk seluruh cadangan.
Menggunakan checksum cadangan dapat memengaruhi beban kerja dan throughput cadangan.
Untuk informasi selengkapnya, lihat Kemungkinan Kesalahan Media Selama Pencadangan dan Pemulihan.
{ STOP_ON_ERROR | CONTINUE_AFTER_ERROR }
Mengontrol apakah operasi pencadangan berhenti atau berlanjut setelah mengalami kesalahan checksum halaman.
STOP_ON_ERROR
Menginstruksikan
BACKUPuntuk gagal jika checksum halaman tidak memverifikasi. Ini adalah perilaku default.LANJUTKAN_SETELAH_KESALAHAN
Menginstruksikan
BACKUPuntuk melanjutkan meskipun mengalami kesalahan seperti checksum yang tidak valid atau halaman yang robek.
Jika Anda tidak dapat mencadangkan ekor log menggunakan NO_TRUNCATE opsi saat database rusak, Anda dapat mencoba pencadangan log log ekor dengan menentukan CONTINUE_AFTER_ERROR alih-alih NO_TRUNCATE.
Untuk informasi selengkapnya, lihat Kemungkinan Kesalahan Media Selama Pencadangan dan Pemulihan.
Opsi kompatibilitas
HIDUPKAN ULANG
Tidak berpengaruh. Opsi ini diterima oleh versi untuk kompatibilitas dengan versi SQL Server sebelumnya.
Opsi pemantauan
STATS [ = persentase ]
Menampilkan pesan setiap kali persentase lain selesai, dan digunakan untuk mengukur kemajuan. Jika percentage dihilangkan, SQL Server menampilkan pesan setelah setiap 10 persen selesai.
Opsi STATS melaporkan persentase selesai pada ambang batas untuk melaporkan interval berikutnya. Ini pada sekitar persentase yang ditentukan; misalnya, dengan STATS = 10, jika jumlah yang diselesaikan adalah 40 persen, opsi mungkin menampilkan 43 persen. Untuk set cadangan besar, ini bukan masalah, karena persentase selesai bergerak sangat lambat antara panggilan I/O yang selesai.
Batasan untuk SQL Managed Instance
Ukuran strip cadangan maksimum adalah 195 GB (ukuran blob maksimum). Tingkatkan jumlah garis dalam perintah cadangan untuk mengurangi ukuran garis individu dan tetap dalam batas ini.
Keamanan
Izin
BACKUP DATABASE izin default untuk anggota peran server tetap sysadmin dan peran database tetap db_owner dan db_backupoperator .
Masalah kepemilikan dan izin pada URL dapat mengganggu operasi pencadangan. SQL Server harus dapat membaca dan menulis ke perangkat; akun tempat layanan SQL Server berjalan harus memiliki izin tulis.
Contoh
Contoh melakukan pencadangan COPY_ONLYSales ke Microsoft Azure Blob Storage. Nama Akun penyimpanan adalah mystorageaccount. Kontainer disebut myfirstcontainer. Kebijakan akses tersimpan telah dibuat dengan hak baca, tulis, hapus, dan daftar. Kredensial SQL Server, https://mystorageaccount.blob.core.windows.net/myfirstcontainer, dibuat menggunakan Tanda Tangan Akses Bersama yang terkait dengan Kebijakan Akses Tersimpan. Untuk informasi tentang pencadangan SQL Server ke Azure Blob Storage, lihat SQL Server Pencadangan dan Pemulihan dengan Microsoft Azure Blob Storage dan SQL Server Pencadangan ke URL.
BACKUP DATABASE Sales
TO URL = 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/Sales_20160726.bak'
WITH STATS = 5, COPY_ONLY;
Anda juga dapat mencadangkan database Anda menjadi beberapa garis, dan akan terlihat seperti ini:
BACKUP DATABASE Sales
TO URL = 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/Sales-01.bak',
URL = 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/Sales-02.bak',
URL = 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/Sales-03.bak',
URL = 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/Sales-04.bak'
WITH COPY_ONLY;