Ertelenen hareketleri
Içinde SQL Server 2005 Enterprise Edition ve geri alma (geri almak) için gerekli veri çevrimdışıysa, veritabanı başlatma sırasında bozuk bir hareketi sonraki sürümlerinde ertelenmiş haline. C Ertelenmiş işlem ileri sarmak aşama tamamlanır ve, geri alındı engelleyen bir hatayla karşılaştı kaydedilmemiş olan bir hareketidir.Işlem geri alınamaz, çünkü ertelenmiş.
Not
Bozuk işlemleri, yalnızca ertelenmiş SQL Server 2005 Enterprise Edition ve sonraki sürümleri. ' Ün diğer sürümlerinde SQL Server, bozuk bir hareket başlatma başarısız olmasına neden olur.
Veritabanı ileri alındı, ancak işlem tarafından gerekli bir sayfa okuma g/Ç hatası engelledi, genellikle, ertelenmiş işlem oluşur.Ancak, dosya düzeyinde hata ertelenen hareketleri de neden olabilir.Ertelenen BIR hareketin hangi hareket geri alma gerekli olduğu bir noktada bir kısmi bir geri yükleme sırası durdurur ve çevrimdışı veri bir işlem gerektirir ortaya çıkabilir.
Geri alınıyor ve bir g/Ç hatası isabet kullanıcı hareketleri, çevrimdışı çalışmak tüm veritabanını neden.Veritabanını yeniden çevrimiçi duruma getirildiğinde, yineleme vardı ve kaydedilmemiş tüm işlemleri geri almak almak yüklemeye çalışır tüm kilitler reacquires.Bir hareket tarafından değiştirilen tüm veriler kalır uygun kilitli kadar bu işlem geri almak almak dönebilirsiniz.Veritabanı çevrimiçi iken ertelenen hareketleri çözümlenen olduğunda geri alınamaz işlemleri, kilitlerin bozulmasını düzeltildiği ve veritabanını yeniden veya çevrimiçi geri yükleme sonrasında verin.Noktayı kadar ertelenmiş işlem bir bütün olarak veritabanında belirli işlemleri engelleyen bir kilit tutabilir.Örneğin, ertelenmiş işlem için CREATE TABLE bir yönerge içeriyorsa, ertelenmiş işlem çözümlenmiş kadar hiçbir kullanıcı bir tablo oluşturabilirsiniz.
Bir veritabanı değil henüz yüklendi ve çevrimdışı bir dosya grubu etkileyen bir veya daha çok etkin işlemler bir noktaya geri yükleme parçalı kurtarır ertelenmiş işlem de oluşabilir.Hareketleri geri alınamaz, çünkü bunlar ertelenmiş olur.
Aşağıdaki tabloda, bir veritabanının kurtarma ve sonucu bir g/Ç sorun çıkması durumunda gerçekleştirilecek eylemleri listeler.
Action |
(G/Ç sorun veya gerekli verileri çevrimdışı olursa) çözümlemesi |
---|---|
Sunucu başlatma |
Ertelenmiş işlem |
Geri yükleme |
Ertelenmiş işlem |
Ekleme |
Başarısız iliştirin. |
Autorestart |
Ertelenmiş işlem |
Veritabanı veya veritabanı anlık görüntü görüntü görüntü oluşturma |
Oluşturma başarısız |
veritabanı yansıtması üzerinde yineleme |
Ertelenmiş işlem |
Dosya grubu çevrimdışı olduğunda |
Ertelenmiş işlem |
Bir işlem dışı DEFERRED durumu taşıma
Important Note: |
---|
Ertelenen hareketleri, işlem günlüğünün etkin tutmak.Tüm Ertelenmiş hareketler içeren sanal günlük dosyası fazlalıklar kadar bu hareketleri ertelenen durumu taşınır.Günlük kesilme hakkında daha fazla bilgi için bkz: Hareket günlüğü kesme. |
Ertelenen durumu hareketi taşımak için , g/Ç hataları temiz bir şekilde veritabanı başlatmalısınız.Ertelenen hareketler mevcut olduğundan, kaynak g/Ç hataları düzeltmeniz gerekir.Bunlar, genellikle denenir, sıraya göre listelenen kullanılabilir çözümleri, aşağıdaki gibidir:
Veritabanını yeniden başlatın.Sorun geçici varsa, veritabanını ertelenen hareketleri başlayacaktır.
Bir dosya grubu çevrimdışı olduğu için hareketler ertelenmiş, dosya grubu çevrimiçi duruma getirin.
Dosya bir çevrimdışı grubu çevrimiçi duruma getirmek için aşağıdakileri kullanın Transact-SQL Deyim:
RESTORE DATABASE database_name FILEGROUP=<filegroup_name>
Veritabanını geri yükleme yükleyin.Tüm Ertelenmiş işlemleri çevrimiçi yüklenmesinden sonra giderilmiştir.
Ertelenen hareketleri yalnızca birkaç bozuk sayfaları tarafından neden, tam veya toplu günlük kurtarma modeli altında bir elektronik sayfa geri yükleme yüklemesi yüklemesi hataları giderebilecek desteklenen (yerde).
Artık çevrimdışı durumu neden olan bir dosya grubu hareketleri ertelenmiş gerektirir, çevrimdışı dosya grubunu işlevsiz.dosya grubu geçersiz olduktan sonra dosya grubu çevrimdışı olduğu için ertelenmiş hareketleri ertelenen durumu taşınır.
Important Note: Geçersiz bir dosya grubu hiçbir zaman kurtarılamaz.
Daha fazla bilgi için bkz:Geçersiz Filegroups.
Hareketleri nedeniyle hatalı bir sayfa ertelenmiş ve iyi bir veritabanının yedeği yoksa, veritabanını onarmak için aşağıdaki işlemi kullan:
Önce aşağıdaki komutu çalıştırarak veritabanı Acil moduna koy Transact-SQL Deyim:
ALTER DATABASE <database_name> SET EMERGENCY
Acil Durum modu hakkında daha fazla bilgi için bkz: Veritabanı durumlar.
Sonra DBCC REPAIR_ALLOW_DATA_LOSS seçeneği DBCC aþaðýdaki birini kullanarak veritabanını onarma: dbcc checkdb, dbcc checkalloc, or dbcc checktable.
DBCC hatalı bir sayfa karşılaştığında, DBCC, kaldırır ve ilgili hataları onarır.Bu yaklaşım, fiziksel olarak tutarlı bir durumda yeniden çevrimiçi duruma getirilebilmesi için veritabanı sağlar.Ancak, ek veriler de kaybolmuş olabilir; bu nedenle, bu yaklaşım son çare olarak kullanılmalıdır.
See Also