Sistem veritabanlarını taşıma

Bu konuda sistem veritabanlarını taşımak açıklar SQL Server. Hareketli sistem veritabanları aşağıdaki durumlarda yararlı olabilir:

  • Hata kurtarma. Örneğin, veritabanı, şüpheli modunda veya donanım hatası nedeniyle kapatıldı.

  • Planlı yerleştirme.

  • Zamanlanmış disk bakım için yerleştirme.

Aşağıdaki yordamlar aynı örneği içinde hareketli veritabanı dosyaları için geçerli SQL Server. Bir veritabanı başka bir örneğine gitmek için SQL Serverveya başka bir sunucuya Yedekleme ve geri yükleme veya Ayır ve iliştir işlemleri.

Bu konudaki yordamlar, veritabanı dosyaları mantıksal adını gerektirir. Sorgu adı almak için namesütununda sys.master_files Katalog görünümü.

Önemli notÖnemli

Eğer bir sistem veritabanını taşımak ve daha sonra yeniden masterveritabanı gerekir taşıma sistem veritabanı yeniden yeniden oluşturma işlemi tüm sistem veritabanları varsayılan konumlarına yüklediğinden.

Bu Konuda

  • Planlı yerleştirme ve zamanlanmış Disk bakım işlemleri

  • Hata kurtarma yordamı

  • Master veritabanını taşıma

  • Kaynak veritabanını taşıma

  • Örnekler

Planlı yerleştirme ve zamanlanmış Disk bakım işlemleri

Bir sistem veritabanı veri taşıma ya da bir planlı yerleştirme veya zamanlanmış bakım işleminin bir parçası olarak günlük dosyası için aşağıdaki adımları izleyin. Tüm sistem veritabanları dışında bu prosedür uygulandığı masterve Resourceveritabanları.

  1. Taşınacak her dosya için aşağıdaki deyimi çalıştırın.

    ALTER DATABASE database_name MODIFY FILE ( NAME = logical_name , FILENAME = 'new_path\os_file_name' )
    
  2. Örneğini durdurmak SQL Serverveya bakım yapmak için sistemi kapatma. Daha fazla bilgi için, bkz. Stopping Services.

  3. Dosya veya dosyaların yeni konuma taşıyın.

  4. Örneğini yeniden SQL Serverya da sunucu. Daha fazla bilgi için, bkz. Starting and Restarting Services.

  5. Dosya değişikliği, aşağıdaki sorguyu çalıştırarak doğrulayın.

    SELECT name, physical_name AS CurrentLocation, state_desc
    FROM sys.master_files
    WHERE database_id = DB_ID(N'<database_name>');
    

Eğer msdbveritabanı taşınır ve örneği SQL Serveriçin yapılandırılmış Veritabanı posta, aşağıdaki ek adımları tamamlayın.

  1. Emin olun Service Brokeretkin msdbaşağıdaki sorguyu çalıştırarak veritabanı.

    SELECT is_broker_enabled 
    FROM sys.databases
    WHERE name = N'msdb';
    

    Etkinleştirme hakkında daha fazla bilgi için Service Brokerbakın alter veritabanı (Transact-sql).

  2. Veritabanı posta sınama posta göndererek çalıştığından emin olun. Daha fazla bilgi için, bkz. Troubleshooting Database Mail.

[Üst]

Hata kurtarma yordamı

Bir donanım hatası nedeniyle dosya taşınması gerekir, dosyayı yeni bir konuma taşımak için aşağıdaki adımları izleyin. Tüm sistem veritabanları dışında bu prosedür uygulandığı masterve Resourceveritabanları.

Önemli notÖnemli

Veritabanı başlatılamıyor, yani şüpheli modunda veya unrecovered bir durum, yalnızca üyesi olduğu sysadminsabit rol dosya taşıyabilirsiniz.

  1. Örneğini durdurmak SQL Servero başlarsa.

  2. Örneğini başlatmak SQL Servergirerek yalnızca ana kurtarma modunda aşağıdakilerden birini komut isteminde komutlar. Bu komutlarda belirtilen parametreler büyük/küçük harf duyarlıdır. Parametreler gibi değil belirtildiğinde diğer komutları başarısız olur.

    • Varsayılan (mssqlserver) örneği için aşağıdaki komutu çalıştırın:

      NET START MSSQLSERVER /f /T3608
      
    • Adlandırılmış bir örneği için aşağıdaki komutu çalıştırın:

      NET START MSSQL$instancename /f /T3608
      

    Daha fazla bilgi için, bkz. Start an Instance of SQL Server (net Commands).

  3. Taşınacak her dosya için kullanmak sqlcmdkomutları veya SQL Server Management Studioiçin aşağıdaki deyimi çalıştırın.

    ALTER DATABASE database_name MODIFY FILE( NAME = logical_name , FILENAME = 'new_path\os_file_name' )
    

    Kullanma hakkında daha fazla bilgi için sqlcmdyarar görmek, Sqlcmd yardımcı programını kullanın.

  4. Çıkış sqlcmdyardımcı programını veya SQL Server Management Studio.

  5. Örneğini durdurmak SQL Server. Örneğin, NET STOP MSSQLSERVER.

  6. Dosya veya dosyaların yeni konuma taşıyın.

  7. Örneğini yeniden SQL Server. Örneğin, NET START MSSQLSERVER.

  8. Dosya değişikliği, aşağıdaki sorguyu çalıştırarak doğrulayın.

    SELECT name, physical_name AS CurrentLocation, state_desc
    FROM sys.master_files
    WHERE database_id = DB_ID(N'<database_name>');
    

