Belirtiler
Yedekleme, shrink çalıştırmak veya alter veritabanı komutu SQL Server'da deneyin ve aşağıdaki iletilerden karşılaşırsanız:
Msg 3023, düzey 16, State 2, 1 satır
Yedekleme ve dosya düzenleme işlemlerini (ALTER veritabanı ekleme dosyası gibi) bir veritabanı üzerinde serileştirilmesi gerekir. Geçerli yedekleme veya dosya düzenleme işlemi tamamlandıktan sonra deyim yeniden yayımlanması planlanmaktadır.
Msg 3013, düzey 16, State 1, satır 1
BACKUP DATABASE anormal olarak sona eriyor.
Ayrıca, SQL Server hata günlüğüne aşağıdaki gibi iletiler içerir:
2014-05-12 01:00:28.05 yedekleme hata: 3041, önem derecesi: 16, State: 1.
2014-05-12 01:00:28.05 ile yedekleme veritabanı Veritabanım fark komutu tamamlamak yedekleme yedekleme başarısız oldu. Ayrıntılı iletiler için yedekleme uygulama günlüğüne bakın.
Bu komutları düşmesi de fark edebilirsiniz bir "wait_type LCK_M_U=" ve "wait_resource = Veritabanı: < ID > [BULKOP_BACKUP_DB] " ne zaman bu komutların durumunu görüntüleneceği gelen çeşitli dinamik Yönetim Görünümleri (DMVs), sys.dm_exec_requests veya sys.dm_os_waiting_tasksgibi.
Neden
Üzerinde işlem verilen veya tam veritabanı şu anda devam eden bir veritabanıyla olduğunda izin verilmiyor birkaç kural vardır. Bazı örnekler aşağıdaki gibidir:
-
Tek bir veri yedekleme (tam bir veritabanı yedeği, Diferansiyel veya artımlı yedeklemeler aynı anda meydana gelemez oluştuğunda) aynı anda ortaya çıkabilir.
-
Tek bir günlük yedeği (tam bir veritabanı yedeği oluştuğu zaman bir günlük yedeği izin verilir) aynı anda ortaya çıkabilir.
-
Ekleyemez veya yedek oluştuğu sırada veritabanı dosyaları sürükleyip bırakabilir.
-
Dosyaları veritabanı yedeklerini olmuyor sırada daraltılamıyor.
-
Yedekleri ortaya çıkan sırada izin verilen sınırlı kurtarma modeli değişiklikleri vardır.
Bu çakışan işlemleri yapılırken, sizin tarafınızdan 3023 ve 3041 ileti alma ve ardından "Belirtiler" bölümünde anlatılan kilit bekler komutları karşılaşırsınız.
Çözüm
Çeşitli veritabanı bakım etkinlikleri zamanlamaları inceleyin ve sonra bu işlemler veya komutları birbiriyle çelişmez zamanlamalarını ayarlayın.
Daha fazla bilgi
SQL Server başlangıç saati ve bitiş saati yedek msdb veritabanına kaydeder. Yedekleme geçmişi artımlı yedekleme çalıştı ve bu nedenle hata nedeniyle oluşan bir tam veritabanı yedeklemesi olup olmadığını belirlemek için inceleyebilirsiniz. Bu işlem ile yardımcı olmak için aşağıdaki sorguyu kullanabilirsiniz:
select database_name, type, backup_start_date, backup_finish_date
from msdb.dbo.backupset
order by database_name, type, backup_start_date, backup_finish_date
go
3023 iletileri geri yedekleme ya da diğer bakım komut başlatılan uygulamaya bildirdiği izlemek için SQL Profiler izlemesinde "Kullanıcı hata iletisi" olay veya olaylar genişletilmiş "error_reported" olayı kullanabilirsiniz.