Cadangan SQL Server gagal. Kesalahan: 3041, Tingkat Permasalahan: 16, Negara: 1

11

Pertama-tama, saya sangat baru di stackexchange, jadi tolong ikut saya.

Saya menjalankan SQL Server 9.0.4060.

Masalah saya adalah: cadangan SQL Server saya terus gagal pada banyak database.

Rencana Pemeliharaan berjalan ke berbagai pekerjaan cadangan:

Pencadangan DIFF setiap hari pada pukul 20:30 dan FULL backup setiap hari Minggu pukul 20:30.

Saya mendapatkan dua kesalahan ini untuk setiap database yang gagal menyelesaikan cadangan:

Date        06-11-2012 20:31:06
Log     SQL Server (Current - 07-11-2012 11:43:00)
Source      Backup
Message
BACKUP failed to complete the command BACKUP DATABASE (dbname) WITH DIFFERENTIAL. Check the backup application log for detailed messages.

Date        06-11-2012 20:31:06
Log     SQL Server (Current - 07-11-2012 11:43:00)
Source      Backup
Message
Error: 3041, Severity: 16, State: 1.

Kesalahan ekstra.

Date     06-11-2012 17:53:27 
Log      SQL Server (Current - 07-11-2012 11:43:00) 
Source   Logon 
Message  Error: 18456, Severity: 14, State: 16.

Date     06-11-2012 17:53:27 
Log      SQL Server (Current - 07-11-2012 11:43:00) 
Source   Logon 
Message  Login failed for user 'sa'. [CLIENT: <local machine>]

Date     06-11-2012 20:30:11
Log      SQL Server (Current - 09-11-2012 11:27:00)
Source   spid15s
Message
SQL Server has encountered 2 occurrence(s) of cachestore flush for the 'Bound Trees' cachestore (part of plan cache) due to some database maintenance or reconfigure operations.

Ada kesalahan serupa lainnya dengan yang di atas, dengan 'Paket SQL' dan 'Paket Objek'. Alih-alih 'Bound Trees'.

Jika kalian membutuhkan informasi lain, katakan saja.

Arviddk
sumber
Apakah ada kesalahan sebelum 3041 di log galat server sql? (bukan log windows)
Alex K.
Ya, ada dua kesalahan ini: "Tanggal 06-11-2012 17:53:27 Log SQL Server (Sekarang - 07-11-2012 11:43:00) Sumber Pesan Kesalahan Logon: 18456, Keparahan: 14, Negara: 16. "" Tanggal 06-11-2012 17:53:27 Log SQL Server (Sekarang - 07-11-2012 11:43:00) Sumber Pesan Log Masuk gagal untuk pengguna 'sa'. [KLIEN: <mesin lokal> ] "
apakah ada lebih banyak kesalahan dari itu?
swasheck
Ya @ cek data, saya menambahkan beberapa kesalahan dalam deskripsi
Arviddk
apakah ini cadangan asli atau apakah Anda menggunakan perangkat lunak cadangan lain?
swasheck

Jawaban:

4

Seperti yang ditunjukkan Max, kesalahan login sa tidak merusak waktu cadangan seperti yang terjadi beberapa jam sebelumnya, namun yang ke-2 tidak. Sudahkah Anda melihat: http://blogs.msdn.com/b/sqlprogrammability/archive/2007/01/17/10-0-plan-cache-flush.aspx

http://www.sqlservercentral.com/Forums/Topic377116-146-1.aspx#bm380502

Apakah ada item di blog MSDN yang berperan dalam lingkungan Anda? Yang paling umum adalah AUTO_CLOSE ON. Beri tahu kami, terima kasih.

Ali Razeghi
sumber
AUTO_CLOSE diaktifkan pada 10 dari 164 DB. Saya menghitung 70 kemunculan 'Bound Trees', 'SQL Plans' dan 'Object Plans' pada 13/11/2012 21:45:24. Pada 13/11/2012 21:53:15 itu diatur ulang ke 1 kejadian masing-masing. Semoga ini membantu.
Arviddk
Apakah ini membantu Anda mengidentifikasi kesalahan @ SQL-Learner? Saya bertanya kepada gyus TI lain di departemen saya apakah mereka tahu jika ada perintah lain yang disebutkan di blog MSDN.
Arviddk
Hai Arviddk, biarkan saya melihat lebih jauh ke dalamnya hari ini! Terima kasih.
Ali Razeghi
Oke, nantikan tanggapan Anda!
Arviddk
2

Tolong, Lihatlah di sini: Cara memecahkan masalah "Msg 3041" di SQL Server

Kutipan dari halaman:

Pesan 3041 adalah laporan umum tentang kegagalan cadangan. Untuk memahami penyebab kesalahan dan mengatasinya, Anda harus menggunakan entri log SQL Server Error yang terjadi sebelum entri peristiwa 3041. Biasanya, 3041 didahului oleh pesan kesalahan terperinci yang menyatakan alasan sebenarnya kegagalan cadangan. Pesan kesalahan rinci ditulis hanya untuk log kesalahan SQL Server dan ke aplikasi klien. Pesan terperinci tidak dilaporkan dalam log Aplikasi di Windows.

