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

Makale çevirileri Makale çevirileri
Makale numarası: 264474 - Bu makalenin geçerli olduğu ürünleri görün.
Hepsini aç | Hepsini kapa

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:46
    Copyright (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 HEADERONLY
FROM 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                    176

The 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 SYSDATABASES
    WHERE dbid > 4
  2. Aşağıdaki komutları kullanarak sistemde msdb ve modelini veritabanlarını yedekle:
    BACKUP DATABASE MSDB TO DISK = '<backup device>' WITH NOINIT, NOSKIP
    BACKUP 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.

Özellikler

Makale numarası: 264474 - Last Review: 22 Şubat 2007 Perşembe - Gözden geçirme: 6.4
Bu makaledeki bilginin uygulandığı durum:
  • 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
Anahtar Kelimeler: 
kbmt kbbackup kbprb KB264474 KbMttr
Machine-translated Article
Ö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

Geri Bildirim Ver

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com