Aracılığıyla paylaş


Ana veritabanını geri yükleme (Transact-SQL)

Şunlar için geçerlidir: SQL Server

Bu makalede veritabanının master tam veritabanı yedeğinden nasıl geri yükleneceği açıklanmaktadır.

Uyarı

Olağanüstü durum kurtarma durumunda veritabanının master geri yüklendiği örnek, özgün veritabanıyla mümkün olduğunca tam eşleşmeye yakın olmalıdır. En azından bu kurtarma örneği aynı sürüm, sürüm ve düzeltme eki düzeyinde olmalı ve özgün örnekle aynı özellik seçimine ve aynı dış yapılandırmaya (konak adı, küme üyeliği vb.) sahip olmalıdır. Aksi takdirde, tutarsız özellik desteğiyle tanımlanmamış SQL Server örneği davranışına neden olabilir ve uygulanabilir olduğu garanti edilmez.

master veritabanını geri yükleme

  1. Sunucu örneğini tek kullanıcı modunda başlatın.

    -m veya -f başlangıç parametrelerini kullanarak SQL Server'ı başlatabilirsiniz. Başlangıç parametreleri hakkında daha fazla bilgi için bkz. Veritabanı Altyapısı Hizmeti başlatma seçenekleri.

    Komut isteminden aşağıdaki komutları çalıştırın ve yerine MSSQLXX.instance uygun klasör adını kullandığınızdan emin olun:

    cd C:\Program Files\Microsoft SQL Server\MSSQLXX.instance\MSSQL\Binn
    sqlservr -c -f -s <instance> -mSQLCMD
    
    • -mSQLCMD parametresi yalnızca sqlcmd'nin SQL Server'a bağlanabilmesini sağlar.
    • Varsayılan örnek adı için -s MSSQLSERVER
    • -c başlangıç süresini kısaltmak için Service Control Manager'ı atlamak için SQL Server'ı bir uygulama olarak başlatır

    BOZUK master bir veritabanı nedeniyle SQL Server örneği başlatılamıyorsa, önce sistem veritabanlarını yeniden oluşturmanız gerekir. Daha fazla bilgi için bkz. Sistem veritabanlarını yeniden oluşturma.

  2. Başka bir komut istemi penceresinden sqlcmd kullanarak SQL Server'a bağlanın:

    sqlcmd -S <instance> -E -d master
    
  3. tam veritabanı yedeklemesini mastergeri yüklemek için aşağıdaki RESTORE DeyimleriTransact-SQL deyimini kullanın:

    RESTORE DATABASE master FROM <backup_device> WITH REPLACE;
    

    seçeneği, REPLACE aynı ada sahip bir veritabanı zaten mevcut olsa bile SQL Server'a belirtilen veritabanını geri yüklemesini sağlar. Varsa, mevcut veritabanı silinir. Tek kullanıcı modunda, RESTORE DATABASE deyimini sqlcmd yardımcı programında girmenizi önermekteyiz. Daha fazla bilgi için bkz . sqlcmd kullanma.

    Önemli

    Geri yüklendikten sonra, master SQL Server örneği kapatılarak sqlcmd işlemi sonlandırılır. Sunucu örneğini yeniden başlatmadan önce tek kullanıcılı başlangıç parametresini kaldırın. Daha fazla bilgi için bkz. SQL Server Configuration Manager:sunucu başlatma seçeneklerini yapılandırma.

  4. Herhangi bir başlangıç parametresi kullanmadan sunucu örneğini normal bir hizmet olarak yeniden başlatın.

  5. Diğer veritabanlarını geri yükleme, veritabanları ekleme ve kullanıcı uyuşmazlıklarını düzeltme gibi diğer kurtarma adımlarına devam edin.

Örnekler

Aşağıdaki örnek, veritabanını varsayılan sunucu örneğine geri yükler master . Örnekte, sunucu örneğinin zaten tek kullanıcı modunda çalıştığı varsayılır. Örnek sqlcmd'yi başlatır ve bir RESTORE DATABASE disk cihazından tam veritabanı yedeklemesini master geri yükleyen bir deyimi yürütür: Z:\SQLServerBackups\master.bak.

Adlandırılmış örnek için sqlcmd komutunun seçeneğini belirtmesi -S<computer-name>\<instance-name> gerekir.

C:\> sqlcmd
1> RESTORE DATABASE master FROM DISK = 'Z:\SQLServerBackups\master.bak' WITH REPLACE;
2> GO