Microsoft, Microsoft SQL Server 2008 R2 Service Pack 1 (SP1) veya Microsoft SQL Server 2008 veya Microsoft SQL Server 2012 düzeltmelerini tek bir indirilebilir dosyada dağıtır. Düzeltmeler toplu olduğundan, her yeni sürüm önceki SQL Server 2008 R2 Service Pack 1 (SP1) veya SQL Server 2008 veya Microsoft SQL Server 2012 güncelleştirme sürümüyle birlikte gelen tüm düzeltmeleri ve tüm güvenlik güncelleştirmelerini içerir.
Belirtiler
Microsoft SQL Server 2008 R2 veya Microsoft SQL Server 2008 veya Microsoft SQL Server 2012'de bir veritabanını geri yüklemek uzun zaman alabilir.
Neden
Bu sorun, veritabanında çok sayıda VLF olduğunda Sanal Günlük Dosyası (VLF) listesinin oluşturulmasının uzun sürmesi nedeniyle oluşur.
Çözüm
Toplu güncelleştirme bilgileri
SQL Server 2012
Bu sorunun düzeltmesi ilk olarak SQL Server 2012 Toplu Güncelleştirme 1'de yayımlandı. Bu toplu güncelleştirme paketi hakkında daha fazla bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
2679368 SQL Server 2012 için toplu güncelleştirme paketi 1Not Derlemeler toplu olduğundan, her yeni düzeltme sürümü önceki SQL Server 2012 düzeltme sürümüne dahil edilen tüm düzeltmeleri ve tüm güvenlik düzeltmelerini içerir. Microsoft, bu düzeltmeyi içeren en son düzeltme sürümünü uygulamayı düşünmenizi önerir. Daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasına tıklayın:
2692828 SQL Server 2012 yayımlandıktan sonra yayımlanan SQL Server 2012 derlemeleri SQL Server 2012 yüklemesine SQL Server 2012 düzeltmesi uygulamanız gerekir.
SQL Server 2008 Service Pack 2
Bu sorunun düzeltmesi ilk olarak SQL Server 2008 Service Pack 2 için Toplu Güncelleştirme 8'de yayımlandı. Bu toplu güncelleştirme paketi hakkında daha fazla bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
2648096 SQL Server 2008 Service Pack 2 için toplu güncelleştirme paketi 8Not Derlemeler toplu olduğundan, her yeni düzeltme sürümü önceki SQL Server 2008 düzeltme sürümüne dahil edilen tüm düzeltmeleri ve tüm güvenlik düzeltmelerini içerir. Microsoft, bu düzeltmeyi içeren en son düzeltme sürümünü uygulamayı düşünmenizi önerir. Daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasına tıklayın:
2402659 SQL Server 2008 Service Pack 2 yayımlandıktan sonra yayımlanan SQL Server 2008 derlemeleri, belirli SQL Server hizmet paketleri için Microsoft SQL Server 2008 düzeltmeleri oluşturulur. SQL Server 2008 Service Pack 2 yüklemesine SQL Server 2008 Service Pack 2 düzeltmesi uygulamanız gerekir. Varsayılan olarak, bir SQL Server hizmet paketinde sağlanan tüm düzeltmeler sonraki SQL Server hizmet paketine eklenir.
SQL Server 2008 Service Pack 3
Bu sorunun düzeltmesi ilk olarak SQL Server 2008 Service Pack 3 için Toplu Güncelleştirme 3'te yayımlandı. Bu toplu güncelleştirme paketi hakkında daha fazla bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
2648098 SQL Server 2008 Service Pack 3 için toplu güncelleştirme paketi 3Not Derlemeler toplu olduğundan, her yeni düzeltme sürümü önceki SQL Server 2008 düzeltme sürümüne dahil edilen tüm düzeltmeleri ve tüm güvenlik düzeltmelerini içerir. Microsoft, bu düzeltmeyi içeren en son düzeltme sürümünü uygulamayı düşünmenizi önerir. Daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasına tıklayın:
2629969 SQL Server 2008 Service Pack 3 yayımlandıktan sonra yayımlanan SQL Server 2008 derlemeleri Microsoft SQL Server 2008 düzeltmeleri belirli SQL Server hizmet paketleri için oluşturulur. SQL Server 2008 Service Pack 3 yüklemesine SQL Server 2008 Service Pack 3 düzeltmesi uygulamanız gerekir. Varsayılan olarak, bir SQL Server hizmet paketinde sağlanan tüm düzeltmeler sonraki SQL Server hizmet paketine eklenir.
SQL Server 2008 R2 için toplu güncelleştirme paketi 11
Bu sorunun düzeltmesi ilk olarak Toplu Güncelleştirme 11'de yayımlandı. SQL Server 2008 R2 için bu toplu güncelleştirme paketini edinme hakkında daha fazla bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
2633145 SQL Server 2008 R2 için toplu güncelleştirme paketi 11Not Derlemeler toplu olduğundan, her yeni düzeltme sürümü önceki SQL Server 2008 R2 düzeltme sürümüne dahil edilen tüm düzeltmeleri ve tüm güvenlik düzeltmelerini içerir. Bu düzeltmeyi içeren en son düzeltme sürümünü uygulamayı göz önünde bulundurmanızı öneririz. Daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasına tıklayın:
981356 SQL Server 2008 R2 yayımlandıktan sonra yayımlanan SQL Server 2008 R2 derlemeleri
SQL Server 2008 R2 SP1 için toplu güncelleştirme paketi 4
Bu sorunun düzeltmesi ilk olarak Toplu Güncelleştirme 4'te yayımlandı. SQL Server 2008 R2 SP1 için bu toplu güncelleştirme paketini edinme hakkında daha fazla bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
2633146 SQL Server 2008 R2 SP1 için toplu güncelleştirme paketi 4Not Derlemeler toplu olduğundan, her yeni düzeltme sürümü önceki SQL Server 2008 R2 SP1 düzeltme sürümüyle birlikte gelen tüm düzeltmeleri ve tüm güvenlik düzeltmelerini içerir. Bu düzeltmeyi içeren en son düzeltme sürümünü uygulamayı göz önünde bulundurmanızı öneririz. Daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasına tıklayın:
2567616 SQL Server 2008 R2 SP1 yayımlandıktan sonra yayımlanan SQL Server 2008 R2 derlemeleri
Durum
Microsoft bu sorunun "Aşağıdakilere Uygulanır" bölümünde listelenen Microsoft ürünlerinde bulunduğunu onaylamıştır.
Ek Bilgi
SQL hata günlüğü dosyasını gözden geçirip her işlem günlüğü yedekleme dosyasındaki günlük sırası numarasını (LSN) bularak VLF segmentlerinin sayısını kontrol edebilirsiniz. LSN'lerdeki iki nokta üst üste simgesinden önceki ilk basamaklar LSN'nin sayısına karşılık gelir.Örneğin, LSN'nin ilk bilgilendirme iletisindeki ilk sayı 1'dir. Ancak, LSN için ikinci bilgilendirme iletisindeki ilk sayı 100001. Bu senaryoda, ilk bilgilendirici ileti ile ikinci bilgilendirme iletisinin zamanı arasında 100.000 VFS kullanılır. Bu nedenle, birçok Sanal Günlük Files (VLFS) içeren günlüğe kaydedilen parçalanmış işlem günlüğü aşağıdakine benzer:
{Günlük yedeklendi. Veritabanı: mydbname, oluşturma tarihi(saati): 2010/07/08(12:36:46), ilk LSN: 1:5068:70, son LSN: 1:5108:1, döküm cihazı sayısı: 1, cihaz bilgileri: (FILE=1, TYPE=DISK: {'C:\folder\logbackup1.trn'}). Bu yalnızca bilgilendirme amaçlı bir iletidir. Kullanıcı eylemi gerekmez.Günlük yedeklendi. Veritabanı: mydbname, oluşturma tarihi(saati): 2010/07/08(15:36:46), ilk LSN: 100001:5108:1, son LSN: 100002:5108:1, döküm cihazı sayısı: 1, cihaz bilgileri: (FILE=2, TYPE=DISK: {'C:\folder\logbackup2.trn'}). Bu yalnızca bilgilendirme amaçlı bir iletidir. Kullanıcı eylemi gerekmez.}
Başvurular
Günlük sırası numaraları (LSN) hakkında daha fazla bilgi için aşağıdaki MSDN web sitesini ziyaret edin:
Günlük dizisi numaraları hakkında genel bilgiler
Günlük dosyası yapısının veritabanı kurtarma süresini nasıl etkileyebileceği hakkında daha fazla bilgi için aşağıdaki MSDN web sitesini ziyaret edin:
Günlük dosyası yapısının veritabanı kurtarma süresini nasıl etkileyebileceğiİşlem günlüğü VDF'leri hakkında daha fazla bilgi için aşağıdaki MSDN web sitesini ziyaret edin:
Geçici Çözüm
-
Geri yükleme veya kurtarma işleminin tamamlanmasınıbekleyin Veritabanını geri yüklerken veya kurtarırken yavaş performansla karşılaşan kurtarılmamış bir veritabanınız varsa, geri yükleme veya kurtarma işleminin tamamlanmasını beklemeniz gerekebilir. Örneğin, kurtarılamayan bir veritabanının çevrimdışı durumunu veya kurtarma durumunu SQL Server Management Studio (SSMS) içinde görebilirsiniz. SQL Server durdurulması genellikle yavaş kurtarma için hiçbir rahatlama sağlar ve aynı kurtarma analizi aşamasını, yineleme aşamasını veya geri alma aşamasını yinelemek daha uzun sürebilir.
-
Binlerce VLIFiçeren işlem günlüğü dizisini geri yüklemekten kaçının Bir veritabanını yedekleme dosyası kullanarak geri yüklerken ve kurtarırken yavaş performansla karşılaşırsanız, binlerce VLF içeren işlem günlüğü dizilerini geri yüklemekten kaçınabilirsiniz. Kaydedilen sanal günlük dosyalarının en çok bulunduğu yedekleme dosyasını belirlemek için, günlük yedekleme dosyalarında FirstLSN ve LastLSN sütunlarını görmek için aşağıdaki deyimi kullanın: HEADERONLY FROM DISK='C:\folder\file.trn'Günlük yedekleme dosyalarını geri yüklememeye karar vekleyebilirsiniz. Öte yandan, işlem günlüklerinin yüksek oranda parçalanmış kısımlarını önlemek için RESTORE komutlarındaki STOP AT deyimini de kullanabilirsiniz. Hata kurtarma senaryosu sırasında günlük dizilerini en son noktaya kadar tamamen geri yüklemezseniz, veritabanınızda veri kaybı SQL Server oluşur. Bu veri kaybı, tüm işlemlerin tutulmaması nedeniyle oluşur. Bu nedenle, bir iş denge kararı vardır. Yüksek oranda parçalanmış bir işlem günlüğünü tamamen geri yükleyebilirsiniz. Ancak bu işlem birkaç saat sürebilir. İsterseniz, günlüğün yüksek oranda parçalanmış bölümünden önce kurtarmayı durdurmak için kurtarmadaki STOP AT deyimini de kullanabilirsiniz. Ancak, atladığınız tüm eksik işlemler kaybolur.Not Bu düzeltmeyi yüklemeden, SQL Server yeniden başlattıktan sonra hızlandırılmış kurtarma için genellikle güvenli bir başvuru yoktur. SQL Server günlük dosyalarını analiz etmek, tamamlanmış işlemleri yinelemek ve sonra veritabanını güvenli bir şekilde çevrimiçi yapmak için kurtarmayı tamamlamak için tamamlanmamış işlemleri geri almak için VLF'lerin listesini bulması gerekir. Kurtarma sırasında işlemleri güvenli bir şekilde atlayamazsınız.