Pencadangan khusus salin

Berlaku untuk:SQL ServerAzure SQL Managed Instance

Cadangan khusus salinan adalah cadangan SQL Server yang independen dari urutan cadangan SQL Server konvensional. Biasanya, mengambil perubahan cadangan database dan memengaruhi bagaimana cadangan nanti dipulihkan. Namun, terkadang, berguna untuk mengambil cadangan untuk tujuan khusus tanpa memengaruhi prosedur pencadangan dan pemulihan keseluruhan untuk database. Pencadangan khusus salin melayani tujuan ini.

Jenis cadangan khusus salinan adalah sebagai berikut:

  • Pencadangan penuh khusus salin (semua model pemulihan)

    • Cadangan khusus salinan tidak dapat berfungsi sebagai basis diferensial atau cadangan diferensial dan tidak memengaruhi basis diferensial.

    • Memulihkan cadangan penuh khusus salinan sama dengan memulihkan cadangan penuh lainnya.

  • Pencadangan log khusus salin (model pemulihan penuh dan model pemulihan yang dicatat secara massal saja)

    • Cadangan log khusus salinan mempertahankan titik arsip log yang ada dan, oleh karena itu, tidak memengaruhi urutan pencadangan log reguler. Pencadangan log khusus salin biasanya tidak perlu. Sebagai gantinya, Anda dapat membuat cadangan log rutin baru (menggunakan WITH NORECOVERY) dan menggunakan cadangan tersebut bersama dengan cadangan log sebelumnya yang diperlukan untuk urutan pemulihan. Namun, cadangan log hanya salin terkadang dapat berguna untuk melakukan pemulihan online. Untuk informasi selengkapnya, ikuti instruksi dalam artikel Contoh: Pemulihan online file baca-tulis (model pemulihan penuh), menggunakan file cadangan hanya-salin sebagai gantinya.

    • Log transaksi tidak pernah terpotong setelah pencadangan khusus salinan.

Cadangan khusus salin direkam di is_copy_only kolom tabel set cadangan.

Penting

Di Azure SQL Managed Instance, cadangan khusus salinan tidak dapat dibuat untuk database yang dienkripsi dengan Transparent Data Encryption (TDE) yang dikelola layanan. TDE yang dikelola layanan menggunakan kunci internal untuk enkripsi data, dan kunci tersebut tidak dapat diekspor, sehingga Anda tidak dapat memulihkan cadangan di tempat lain. Pertimbangkan untuk menggunakan TDE yang dikelola pelanggan sebagai gantinya untuk dapat membuat cadangan salinan-saja dari database terenkripsi, tetapi pastikan untuk memiliki kunci enkripsi yang tersedia untuk pemulihan nanti.

Membuat cadangan khusus salinan

Anda dapat membuat cadangan khusus salinan dengan SQL Server Management Studio, Azure Data Studio, Transact-SQL, atau PowerShell.

J. Menggunakan SQL Server Management Studio

Dalam contoh ini, cadangan Sales database khusus salinan dicadangkan ke disk di lokasi pencadangan default.

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

  2. Perluas Database, klik Saleskanan , arahkan ke Tugas, lalu pilih Cadangkan....

  3. Pada halaman Umum di bagian Sumber , centang kotak centang Cadangan salin-saja.

  4. Pilih OK.

B. Menggunakan Transact-SQL

Contoh ini membuat cadangan khusus salinan untuk database yang Sales menggunakan COPY_ONLY parameter . Cadangan khusus salinan log transaksi juga diambil.

BACKUP DATABASE Sales
TO DISK = 'E:\BAK\Sales_Copy.bak'
WITH COPY_ONLY;

BACKUP LOG Sales
TO DISK = 'E:\BAK\Sales_LogCopy.trn'
WITH COPY_ONLY;

Catatan

COPY_ONLY tidak berpengaruh ketika ditentukan dengan DIFFERENTIAL opsi .

C. Menggunakan Transact-SQL dan Azure SQL Managed Instance

Azure SQL Managed Instance mendukung pengambilan COPY_ONLY pencadangan penuh. Contoh melakukan pencadangan MyDatabase COPY_ONLY ke Microsoft Azure Blob Storage. Nama Akun penyimpanan adalah mystorageaccount. Kontainer disebut myfirstcontainer. Kebijakan akses penyimpanan 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 rahasia Kebijakan Akses Penyimpanan. Untuk informasi tentang pencadangan SQL Server ke Microsoft Azure Blob Storage, lihat Pencadangan dan Pemulihan SQL Server dengan Microsoft Azure Blob Storage dan Pencadangan SQL Server ke URL.

-- Prerequisite to have write permissions
CREATE CREDENTIAL [https://mystorageaccount.blob.core.windows.net/myfirstcontainer]
WITH IDENTITY = 'SHARED ACCESS SIGNATURE',
SECRET = 'sp=...' -- Enter your secret SAS token here.

BACKUP DATABASE MyDatabase
TO URL = 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/MyDatabaseBackup.bak'
WITH STATS = 5, COPY_ONLY;

Untuk mengambil cadangan khusus salinan yang dibagi menjadi beberapa garis, gunakan contoh ini:

BACKUP DATABASE MyDatabase
TO URL = 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/MyDatabase-01.bak',
URL = 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/MyDatabase-02.bak',
URL = 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/MyDatabase-03.bak',
URL = 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/MyDatabase-04.bak'
WITH COPY_ONLY;

D. Menggunakan PowerShell

Contoh ini membuat cadangan khusus salinan untuk database yang Sales menggunakan -CopyOnly parameter .

Backup-SqlDatabase -ServerInstance 'SalesServer' -Database 'Sales' -BackupFile 'E:\BAK\Sales_Copy.bak' -CopyOnly

Membuat cadangan penuh atau log

Menampilkan cadangan khusus salinan

Menyiapkan dan menggunakan penyedia PowerShell SQL Server