Şu anda çevrimdışısınız; İnternet'in yeniden bağlanması bekleniyor

SQL Server'ın farklı bir yapı için sistem veritabanı yedeklerini geri yükleyemiyor

ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.

Makalenin İngilizcesi aşağıdaki gibidir:264474
Belirtiler
Yapı ' farklı olan bir sunucu yapı üzerindeki bir sistem (ana, modelini veya msdb) veritabanının yedeğini geri yükleyemezseniz, yedeğin ilk gerçekleştirildi üzerinde. Bu tür bir geri yükleme gerçekleştirme girişimini gerçekleşmesi aşağıdaki hata iletisini neden olur:
Sunucu: <a1>hata</a1> 3168, Düzey 16, State 1, 1 satır
Bu sunucudan (134217920) (134217904) sunucusu farklı bir sürümü tarafından oluşturulduğundan aygıt d:\temp\master.bak sistem veritabanı yedeğinin geri yüklenemez.
Sunucu: <a1>hata</a1> 3013, Düzey 16, State 1, 1 satır
RESTORE DATABASE anormal olarak sona eriyor.
Neden
Sistem veritabanları için veritabanı şeması, sunucu yapýlar arasında değiştirilen olanaklıdır. Bu değişiklik, şemadaki tüm tutarsızlıkları neden olmak için RESTORE komutu yerine getirir ilk çekleri yedek dosya sunucusu yapı numarası ve kullanıcıya, geri yükleme gerçekleştirmeye çalışıyor sunucunun yapı numarası karşılaştırmasını biridir. Iki yapýlar farklıysa, bu hata iletisi oluşuyor ve geri yükleme işlemi anormal olarak sona erdirir.

Not Bir hizmet paketi veya düzeltme yüklemek oluşturmak değişiklikler sunucu yapı numarası ve her zaman sunucu yapýlar artımlı olur.

Aşağıda, birkaç senaryolarda, bu sorun oluşabilir:
  • Bir kullanıcı, sunucu üzerinde bir sistem veritabanı üzerinde farklı bir sunucu yapýlar A ve B B. sunucuları olan sunucuda gerçekleştirilen bir yedekten geri yüklemek çalışır. Örneğin, sunucu üzerinde bir RTM yapý olabilir ve sunucu B'YI 1 (SP1) yapı bir hizmet paketi olabilir.
  • Bir kullanıcı, bir sistem veritabanı aynı sunucuda gerçekleştirilen bir yedekten geri yüklemek çalışır. Ancak, yedek oluştuğunda, sunucu farklý bir yapý çalışıyordu. Diğer bir deyişle, bu yana, yedekleme işlemi gerçekleştirildiği sunucu yükseltildi.
Pratik Çözüm
Böyle bir durumda geri yükleme işlemi oldukça ilgili son çare olarak kullanılacak ise.

Bu soruna geçici bir çözüm bulmak, çalıştığınız ilk adımı, geçerli sunucu ve SQL Server yapı belirlemektir, yedeklemenin gerçekleştirildiği üzerinde oluşturun.

Microsoft SQL Server 2000 ve Microsoft SQL Server 2005'in geçerli SQL Server yapı belirlemek için aşağıdaki iki yöntemi sağlar:
  • Yöntem 1
    SELECT @@version
    Benzer metin bu kodunu döndürür:
    Microsoft SQL Server  2000 - 8.00.192 (Intel X86)Jul 31 2000 15:47:46Copyright (c) 1988-2000 Microsoft Corporation Enterprise Edition on Windows NT 5.0 (Build 2195: )(1 row(s) affected)
  • Yöntem 2
    SELECT SERVERPROPERTY('ProductVersion')
    Benzer metin bu kodunu döndürür:
    8.00.192(1 row(s) affected)
Bu makalede, "SQL Server oluştur", bu makalenin geri kalanında olarak bu yapı numarası başvurulmaktadır.

