Sistem veritabanları yeniden oluşturuluyor

Sistem veritabanları yeniden, Bozulması sorunlarını düzeltmek için ana, modeli, msdb, veya kaynak sistem veritabanları veya sunucu düzey varsayılan değiştirmek için harmanlama.Bu konu, sistem veritabanları yeniden oluşturmak için adım adım yönergeler sağlar.

Sistem veritabanları yeniden oluşturmadan önce

Zaman master, model, msdb, ve tempdb sistem veritabanları yeniden, veritabanlarını bırakılır ve yeniden özgün kendi konum.Yeniden oluşturma deyim içinde yeni bir alfabe düzeni belirtilirse, sistem veritabanları bu harmanlama ayarı kullanılarak oluşturulur.Bu veritabanları için kullanıcı değişiklikler kaybolur.Kullanıcı tanımlı nesneleri gibi olabilir master veritabanı, zamanlanmış işleri msdb, ya da varsayılan veritabanı ayarlarında yapılan değişiklikler model veritabanı.

Şunları yapabilirsiniz emin olmak için sistem veritabanları yeniden oluşturmadan önce aşağıdaki görevleri yerine geri yükleme sistem veritabanları geçerli ayarlarına.

  1. Tüm Sunucu bazındaki yapılandırma değerlerini kaydedin.

    SELECT * FROM sys.configurations;
    
  2. Tüm hizmet paketlerini ve düzeltmeleri için uygulanan kayıt örnek , SQL Server ve geçerli harmanlama.Sistem veritabanları yeniden oluşturuluyor sonra bu güncelleştirmeleri yeniden uygulamalısınız.

    SELECT
    SERVERPROPERTY('ProductVersion ') AS ProductVersion,
    SERVERPROPERTY('ProductLevel') AS ProductLevel,
    SERVERPROPERTY('ResourceVersion') AS ResourceVersion,
    SERVERPROPERTY('ResourceLastUpdateDateTime') AS ResourceLastUpdateDateTime,
    SERVERPROPERTY('Collation') AS Collation;
    
  3. Tüm veri ve günlük dosyaları sistem veritabanları için geçerli konumuna kaydedin.Tüm sistem veritabanları, sistem veritabanları yeniden oluşturuluyor özgün konumlarına yükler.Sistem veritabanı veri veya günlük dosyaları farklı bir konuma taşınmış, dosyaları yeniden taşımanız gerekir.

    SELECT name, physical_name AS current_file_location
    FROM sys.master_files
    WHERE database_id IN (DB_ID('master'), DB_ID('model'), DB_ID('msdb'), DB_ID('tempdb'));
    
  4. Geçerli bulun yedek , master, model, ve msdb veritabanları.

  5. örnek , SQL Server Olarak yapılandırılmış gibi bir çoğaltma dağıtıcı bulun geçerli yedeğini dağıtım veritabanı.

  6. Sistem veritabanları yeniden oluşturmak için uygun izinlere sahip olun.Bu işlemi gerçekleştirmek için üye olmanız sysadmin sabit sunucu rolü.Daha fazla bilgi için bkz: Sunucu düzey roller.

  7. Kopyalar doğrulamak master, model, msdb dosyaları mevcut yerel sunucu veri ve günlük şablonuŞablon dosyaları için varsayılan konum C:\Program Files\Microsoft sql Server\MSSQL10_50.MSSQLSERVER\MSSQL\Binn\Templates ' dir.Bu dosyalar yeniden oluşturma işlemi sırasında kullanılan ve başarılı olmak kurulum için mevcut olması gerekir.Eksik olduğunda, Kur'ın onarım özelliğini çalıştırma veya dosyaları el ile yükleme medyanızdan kopyalamak.Yükleme medyası dosyalarını bulmak için (x 86, x 64 ve IA64) uygun platform dizinine gidin ve sonra için setup\sql_engine_core_inst_msi\Pfiles\SqlServr\MSSQL gidin.X\MSSQL\Binn\Templates.

Sistem veritabanları yordam yeniden oluştur

Aşağıdaki yordamı oluşturur master, model, msdb, ve tempdb sistem veritabanları.Sistem veritabanları yeniden oluşturulması için belirtilemez.Etkin düğümde kümelenmiş örnekleri için bu yordamı yapılması ve SQL Server karşılık gelen küme uygulama grubundaki kaynak gerekir alınabilir çevrimdışı kullanmadan önce yordamı.

Bu yordamı yeniden resource veritabanı.Bölümüne bakın, "kaynak veritabanı yordam yeniden oluştur" Bu konuda daha sonra.

