Aracılığıyla paylaş


Ertelenmiş hareketleri

De SQL Server 2005 Enterprise Edition ve sonraki sürümlerinde, bozuk bir hareket hale ertelenmiş sırasında veri geri alma (Geri Al) gerektirdiği çevrimdışıysa. Veritabanı başlatma A ertelenmiş işlem ne zaman kaydedilmemiş bir hareket olduğu ileri sarmak aşama tamamlandıktan ve geri alınmış engelleyen bir hatayla karşılaştı.İşlem geri alınamaz çünkü ertelenmiş.

Not

Bozuk hareketleri yalnızca ertelenmiş SQL Server 2005 Enterprise Edition ve sonraki sürümleri.Diğer sürümlerinde SQL Server, bozuk hareket nedenleri başlatma başarısız.

Genellikle, veritabanı İleri alınmakta sırada bir g/Ç hatası hareketin gerekiyordu bir sayfa okuma engellediğinden, ertelenmiş işlem gerçekleşir.Ancak, bir dosya hatası düzey ertelenmiş hareketleri de neden olabilir.Ertelenmiş işlem kısmi geri yükleme sırası işlemi geri alma hangi hareket gerekli olan bir noktada durdurulur ve bir hareket, çevrimdışı veri gerektirdiğinde ortaya çıkabilir.

Kullanıcı hareketleri geri alınıyor ve bir g/Ç hatası isabet tüm veritabanını çevrimdışı çalışmak neden.Veritabanı yineleme çevrimiçi duruma getirildiğinde, yineleme vardı ve kaydedilmemiş tüm işlemleri geri almak almak çalışır tüm kilitleri reacquires.Bir hareket tarafından değiştirilen tüm veriler kalır uygun şekilde kilitli kadar hareket geri almak almak dönebilirsiniz.Veritabanı çevrimiçi iken ertelenmiş hareketleri çözümlendiği zaman geri alınamaz işlemleri Bozulması sabitse, kilitler ve yeniden veritabanı veya bir çevrimiçi geri yükleme sonrasında sağlayacaktır.O noktaya kadar bir ertelenmiş işlem bir bütün olarak veritabanında belirli işlemleri önlemek kilitleri tutabilir.Örneğin, ertelenmiş işlem bir create table yönergesi içeriyorsa, ertelenmiş işlem çözülene kadar hiçbir kullanıcı bir tablo oluşturabilirsiniz.

Ertelenmiş işlem nedeniyle de oluşabilir bir parçalı geri yükleme bir nokta, bir veya daha fazla etkin işlemler etkileyen henüz yükledi ve çevrimdışı filegroup bir veritabanına kurtarır.İşlemleri geri alınamaz, çünkü bunlar ertelenmiş olur.

Aşağıdaki tablo, veritabanı kurtarma ve sonucu bir g/Ç sorun oluşursa gerçekleştirmek neden eylemlerini listeler.

Eylem

Çözünürlük (g/Ç sorunlarını ortaya veya gerekli verileri çevrimdışı durumunda)

Sunucu başlatma

Ertelenmiş işlem

Geri yükleme

Ertelenmiş işlem

Ekle

Ekleme başarısız

Otomatik yeniden başlatma

Ertelenmiş işlem

Veritabanı veya veritabanı anlık görüntü görüntüsü görüntüsü oluşturma

Oluşturma başarısız

Veritabanını yinelemeyansıtma

Ertelenmiş işlem

Filegroup çevrimdışı

Ertelenmiş işlem

Bir hareket ERTELENMİŞ durumu taşıma

Önemli notÖnemli

Ertelenmiş hareketleri, işlem günlüğünün etkin tutmak.Ertelenmiş hareketleri içeren bir sanal günlük dosyası kesildi bu hareketlere kadar ertelenmiş durumu.Günlük kesilme hakkında daha fazla bilgi için bkz: Hareket günlüğü kesme.

Ertelenmiş durumu hareketi taşımak için veritabanı temiz bir şekilde g/Ç hataları başlatmanız gerekir.Ertelenmiş hareketleri varsa, kaynak g/Ç hataları düzeltmeniz gerekir.Bunlar, genellikle denenir, sıraya göre listelenen kullanılabilir çözümler şunlardır:

  • Veritabanını yeniden başlatın.Sorun geçici, veritabanı ertelenmiş hareketleri başlatılmalıdır.

  • Bir filegroup çevrimdışı olduğu için ertelenmiş hareketleri, dosya grubu yeniden çevrimiçi duruma getirin.

    Bir çevrimdışı dosya grubu yeniden ç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ükleyin.Bir çevrimiçi geri yükleme, ertelenmiş hareketleri çözümlenir.

    Tam altında veya toplu günlük kurtarma modeli, yalnızca birkaç bozuk sayfalar, bir elektronik sayfa geri yükleme yüklemesi yüklemesi hataları giderebilecek ertelenmiş hareketleri neden, desteklenen (burada).

  • Artık bir dosya grubu çevrimdışı durumu neden ertelenmiş hareketleri gerektirir, çevrimdışı dosya grubu işlevsiz.Geçersiz dosya grubu olduktan sonra Ertelenen durumu dosya grubu çevrimdışı olduğu için ertelenmiş hareketleri taşınır.

    Önemli notÖnemli

    Geçersiz bir dosya grubu hiçbir zaman kurtarılabilir.

    Daha fazla bilgi için bkz: Geçersiz Filegroups.

  • Hareketleri nedeniyle hatalı bir sayfa ertelenmiş ve iyi bir yedek veritabanı varsa, veritabanını onarmak için aşağıdaki işlemi kullanın:

    • İlk kez veritabanını Acil durum aşağıdaki yürüterek moduna Transact-SQL deyim:

      ALTER DATABASE <database_name> SET EMERGENCY
      

      Acil Durum modu hakkında daha fazla bilgi için bkz: Veritabanı durumları.

    • Daha sonra aşağıdaki dbcc ifadelerden birini dbcc REPAIR_ALLOW_DATA_LOSS seçeneğini kullanarak veritabanını onarın: dbcc checkdb, dbcc CHECKALLOC'u, veya dbcc checktable.

      dbcc hatalı sayfa karşılaştığında, dbcc onu kaldırır ve ilgili hataları onarır.Bu yaklaşım, fiziksel olarak tutarlı bir durumda yeniden çevrimiçi duruma getirilebilmesi veritabanı sağlar.Ancak, ek verileri de kaybolabilir; Bu nedenle, bu yaklaşım, son çare olarak kullanılmalıdır.