Yapı belirleyebilirsiniz, yedek dosyayı aşağıdaki komutu kullanarak Yedeklemenin gerçekleştiği:
RESTORE HEADERONLYFROM DISK = 'd:\temp\master176.bak'
oluşturulan çıktıda aşağıdaki üç (3) sütunları sunucu yapı bilgileri sağlar:
SoftwareVersionMajor SoftwareVersionMinor SoftwareVersionBuild-------------------- -------------------- --------------------8                    0                    176The actual output has several other columns; however, only the columns that are of interest are included in this article for clarity.
amacıyla, bu makalede, "Yedekleme oluştur" için bu makalenin geri kalanında olarak bu yapı numarası başvurulmaktadır.

"Yedekleme oluştur" 8.00.176 iken örnekte, "SQL Server oluştur" 8.00.192, var. Iki yapýlar farklı olduğundan, geri yükleme işlemine izin verilmez ve 3168 hata iletisi oluşuyor.

Geri yükleme işlemi, bu soruna geçici bir çözüm bulmak için sistem veritabanı kullanıcı bağlı geri yükleme çalışıyor değişir. Koruyucu bir önlem olarak, Microsoft, yaptığınız tüm varolan veritabanlarınızı (sistem ve kullanıcı veritabanları), önce yedeğini adımları biriyle devam önerir.

Geri yükleme girişimi ana veritabanını, başarılı bir geri yükleme girişimi için aşağıdaki adımları kullanın:
  1. Depolanan sp_detach_db</a1> yordamı kullanarak sistemde kayıtlı tüm kullanıcı veritabanlarının bağlantısını kesin. Kullanıcı veritabanlarını ayırma hakkında daha fazla bilgi için SQL Server 2000 Books Online'da "Databases ekleme ve ayırma" konusuna başvurun. SQL Server 2005 kullanıyorsanız, bkz: "Detaching ve bir veritabanını iliştirmek" konusundaki SQL Server 2005 Books Online'da. Aşağıdaki sorgu bir Çapraz denetimi olarak sistem üzerinde tüm kullanıcı veritabanlarının bir listesini verir:
    SELECT name FROM SYSDATABASESWHERE dbid > 4
  2. Aşağıdaki komutları kullanarak sistemde msdb ve modelini veritabanlarını yedekle:
    BACKUP DATABASE MSDB TO DISK = '<backup device>' WITH NOINIT, NOSKIPBACKUP DATABASE MODEL TO DISK = '<backup device>' WITH NOINIT, NOSKIP
  3. "Yedekleme oluştur", "SQL Server Oluştur'den" büyük tüm gerekli hizmet paketlerini yüklemek veya "Yedek oluştur için" sunucu yazılımı ileri doğru kaydırmak için düzeltme oluşturur, daha önce belirlendi. Sonra adım 6'ya geçin.
  4. SQL Server 2000 veya SQL Server 2005'i kaldırın. SQL Server 2000 kaldırma hakkında daha fazla bilgi için SQL Server 2000 Books Online'da "SQL Server 2000'i kaldırmak yükleme" konusuna başvurun.
  5. SQL Server 2000'i yeniden yükleyin veya "Yedek oluştur için" sunucu yazılımı ileri doğru kaydırmak için SQL Server 2005 ve tüm gerekli hizmet paketlerini veya düzeltme oluşturur, daha önce belirlendi.
  6. Sunucuyu tek kullanıcı modunda başlatın ve bu derleme için yedek dosyayı kullanarak ana veritabanını geri yükleyin. Master veritabanını geri yükleme hakkında yönergeler için SQL Server 2000 Books Online'da "Asıl geri veritabanı geçerli bir yedekten" konusuna bakın. SQL Server 2005 kullanıyorsanız, SQL Server 2005 Books Online'da "master veritabanını geri yükleme" konusuna bakın.
  7. Master veritabanını başarıyla geri yüklemenizden sonra kapatmalı ve SQL Server hizmetini yeniden başlatın.
  8. "Yedekleme oluştur", "SQL Server Oluştur'den" büyükse, 10. adıma gidin.
  9. Tüm hizmet paketlerini veya düzeltme yapýlar "SQL Server yapı" için sunucu yazılımı ileri doğru kaydırmak için gerekli yeniden uygulayın.
  10. 2. Adımda oluşturduğunuz yedek msdb ve modelini veritabanlarını geri yükleme. SQL Server 2005 kullanıyorsanız, SQL Server 2005 Books Online'da "modelini ve msdb veritabanlarını geri yükleme" konusuna bakın.
  11. Tüm kullanıcı veritabanlarının sp_attach_db saklı yordamını kullanarak yeniden bağlayın. Veritabanını yeniden iliştirin konusunda daha fazla bilgi için SQL Server 2000 Books Online'da "Databases ekleme ve ayırma" konusuna başvurun.