[Üst]

Master veritabanını taşıma

Taşımak için masterveritabanı, aşağıdaki adımları izleyin.

  1. Dan Start menüsü, Tüm programlar, Gelin Microsoft SQL Server, Gelin Yapılandırma araçları, tıklatıp ardından SQL Server Configuration Manager.

  2. İçinde SQL Server Hizmetleri düğüm, örneğini sağ tıklatın SQL Server(örneğin, SQL Server ((MSSQLSERVER))) ve Özellikler.

  3. De SQL Server (instance_name) özelliklerini iletişim kutusunda, tıklatın Başlangıç parametrelerini sekmesi.

  4. İçinde varolan parametreleri kutusunda, taşımak –d parametreyi seçin masterveri dosyasını. Tıklayın güncelleştirme değişikliği kaydetmek için.

    İçinde belirleme başlangıç parametresi kutusuna, parametre değiştirme yeni yol masterveritabanı.

  5. İçinde varolan parametreleri kutusunda, taşımak –l parametresi seçin mastergünlük dosyası. Tıklayın güncelleştirme değişikliği kaydetmek için.

    İçinde belirleme başlangıç parametresi kutusuna, parametre değiştirme yeni yol masterveritabanı.

    Parametre değeri veri dosyası için izlemeniz gereken -dparametresi ve günlük dosyası için değerini izlemeniz gerekir -lparametresi. Aşağıdaki örnek, varsayılan konumu parametre değerlerini gösterir masterveri dosyasını.

    -dC:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\master.mdf

    -lC:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\mastlog.ldf

    Eğer Planlı yerleştirme için masterveri dosyası E:\SQLData, parametre değerlerini aşağıdaki gibi değiştirilmesi:

    -dE:\SQLData\master.mdf

    -lE:\SQLData\mastlog.ldf

  6. Örneğini durdurmak SQL Serverörnek adı sağ tıklatıp seçerek Dur.

  7. Master.mdf ve mastlog.ldf dosyalarını yeni konuma taşıyın.

  8. Örneğini yeniden SQL Server.

  9. Dosya değişikliği için doğrulayın masteraşağıdaki sorguyu çalıştırarak veritabanı.

    SELECT name, physical_name AS CurrentLocation, state_desc
    FROM sys.master_files
    WHERE database_id = DB_ID('master');
    GO
    

Kaynak veritabanını taşıma

Konumu Resourceveritabanı <drive>: \Program Files\Microsoft SQL Server\MSSQL11. <instance_name>\MSSQL\Binn\. Veritabanı taşınamaz.

[Üst]

Örnekler

A.Tempdb veritabanını taşıma

Aşağıdaki örnek tempdbPlanlı yerleştirme bir parçası olarak yeni bir konuma veri ve günlük dosyaları.

[!NOT]

Çünkü tempdbyeniden oluşturulur her zaman örnek SQL Serverolduğunu başladı, Eğer fiziksel veri ve günlük dosyaları yok. 3. Adımda hizmet yeniden başlatıldığında dosyaları yeni konumda oluşturulur. Hizmet yeniden başlatılıncaya kadar tempdbveri ve günlük dosyaları varolan konumda devam ediyor.

  1. Mantıksal dosya adlarını tempdbveritabanı ve diskteki geçerli konumlarına.

    SELECT name, physical_name AS CurrentLocation
    FROM sys.master_files
    WHERE database_id = DB_ID(N'tempdb');
    GO
    
  2. Her dosyanın konumunu kullanarak değiştirmek ALTER DATABASE.

    USE master;
    GO
    ALTER DATABASE tempdb 
    MODIFY FILE (NAME = tempdev, FILENAME = 'E:\SQLData\tempdb.mdf');
    GO
    ALTER DATABASE tempdb 
    MODIFY FILE (NAME = templog, FILENAME = 'F:\SQLLog\templog.ldf');
    GO
    
  3. Örneğini yeniden başlatın SQL Server.

  4. Dosya değişikliği doğrulayın.

    SELECT name, physical_name AS CurrentLocation, state_desc
    FROM sys.master_files
    WHERE database_id = DB_ID(N'tempdb');
    
  5. Sil tempdb.mdfve templog.ldfDosya özgün konumundan.

[Üst]

Ayrıca bkz.

Başvuru

alter veritabanı (Transact-sql)

Kavramlar

Kaynak veritabanı

tempdb veritabanı

Ana veritabanı

msdb veritabanını

modeli veritabanı

Kullanıcı veritabanlarını taşıma

Stopping Services

Sistem veritabanları yeniden

Diğer Kaynaklar

Veritabanı dosyaları taşıma

Starting and Restarting Services