Bagikan melalui


SQL Server Pencadangan ke Praktik Terbaik url dan Pemecahan Masalah

Topik ini mencakup praktik terbaik dan tips pemecahan masalah untuk SQL Server pencadangan dan pemulihan ke layanan Azure Blob.

Untuk informasi selengkapnya tentang menggunakan layanan penyimpanan Azure Blob untuk SQL Server operasi pencadangan atau pemulihan, lihat:

Mengelola Cadangan

Daftar berikut ini mencakup rekomendasi umum untuk mengelola cadangan:

  • Nama file unik untuk setiap cadangan disarankan untuk mencegah penimpaan blob secara tidak sengaja.

  • Saat membuat kontainer, disarankan agar Anda mengatur tingkat akses ke privat, sehingga hanya pengguna atau akun yang dapat memberikan informasi autentikasi yang diperlukan yang dapat membaca atau menulis blob dalam kontainer.

  • Untuk SQL Server database pada instans SQL Server yang berjalan di Azure Virtual Machine, gunakan akun penyimpanan di wilayah yang sama dengan komputer virtual untuk menghindari biaya transfer data antar wilayah. Menggunakan wilayah yang sama juga memastikan performa optimal untuk operasi pencadangan dan pemulihan.

  • Aktivitas pencadangan yang gagal dapat mengakibatkan file cadangan yang tidak valid. Kami merekomendasikan identifikasi berkala dari cadangan yang gagal dan menghapus file blob. Untuk informasi selengkapnya, lihat Menghapus File Blob Cadangan dengan Sewa Aktif

  • WITH COMPRESSION Menggunakan opsi selama pencadangan dapat meminimalkan biaya penyimpanan dan biaya transaksi penyimpanan Anda. Ini juga dapat mengurangi waktu yang diperlukan untuk menyelesaikan proses pencadangan.

Menangani File Besar

  • Operasi pencadangan SQL Server menggunakan beberapa utas untuk mengoptimalkan transfer data ke layanan penyimpanan Azure Blob. Namun performa tergantung pada berbagai faktor, seperti bandwidth ISV dan ukuran database. Jika Anda berencana untuk mencadangkan database besar atau grup file dari database SQL Server lokal, disarankan agar Anda melakukan beberapa pengujian throughput terlebih dahulu. SLA penyimpanan Azure memiliki waktu pemrosesan maksimum untuk blob yang dapat Anda pertimbangkan.

  • Menggunakan opsi seperti yang WITH COMPRESSION direkomendasikan di bagian Mengelola Cadangan , sangat penting saat mencadangkan file besar.

Pemecahan Masalah Pencadangan ke atau Pemulihan dari URL

Berikut ini adalah beberapa cara cepat untuk memecahkan masalah kesalahan saat mencadangkan atau memulihkan dari layanan penyimpanan Azure Blob.

Untuk menghindari kesalahan karena opsi atau batasan yang tidak didukung, tinjau daftar batasan, dan dukungan untuk informasi perintah BACKUP dan RESTORE di artikel SQL Server Backup and Restore with Azure Blob Storage Service.

Kesalahan Autentikasi:

  • WITH CREDENTIAL adalah opsi baru dan diperlukan untuk mencadangkan atau memulihkan dari layanan penyimpanan Azure Blob. Kegagalan yang terkait dengan kredensial bisa menjadi berikut:

    Kredensial yang ditentukan dalam BACKUP perintah atau RESTORE tidak ada. Untuk menghindari masalah ini, Anda dapat menyertakan pernyataan T-SQL untuk membuat kredensial jika tidak ada dalam pernyataan cadangan. Berikut ini adalah contoh yang bisa Anda gunakan:

    IF NOT EXISTS  
    (SELECT * FROM sys.credentials   
    WHERE credential_identity = 'mycredential')  
    CREATE CREDENTIAL <credential name> WITH IDENTITY = 'mystorageaccount'  
    ,SECRET = '<storage access key> ;  
    
    
  • Kredensial ada tetapi akun masuk yang digunakan untuk menjalankan perintah cadangan tidak memiliki izin untuk mengakses kredensial. Gunakan akun login dalam peran db_backupoperator dengan Mengubah izin kredensial apa pun .

  • Verifikasi nama akun penyimpanan dan nilai kunci. Informasi yang disimpan dalam kredensial harus cocok dengan nilai properti akun penyimpanan Azure yang Anda gunakan dalam operasi pencadangan dan pemulihan.