Sistem veritabanları için yeniden inşa etmek için bir örnek sql Server'ın:

  1. Ekle SQL Server 2008 R2 yükleme medyasını sürücüye.

  2. Bir komut istemi penceresinde aşağıdaki komutu girin.Köşeli ayraçlar, isteğe bağlı parametreleri belirtmek için kullanılır.Köşeli ayraçlar girmeyin.Kullanıcı hesabı denetimi (uac) Windows Vista işletim sistemini kullanarak etkin olduğunda, Kur programını çalıştırmadan yükseltilmiş ayrıcalıklar gerektiriyor.komut istemi istemini yönetici olarak çalıştırmanız gerekir.

    Kurulum/QUIET/eylem REBUILDDATABASE/InstanceName = InstanceName = /SQLSYSADMINACCOUNTS = hesapları [/ SAPWD = güçlüparola] [/SQLCOLLATION CollationName =]

    Parametre adı

    Açıklama

    / QUIET veya/q

    Kurulum herhangi bir kullanıcı arabirim çalışması gerektiğini belirtir.

    / EYLEM REBUILDDATABASE =

    Kur sistem veritabanları yeniden belirtir.

    / INSTANCENAME =ÖrnekAdı

    örnek adı SQL Server.varsayılan örnek için mssqlserver girin.

    / SQLSYSADMINACCOUNTS =hesapları

    Windows grupları veya tek tek hesapları eklemek için belirtir sysadmin sabit sunucu rolü.Birden fazla hesabı belirtilirken, hesapları boş bir boşlukla ayırın.Örneğin, BUILTIN\Administrators MyDomain\MyUser girin.Hesap adı içinde boş bir alanı içeren bir hesap belirtirken, hesabı çift tırnak işareti içine alın.Örneğin, girmek nt authority\system.

    [ /SAPWD=StrongPassword ]

    Specifies the password for the SQL Server sa account.Bu parametre gereklidir örnek karma kimlik doğrulama kullanır (SQL Server ve Windows kimlik doğrulaması) modu.

    Güvenlik notuGüvenlik Notu
    The sa account is a well-known SQL Server account and it is often targeted by malicious users.Güçlü bir parola kullanmak çok önemlidir sa oturum açma.

    Bu parametre için Windows kimlik doğrulaması modunu belirtin.

    [ /SQLCOLLATION=CollationName ]

    Yeni bir sunucu düzey belirtir harmanlama.Bu parametre isteğe bağlıdır.Sunucunun geçerli harmanlama belirtilmediği durumlarda kullanılır.

    Önemli notÖnemli
    Sunucu değiştirmedüzey harmanlama varolan kullanıcı veritabanı harmanlama değiştiremezsiniz.Tüm yeni oluşturulan kullanıcı veritabanları yeni kullanacağı harmanlama varsayılan olarak.

    Daha fazla bilgi için bkz: Sunucu harmanlaması değiştirme ve ayarlama.

  3. Kur sistem veritabanları yeniden oluşturuluyor tamamlandığında hiçbir ileti ile komut istemi istemine döndürür.İşlem başarıyla tamamlandı doğrulamak için Summary.txt günlük dosyasını inceleyin.Bu dosya C:\Program Files\Microsoft sql Server\100\Setup Bootstrap\Logs bulunur.

Görevleri post-Rebuild

Veritabanını yeniden inşa etmek sonra aşağıdaki ek görevleri gerçekleştirmeniz gerekebilir:

  • En son tam yedeğini geri master, model, ve msdb veritabanları.Daha fazla bilgi için bkz: Yedekleme ve geri yükleme sistem veritabanları için ilgili konular.

    Önemli notÖnemli

    Değiştirdiyseniz, sunucu harmanlama düzeni, sistem veritabanları geri yükleme yükleyin.Böylece yeni alfabe ile önceki harmanlama ayarlarının yerini alır.

    Bir yedekleme seçeneği yoksa veya geri yüklenmiş yedek geçerli değilse, eksik olan tüm girdileri yeniden oluşturun.Örneğin, kullanıcı veritabanlarını, yedek aygıtları için eksik olan tüm girişleri yeniden SQL Server oturumları, bitiş noktaları ve böyle devam eder.Girişleri yeniden oluşturmak için en iyi oluşturuldukları orijinal komut dosyalarını çalıştırmak için yoludur.

Güvenlik notuGüvenlik Notu

Kendi tarafından değiştirilmesini engellemek için komut dosyalarınızı güvenli öneririz yetkisiz kişiler tarafından.

Kaynak veritabanı yordam yeniden oluştur

Aşağıdaki yordamı oluşturur resource Sistem veritabanı.Ne zaman yeniden resource veritabanı, tüm hizmet paketlerini ve düzeltmeleri kaybolur ve bu nedenle yeniden.