Pembaruan (Setelah membaca komentar @dezso)
Saya telah melihat "kesalahan ekstra" dilaporkan, tetapi saya tidak yakin bahwa itu terkait dengan kesalahan cadangan. Kesalahan cadangan tanggal pada 20:31:06, tetapi "kesalahan ekstra" tanggal pada 17:53:27, sehingga kesalahan tambahan terjadi sekitar 2 jam dan 40 menit sebelum kesalahan cadangan yang sebenarnya. Dan kesalahan tambahan ini terkait dengan masalah masuk.

Saya tidak berpikir bahwa masalah masuk terjadi pada 17:53:27 dapat mengakibatkan gagal cadangan pada 20:31:06. Jadi anggaplah bahwa kesalahan cadangan, dan bahwa "kesalahan ekstra" tidak terkait.

Saya juga tidak berpikir bahwa kesalahan umum yang terjadi pada 17:53:27 dapat mengakibatkan kegagalan cadangan pada 20:31:06 (kecuali DB benar-benar besar). @Arviddk melaporkan bahwa "cadangan SQL Server saya terus gagal pada banyak database " Saya pikir aman untuk menganggap bahwa "banyak" berarti lebih dari 10 DB.
Jadi saya berpikir bahwa jika cadangan tunggal dari DB tunggal membutuhkan waktu lebih dari 2 jam dan 40 menit, Anda tidak dapat memiliki 10 atau 20 DB seperti itu di satu server ... atau server Anda akan menghabiskan waktu seumur hidup hanya dengan membuat cadangan. Jadi saya berasumsi bahwa cadangan tunggal membutuhkan waktu kurang dari 2 jam dan 40 menit, jadi saya pikir bahwa kesalahan cadangan dan kesalahan tambahan tidak terkait.

Dan kesalahan terakhir "cachestore flush / 'Bound Trees'" dilaporkan bertanggal pada 06-11-2012 20:30:11, jadi itu sesuatu yang terjadi setelah kesalahan cadangan. Pokoknya masalah yang berhubungan dengan cache seharusnya tidak menghasilkan kesalahan (acara jika bisa memperlambat sesuatu).

Beberapa pertanyaan
Beberapa pertanyaan yang dapat membantu mengidentifikasi masalah:

  • Berapa lama waktu yang dibutuhkan untuk menjalankan cadangan FULL?
  • Berapa lama waktu yang diperlukan untuk menjalankan cadangan DIFF?
  • Apakah kesalahan hanya terjadi pada cadangan DIFF?
  • Persentase cadangan mana yang gagal? (1%? 10% 50%)
  • Mungkin Anda bisa mencoba hanya melakukan backup FULL untuk memeriksa apakah itu masalah yang terkait dengan cadangan DIFF? (Saya belum pernah melakukan cadangan DIFF pada SQL Server, saya tidak punya pengalaman dengan mereka)

Menurut situs web MS di log SQL Server harus ada kesalahan lain yang terkait dengan cadangan gagal, tapi saya mengharapkan sesuatu yang lebih dekat, pada waktunya, ke waktu di mana cadangan gagal.

Maks
sumber
OP sudah memasukkan pesan kesalahan dari sebelum 3041 - apakah Anda pikir itu masih tidak cukup? Jika ya, silakan modifikasi posting Anda sesuai.
dezso
Cadangan gagal untuk DIFF dan FULL. Diperlukan waktu rata-rata sekitar 2-3 menit untuk menyelesaikan cadangan. (Kesalahan terakhir dicatat 2-3 menit setelah pencadangan dimulai). Saya menghitung 100 kesalahan ini pada cadangan DIFF dari 13/11/2012 - "CADANGAN gagal menyelesaikan perintah CADANGAN DATABASE (dbname) DENGAN PERBEDAAN ....."
Arviddk
@Arviddk Anda berbicara tentang 164 DB, tetapi apakah semua DB itu ada di server tunggal? Bagaimana dijadwalkan cadangan DB? Mungkin kesalahan yang Anda lihat dapat dikaitkan dengan beberapa jenis cadangan terjadwal yang tumpang tindih? (Saya tidak tahu apakah menjalankan secara bersamaan 2 atau lebih cadangan T-Sql dapat membuat kesalahan ... Saya belum pernah mencoba) Jika cadangan tumpang tindih dalam waktu, mungkin mungkin untuk memaksa mereka untuk menjalankan 1 oleh 1 dalam serial cara? (Di server saya, saya memiliki satu skrip yang mencadangkan semua DB saya, sehingga tidak ada tumpang tindih dalam pelaksanaan pencadangan)
Maks
Ya ada 164 DB di server. Tapi 99 di antaranya OFFLINE. Fungsi 'Auto_close' diaktifkan pada beberapa DB, sehingga mereka menutup setiap kali tidak digunakan. (Sejauh yang saya mengerti?)
Arviddk