2009-09-23 33 views
11

Dün benim dev makinemde bir 35Gb veritabanı geri yükledim ve istemci uygulamanızın bağlanamadığı bu saate kadar her şey yolunda gitti. Bu yüzden 'In Recovery' veritabanını bulmak için SQL Management Studio'yu açtım.SQL Server 2005 Veritabanı 'Kurtarma'

Bunun hakkında çok fazla bir şey bilmiyorum, çünkü genellikle işlem yapılmayan işlemlerle ilgili bir şey. Şimdi orada biliyorum herhangi bir kayıtsız olmayan işlemlerin başka bir şey olması gerekir. İlk önce, bunun ne gibi koşullar altında olduğunu bilmek isterim. İkincisi, bu devam ederken, kurtarma işlemini durdurmanın, hızlandırmanın ya da en azından ne kadar uzun bir süre sonra yardım edeceğinin bir yolu varsa işe yaramayacağım.

+0

Deneyimlerimde, büyük veritabanı (yaklaşık 100 GB) için sunucu çöktü (OS hatası veya güç kesintisi nedeniyle) aynı şeyi gördüm. Etkinlik görüntüleyicide bazı hata veya uyarı buldunuz mu? Kurtarma işlemini durdurmanın tek yolu sql sunucusunun kapatılmasıdır, ancak sunucu yeniden başlatıldığında ... kurtarma işlemi yeniden başlar! –

cevap

14

Kurtarma devam ederken SQL'i kapatmayın. Bitirsin. Hata kayıtlarını kontrol et. Bitmezse, yedeklemeden geri yükleyin.

+1

Buna da bir göz atın: http://www.sqlskills.com/BLOGS/PAUL/category/Bad-Advice.aspx –

+0

iyi bir cevap değil ama aldığım en iyi şey. Garip bir şey sadece yaptım ve sonra dbcc checkdb 'düz koştu ve kesinlikle yanlış bir şey yoktu. Her ikisinden de olmadı. Kim neyin olduğunu biliyor! – Stimul8d

+2

O zaman bir şey olabilirdi. Kurtarma, MSSQL hizmeti doğru şekilde sonlanmadığında ve veritabanları kontrol edilmediğinde genellikle olur, bu nedenle tüm günlükler tekrarlanır. Sunucuların öldüğü aşamada özellikle uzun süren bir işleminiz varsa, bunu yeniden işlemek zorunda kalacaktı. –

11

Etkinlik görüntüleyicisine bakarak ne kadar süreceğini öğrenebilirsiniz. Windows Log'larındaki Uygulama bölümünde, MSSQLSERVER'den EventID 3450 ile bilgi mesajlarını almanız gerekir. gibi bir şey: database 'XYZ' arasında

Recovery% 10 tamamlandı (yaklaşık 123456 saniye kalır) 'dir vs vs

ben (henüz) durdurmak için nasıl bilmiyorum korkuyorum.

+1

Tam bir cevap değil ama hepsi aynı işe yarar. Teşekkürler :-) – Stimul8d

+3

da, kurtarma durumunu görmek için bu betiği çalıştırabilirsiniz: http://timlaqua.com/2009/09/determining-how-long-a-database-will-be-in-recovery-sql-server- 2008 / – nanonerd