Ana yedeğinin gerçekleştirildi sonra ana veritabanına yapılan değişiklikler şu anda bulunduğunuz kaybolur ve yeniden el ile geçerli gerekir.
Modeli veya msdb veritabanını geri yükleme işlemi çalışırsanız, bu soruna geçici bir çözüm bulmak için aşağıdaki adımları kullanın. Örnek Bu yordamla göstermek için <a0></a0>, bu makalede, bu veritabanları için biri söyleyin msdb özgün sunucuya başvurur, sunucu A ' geri vermektir. Bu yordam, bir başka sunucu 3168 hata iletisiyle karşılaşmamak için B üzerinde SQL Server yükleme içerir. Kuşkusuz, yalnızca daha eski bir yapý msdb için geçerli bir yedekten Server'a sahip olduğunuz varsayılır
  1. Sunucu B (sunucu olarak aynı harmanlama ayarlarına) ve hizmet paketlerini veya düzeltme yapýlar "Yedekleme oluştur" sunucu yazılımı almak gerekli SQL Server 2000'i yükleyin.
  2. SQL Server 2000 yüklendikten sonra SQL Server hizmeti başlatılamıyor ve msdb veritabanını yedek dosyadan geri yüklemeye. Sunucu oluşturma, geri yükleme çalışıyor ve yapı, yedeklemenin gerçekleştirildiği üzerinde aynıdır.
  3. "Yedekleme oluştur", "Geçerli Oluştur'den" büyükse, adım 5'e gidin.
  4. Başarılı bir geri yükleme, "Geçerli oluştur için" sunucu yazılımı ileri doğru kaydırmak gerekli tüm hizmet paketlerini veya düzeltme uygulayarak yükseltme SQL Server 2000 üzerinde sunucu B oluşturur.
  5. Yükseltme tamamlandıktan sonra msdb</a0> veritabanının yedekleme gerçekleştirin. BIR sunucuda bu yedekten geri yükleme olanağınız olduğunuz artık considering, yapı sunucusunun yedekleme gerçekleştirildi ve "Geçerli oluştur" aynıdır.
Aynı yordamı aynı zamanda model veritabanını çalışır. Yeniden yedeklemenin gerçekleştirildiği olduğundan, bu veritabanları için yapılan tüm değişiklikler kaybolur ve yeniden el ile geçerli gerekir.
Daha fazla bilgi
Geçerli, geçerli bir yedekleme stratejisini sağlamak için her zaman iyi bir uygulamadır. Iyi bir yedekleme stratejisini önemlidir neden bu kısıtlama henüz başka bir örnektir. Bu kısıtlama light, bir hizmet paketi veya düzeltme bir yapý yüklediğinizde Sunucunuzu yükseltmek gibi sistem veritabanlarınızı yedeğini gerçekleştirmelisiniz.

Uyarı: Bu makalenin çevirisi otomatik olarak yapılmıştır

Özellikler

Makale No: 264474 - Son İnceleme: 02/22/2007 22:33:50 - Düzeltme: 6.4

Microsoft SQL Server 2000 Standard Edition, Microsoft SQL Server 2005 Standard Edition, Microsoft SQL Server 2005 Developer Edition, Microsoft SQL 2005 Server Enterprise, Microsoft SQL Server 2005 Express Edition, Microsoft SQL 2005 Server Workgroup

  • kbmt kbbackup kbprb KB264474 KbMttr
Geri bildirim
/html>