Kaynak sistem veritabanını yeniden oluşturmak için:

  1. Launch SQL Server Kur programından (setup.exe) SQL Server 2008 R2 dağıtım ortamı.

  2. Sol gezinti alanı, Bakımve i onarım.

  3. Destek kural ve dosya yordamlarını çalıştırmak sisteminizin Önkoşullar yüklü olduğundan ve bilgisayar kurulum doğrulama kuralları geçen emin olmak için Kur.' I Tamam veya Yükleme devam etmek için.

  4. Seçin örnek üzerinde sayfa, onarmak, ve sonra kopyayı seçin İleri.

  5. Onarım kuralları işlem doğrulamak için çalışır.Devam etmek için'ı İleri.

  6. Dan onarmaya hazır sayfa,'ı onarım.Tam sayfa, operasyonun bittiğini gösterir.

Yeni bir msdb veritabanını oluşturma

If the msdb database is damaged and you do not have a backup of the msdb database, you can create a new msdb by using the instmsdb script.

Dikkat notuDikkat

Yeniden inşa etmek msdb kullanarak veritabanı instmsdb komut dosyası ortadan kaldırmak içinde depolanan tüm bilgileri msdb işleri, uyarı, işleçleri, bakım planları, yedek geçmiş, ilke tabanlı yönetimi ayarları, Database Mail, performans veri ambarı gibi vs.

  1. Bağlanan tüm hizmetleri durdurun Veritabanı Altyapısıdahil SQL Server Aracısı, SSRS, SSISve kullanan tüm uygulamaları SQL Server olarak veri deposu.

  2. Başlat SQL Server komutunu kullanarak komut satırından: NET START MSSQLSERVER /T3608

    Daha fazla bilgi için bkz: Nasıl yapılır: Bir örnek, SQL Server (net komutlar) Başlat.

  3. Başka bir komut satırı penceresinde ayırmak msdb aşağıdaki komutu çalýþtýrarak veritabanı değiştirme <servername> örnek ile SQL Server: SQLCMD -E -S<servername> -dmaster -Q"EXEC sp_detach_db msdb"

  4. Windows Gezgini'ni kullanarak yeniden adlandırma msdb veritabanı dosyaları.VERİ alt klasör için bunlar varsayılan olarak SQL Server örnek.

  5. Kullanarak SQL Server Configuration Manager, durdurma ve yeniden başlatma Veritabanı Altyapısı normal olarak hizmet.

  6. Bir komut satırı penceresinde bağlanmak SQL Server ve komut yürütmek: SQLCMD -E -S<servername> -i"C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Install\instmsdb.sql" -o" C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Install\instmsdb.out"

    Yerine <servername> örnek ile Veritabanı Altyapısı.Dosya sistemini kullanan yol örneğinin SQL Server.

  7. Windows Not Defteri'ni kullanarak açın instmsdb.out dosya ve çıktı hataları için denetleyin.

  8. Hizmet paketlerini veya düzeltme yüklü yeniden uygulayın örnek.

  9. Depolanan kullanıcı içerik yeniden msdb işleri, uyarı gibi veritabanı, vs.

  10. Yedekleme msdb veritabanı.

Rebuild hatalarında sorun giderme

Sözdizimi ve diğer çalışma -saat hataları, komut istemi penceresinde görüntülenir.Kur deyim aşağıdaki sözdizimi hatalarını inceleyin:

  • Her parametre adının önünde eğik çizgi işareti (/) eksik.

  • Parametre adı ve parametre değeri arasında eşittir işareti (=) eksik.

  • Parametre adı eşittir işareti arasındaki boşluklar varlığını.

  • Virgül (,) varlığını veya sözdiziminde belirtilen diğer karakterler.

Yeniden oluşturma işlemi tamamlandıktan sonra İnceleme SQL Server günlükleri için tüm hataları.Varsayılan günlük konumu C:\Program Files\Microsoft sql Server\100\Setup Bootstrap\Logs dizinidir.İçeren günlük dosyasını bulmak için sonuçlar yeniden oluşturma işleminin Logs klasöründe bir komut istemi satırından dizinleri değiştirmek ve çalıştırın findstr /s RebuildDatabase summary*.*.Bu aramayı içeren günlük dosyaları işaret edecek sonuçlar , sistem veritabanları yeniden oluşturuluyor.Günlük dosyalarını açın ve bunları ilgili hata iletilerini inceleyin.

Ayrıca bkz.

Kavramlar

Değişiklik Geçmişi

Yanlış bilgi ÖRNEKADI açıklamasına kaldırıldı.Adlandırılmış örnek sunucu adı belirtilmesi gerekmez.

En son hizmet paketi ve ilgili düzeltmeleri Post-Rebuild görevlerden uygulamak için ihtiyaç kaldırıldı.

Sistem veritabanları yordam yeniden bölümünün 1. adımda yerel sunucudan Setup.exe dosyasına işaret edecek şekilde yönergeleri kaldırıldı.

Yeni bir msdb veritabanını oluşturma ile ilgili bölümü eklenmiştir.