Kesalahan/Kegagalan Pencadangan:

  • Pencadangan paralel ke blob yang sama menyebabkan salah satu cadangan gagal dengan kesalahan Inisialisasi gagal .

  • Gunakan log kesalahan berikut untuk membantu memecahkan masalah kesalahan pencadangan:

    • Atur bendera pelacakan 3051 untuk mengaktifkan pengelogan ke log kesalahan tertentu dengan format berikut di:

      BackupToUrl-instname-dbname-action-PID.log<<>>>< Di mana <tindakan> adalah salah satu dari:

      • DB

      • FILELISTONLY

      • LABELONLY

      • HEADERONLY

      • VERIFYONLY

    • Anda juga dapat menemukan informasi dengan meninjau Log Peristiwa Windows - Di bawah Log aplikasi dengan nama 'SQLBackupToUrl'.

  • Saat memulihkan dari cadangan terkompresi, Anda mungkin melihat kesalahan berikut:

    • SqlException 3284 terjadi. Tingkat keparahan: 16 Status: 5
      Tanda File Pesan pada perangkat 'https://mystorage.blob.core.windows.net/mycontainer/TestDbBackupSetNumber2_0.bak' tidak diratakan. Terapkan ulang pernyataan Pulihkan dengan ukuran blok yang sama yang digunakan untuk membuat set cadangan: '65536' terlihat seperti nilai yang mungkin.

      Untuk mengatasi kesalahan ini, keluarkan kembali pernyataan BACKUP dengan BLOCKSIZE = 65536 yang ditentukan.

  • Kesalahan selama pencadangan karena blob yang memiliki sewa aktif pada mereka: Aktivitas pencadangan yang gagal dapat mengakibatkan blob dengan sewa aktif.

    Jika pernyataan cadangan ditempat ulang, operasi pencadangan mungkin gagal dengan kesalahan yang mirip dengan yang berikut ini:

    Pencadangan ke URL menerima pengecualian dari titik akhir jarak jauh. Pesan Pengecualian: Server jarak jauh mengembalikan kesalahan: (412) Saat ini ada sewa pada blob dan tidak ada ID sewa yang ditentukan dalam permintaan.

    Jika pernyataan pemulihan dicoba pada file blob cadangan yang memiliki sewa aktif, operasi pemulihan gagal dengan kesalahan yang mirip dengan yang berikut ini:

    Pesan Kesalahan: Server jarak jauh menampilkan kesalahan: (409) Konflik..

    Ketika kesalahan tersebut terjadi, file blob perlu dihapus. Untuk informasi selengkapnya tentang skenario ini dan cara memperbaiki masalah ini, lihat Menghapus File Blob Cadangan dengan Sewa Aktif

Kesalahan Proksi

Jika Anda menggunakan Server Proksi untuk mengakses internet, Anda mungkin melihat masalah berikut:

Pembatasan koneksi oleh Server Proksi:

Server Proksi dapat memiliki pengaturan yang membatasi jumlah koneksi per menit. Proses Pencadangan ke URL adalah proses multi-utas dan karenanya dapat melampaui batas ini. Jika ini terjadi, server proksi akan mematikan koneksi. Untuk mengatasi masalah ini, ubah pengaturan proksi sehingga SQL Server tidak menggunakan proksi. Berikut ini adalah beberapa contoh jenis atau pesan kesalahan yang mungkin Anda lihat di log kesalahan:

  • Tulis di "http://storageaccount.blob.core.windows.net/container/BackupAzurefile.bak" gagal: Pencadangan ke URL menerima pengecualian dari titik akhir jarak jauh. Pesan Pengecualian: Tidak dapat membaca data dari koneksi transportasi: Koneksi ditutup.

  • Terjadi kesalahan I/O yang tidak dapat dipulihkan pada file "http://storageaccount.blob.core.windows.net/container/BackupAzurefile.bak:" Kesalahan tidak dapat dikumpulkan dari Titik Akhir Jarak Jauh.

    Msg 3013, Tingkat 16, Status 1, Baris 2

    DATABASE CADANGAN berakhir secara tidak normal.

  • BackupIoRequest::ReportIoError: menulis kegagalan pada perangkat cadangan 'http://storageaccount.blob.core.windows.net/container/BackupAzurefile.bak'. Kesalahan sistem operasi Pencadangan ke URL menerima pengecualian dari titik akhir jarak jauh. Pesan Pengecualian: Tidak dapat membaca data dari koneksi transportasi: Koneksi ditutup.

Jika Anda mengaktifkan pengelogan verbose menggunakan bendera pelacakan 3051, Anda mungkin juga melihat pesan berikut di log:

Kode status HTTP 502, Kesalahan Proksi Pesan Status HTTP ( Jumlah permintaan HTTP per menit melebihi batas yang dikonfigurasi. Hubungi administrator ISA Server Anda. )

Pengaturan Proksi Default tidak diambil:

Terkadang pengaturan default tidak diambil menyebabkan kesalahan autentikasi proksi seperti yang ditunjukkan di bawah ini:Kesalahan I/O yang tidak dapat dipulihkan terjadi pada file "http://storageaccount.blob.core.windows.net/container/BackupAzurefile.bak:" Pencadangan ke URL menerima pengecualian dari titik akhir jarak jauh. Pesan Pengecualian: Server jarak jauh mengembalikan kesalahan: (407)Autentikasi Proksi Diperlukan.

Untuk mengatasi masalah ini, buat file konfigurasi yang memungkinkan proses Pencadangan ke URL menggunakan pengaturan proksi default menggunakan langkah-langkah berikut:

  1. Buat file konfigurasi bernama BackuptoURL.exe.config dengan xml berikut:

    <?xml version ="1.0"?>  
    <configuration>   
                    <system.net>   
                                    <defaultProxy enabled="true" useDefaultCredentials="true">   
                                                    <proxy usesystemdefault="true" />   
                                    </defaultProxy>   
                    </system.net>  
    </configuration>  
    
    
  2. Tempatkan file konfigurasi di folder Binn instans SQL Server. Misalnya, jika SQL Server saya diinstal pada drive C komputer, tempatkan file konfigurasi di sini: C:\Program Files\Microsoft SQL Server\MSSQL12.<InstanceName>\MSSQL\Binn.

Pemecahan masalah SQL Server Managed Backup ke Azure

Karena SQL Server Managed Backup dibangun di atas Cadangan ke URL, tips pemecahan masalah yang dijelaskan di bagian sebelumnya berlaku untuk database atau instans menggunakan SQL Server Managed Backup. Informasi tentang pemecahan masalah SQL Server Managed Backup ke Azure dijelaskan secara rinci dalam Pemecahan Masalah SQL Server Managed Backup ke Azure.

Lihat juga

Memulihkan Dari Cadangan yang Disimpan di Azure