Aracılığıyla paylaş


Dosyaları ve Dosya Gruplarını Yedekleme

Şunlar için geçerlidir: SQL Server

Bu konu başlığında SQL Server Management Studio, Transact-SQL veya PowerShell kullanarak SQL Server'daki dosyaların ve dosya gruplarının nasıl yedekleneceği açıklanmaktadır. Veritabanı boyutu ve performans gereksinimleri tam veritabanı yedeklemesini kullanışsız hale getirirse, bunun yerine bir dosya yedeklemesi oluşturabilirsiniz. Dosya yedekleme, bir veya daha fazla dosyadaki (veya dosya gruplarındaki) tüm verileri içerir.

Dosya yedeklemeleri hakkında daha fazla bilgi için bkz. Tam Dosya Yedeklemeleri (SQL Server) ve Değişiklik Yedeklemeleri (SQL Server).

Başlamadan Önce

Sınırlamalar ve Kısıtlamalar

  • Backup deyimine açık veya örtük bir işlemde izin verilmez.

  • Basit kurtarma modeli altında, okuma/yazma dosyalarının tümünün birlikte yedeklenmiş olması gerekir. Bu, veritabanının zaman içinde tutarlı bir noktaya geri yüklenebildiğinden emin olmanıza yardımcı olur. Her okuma/yazma dosyasını veya dosya grubunu ayrı ayrı belirtmek yerine READ_WRITE_FILEGROUPS seçeneğini kullanın. Bu seçenek, veritabanındaki tüm okuma/yazma dosya gruplarını yedekler. READ_WRITE_FILEGROUPS belirtilerek oluşturulan yedekleme kısmi yedekleme olarak bilinir. Bkz. Kısmi Yedeklemeler (SQL Server).

Sınırlamalar ve kısıtlamalar hakkında daha fazla bilgi için bkz . Yedeklemeye Genel Bakış (SQL Server).

Recommendations

Varsayılan olarak, her başarılı yedekleme işlemi SQL Server hata günlüğüne ve sistem olay günlüğüne bir girdi ekler. Günlüğü çok sık yedeklerseniz, bu başarı iletileri hızlı bir şekilde birikerek diğer iletileri bulmayı zorlaştırabilecek büyük hata günlüklerine neden olur. Bu gibi durumlarda, betiklerinizin hiçbiri bu girdilere bağımlı değilse izleme bayrağı 3226 kullanarak bu günlük girdilerini gizleyebilirsiniz, bkz. DBCC TRACEON ile izleme bayrakları ayarlama.

Permissions

BACKUP DATABASE ve BACKUP LOG izinleri varsayılan olarak sysadmin sabit sunucu rolünün üyeleriyle db_owner ve db_backupoperator sabit veritabanı rolleridir.

Yedekleme cihazının fiziksel dosyasındaki sahiplik ve izin sorunları yedekleme işlemini etkileyebilir. SQL Server'ın cihazı okuyabilmesi ve yazabilmesi gerekir; SQL Server hizmetinin çalıştığı hesabın yazma izinleri olmalıdır. Ancak, sistem tablolarında yedekleme cihazı için bir girdi ekleyen sp_addumpdevice, dosya erişim izinlerini denetlemez. Yedekleme veya geri yükleme denendiğinde fiziksel kaynağa erişilene kadar yedekleme cihazının fiziksel dosyasındaki bu tür sorunlar görünmeyebilir.

SQL Server Management Studio'yu kullanma

  1. SQL Server Veritabanı Altyapısı'nın uygun örneğine bağlandıktan sonra Nesne Gezgini'nde sunucu adına tıklayarak sunucu ağacını genişletin.

  2. Veritabanları'nı genişletin ve veritabanına bağlı olarak bir kullanıcı veritabanı seçin veya Sistem Veritabanları'nı genişletin ve bir sistem veritabanı seçin.

  3. Veritabanına sağ tıklayın, Görevler'in üzerine gelin ve ardından Yedekle'ye tıklayın. Veritabanını Yedekle iletişim kutusu görüntülenir.

  4. Veritabanı listesinde veritabanı adını doğrulayın. İsteğe bağlı olarak listeden farklı bir veritabanı seçebilirsiniz.

  5. Yedekleme türü listesinde Tam veya Değişiklik'i seçin.

  6. Yedekleme bileşeni seçeneği için Dosya ve Dosya Grupları'na tıklayın.

  7. Dosya ve Dosya Gruplarını Seç iletişim kutusunda, yedeklemek istediğiniz dosyaları ve dosya gruplarını seçin. Bir veya daha fazla dosya seçebilir veya dosya grubundaki tüm dosyaları otomatik olarak seçmek için dosya grubu kutusunu işaretleyebilirsiniz.

  8. Ad metin kutusunda önerilen varsayılan yedekleme kümesi adını kabul edin veya yedekleme kümesi için farklı bir ad girin.

  9. (isteğe bağlı) Açıklama metin kutusuna yedekleme kümesinin açıklamasını girin.

  10. Yedekleme kümesinin süresinin ne zaman dolacağını belirtin:

    • Yedekleme kümesinin belirli bir gün sayısından sonra süresinin dolmasına izin vermek için , Sonra'ya (varsayılan seçenek) tıklayın ve oluşturulduktan sonra kümenin süresinin dolacağı gün sayısını girin. Bu değer 0 ile 99999 gün olabilir; 0 günlük bir değer, yedekleme kümesinin süresinin asla dolamayacağı anlamına gelir.

      Varsayılan değer, Sunucu Özellikleri iletişim kutusunun (Veritabanı Ayarları sayfası) Varsayılan yedekleme medya saklama (gün) seçeneğinde ayarlanır. Bu seçeneğe erişmek için Nesne Gezgini'nde sunucu adına sağ tıklayın ve özellikleri seçin; ardından Veritabanı Ayarları sayfasını seçin.

    • Yedekleme kümesinin süresinin belirli bir tarihte dolması için Açık'a tıklayın ve kümenin süresinin dolacağı tarihi girin.

  11. Disk veya Bant'a tıklayarak yedekleme hedefi türünü seçin. Tek bir medya kümesi içeren en fazla 64 disk veya bant sürücüsü yolunu seçmek için Ekle'ye tıklayın. Seçilen yollar , Yedeklenenler listesinde görüntülenir.

    Uyarı

    Yedekleme hedefini kaldırmak için seçin ve Kaldır'a tıklayın. Yedekleme hedefinin içeriğini görüntülemek için seçin ve İçerikler'e tıklayın.

  12. Gelişmiş seçenekleri görüntülemek veya seçmek için, Sayfa seçin bölmesinde Seçenekler'e tıklayın.

  13. Aşağıdakilerden birine tıklayarak Medya üzerine yaz seçeneğini belirleyin:

    • Mevcut medya kümesine yedekleme

      Bu seçenek için Var olan yedekleme kümesine ekle'ye veya Varolantüm yedekleme kümelerinin üzerine yaz'a tıklayın.

      Mevcut bir medya kümesine yedekleme hakkında bilgi için bkz. Medya Kümeleri, Medya Aileleri ve Yedekleme Kümeleri (SQL Server).

      • (isteğe bağlı) Medya kümesinin ve yedekleme kümesinin süresinin dolduğunda yedekleme işleminin tarih ve saati doğrulamasına neden olmak için Medya kümesi adını ve yedekleme kümesi süre sonunu denetle'yi seçin.

      • (isteğe bağlı) Medya kümesi adı metin kutusuna bir ad girin. Ad belirtilmezse, boş bir ada sahip bir medya kümesi oluşturulur. Bir medya kümesi adı belirtirseniz, gerçek adın buraya girdiğiniz adla eşleşip eşleşmediğini görmek için medya (bant veya disk) denetlenir.

      Medya adını boş bırakıp, medyaya karşı kontrol etme kutusunu işaretlerseniz, başarı, medyadaki medya adının da boş olması anlamına gelecektir.

    • Yeni bir medya kümesine yedekleme ve mevcut tüm yedekleme kümelerini silme

      Bu seçenek için, Yeni medya kümesi adı metin kutusuna bir ad girin ve isteğe bağlı olarak, Yeni medya kümesi açıklama metin kutusunda medya kümesini açıklayın.

      Yeni bir medya kümesi oluşturma hakkında daha fazla bilgi için bkz. Medya Kümeleri, Medya Aileleri ve Yedekleme Kümeleri (SQL Server).

  14. (isteğe bağlı) Güvenilirlik bölümünde şunları denetleyin:

  15. Bir bant sürücüsüne yedekleniyorsanız (Genel sayfasının Hedef bölümünde belirtildiği gibi), Yedeklemeden sonra bandı kaldır seçeneği etkindir. Bu seçeneğe tıklamak Kaldırmadan önce bandı geri sar seçeneğini etkinleştirir.

    Uyarı

    İşlem günlüğü bölümündeki seçenekler, işlem günlüğünü yedeklemediğiniz sürece etkin değildir (Genel sayfasının Yedekleme türü bölümünde belirtildiği gibi).

  16. SQL Server 2008 (10.0.x) Enterprise ve sonraki sürümleri yedekleme sıkıştırmayı destekler. Varsayılan olarak, yedeklemenin sıkıştırılıp sıkıştırılmayacağı, yedekleme sıkıştırma varsayılan sunucu yapılandırma seçeneğinin değerine bağlıdır. Ancak, geçerli sunucu düzeyindeki varsayılan değerden bağımsız olarak, Yedeklemeyi sıkıştır'ı işaretleyerek bir yedeklemeyisıkıştırabilir ve Yedeklemeyi sıkıştırma seçeneğini işaretleyerek sıkıştırmayı önleyebilirsiniz.

    Geçerli yedekleme sıkıştırma varsayılanını görüntülemek için bkz. Yedekleme sıkıştırması varsayılan Sunucu Yapılandırma Seçeneğini Görüntüleme veya Yapılandırma

Transact-SQL Kullanımı

Dosya veya dosya grubu yedeklemesi oluşturmak için BACKUP DATABASE <file_or_filegroup> deyimini kullanın. En az düzeyde, bu deyimin aşağıdakileri belirtmesi gerekir:

  • Veritabanı adı.

  • Her dosya veya dosya grubu için sırasıyla bir DOSYA veya DOSYA GRUBU ifadesi.

  • Tam yedekleme işleminin yazılacağı yedekleme cihazı.

Dosya yedekleme için temel Transact-SQL söz dizimi şöyledir:

BACKUP DATABASE database

{ DOSYA =logical_file_name | DOSYA GRUBU =logical_filegroup_name } [ ,... f ]

TO backup_device [,...n]

[ WITH with_options [ ,... o ] ] ;

Seçenek Description
veritabanı İşlem günlüğünün, kısmi veritabanının veya tam veritabanının yedeklendiği veritabanıdır.
DOSYA =logical_file_name Dosya yedeklemesine eklenecek dosyanın mantıksal adını belirtir.
FILEGROUP =logical_filegroup_name Dosya yedeklemesine eklenecek dosya grubunun mantıksal adını belirtir. Basit kurtarma modeli altında, bir dosya grubu yedeklemesine yalnızca salt okunur bir dosya grubu için izin verilir.
[ ,... f ] Birden çok dosya ve dosya grubunun belirtilebileceğini gösteren bir yer tutucudur. Dosya veya dosya grubu sayısı sınırsızdır.
backup_device [ ,... n ] Yedekleme işlemi için kullanılacak 1 ile 64 yedekleme cihazının listesini belirtir. Fiziksel bir yedekleme cihazı belirtebilir veya önceden tanımlanmışsa ilgili mantıksal yedekleme cihazını belirtebilirsiniz. Fiziksel yedekleme cihazı belirtmek için DISK veya TAPE seçeneğini kullanın:

{ DISK | TAPE } =physical_backup_device_name

Daha fazla bilgi için bkz . Yedekleme Cihazları (SQL Server).
WITH with_options [ ,... o ] İsteğe bağlı olarak, DiferANSİYEL gibi bir veya daha fazla ek seçenek belirtir. Diferansiyel dosya yedeklemesi, bir temel olarak tam dosya yedeklemesi gerektirir.

Daha fazla bilgi için bkz. Diferansiyel Veritabanı Yedeklemesi (SQL Server) Oluşturma.

Tam kurtarma modeli altında işlem günlüğünü de yedeklemeniz gerekir. Veritabanını geri yüklemek için eksiksiz bir tam dosya yedeklemesi kümesi kullanmak için, ilk dosya yedeklemesinin başlangıcından itibaren tüm dosya yedeklemelerini kapsayan yeterli günlük yedeklemesine de sahip olmanız gerekir.

Daha fazla bilgi için bkz. İşlem Günlüğünü Yedekleme (SQL Server).

Örnekler

Aşağıdaki örnekler, veritabanının ikincil dosya gruplarının bir veya daha fazla dosyasını yedekler Sales . Bu veritabanı tam kurtarma modelini kullanır ve aşağıdaki ikincil dosya gruplarını içerir:

  • SalesGroup1 adlı ve SGrp1Fi1 ile SGrp1Fi2 dosyalarını içeren bir dosya grubu.

  • SalesGroup2 adlı, SGrp2Fi1 ve SGrp2Fi2 dosyalarını içeren bir dosya grubu.

A. İki dosyanın dosya yedeğini oluşturma

Aşağıdaki örnek, yalnızca SGrp1Fi2 dosyasının ve SGrp2Fi2 dosyasının, SalesGroup2 dosya grubunun parçası olarak, farklılık dosyası yedeğini oluşturur.

--Backup the files in the SalesGroup1 secondary filegroup.  
BACKUP DATABASE Sales  
   FILE = 'SGrp1Fi2',   
   FILE = 'SGrp2Fi2'   
   TO DISK = 'G:\SQL Server Backups\Sales\SalesGroup1.bck';  
GO  

B. İkincil dosya gruplarının tam dosya yedeğini oluşturma

Aşağıdaki örnek, her iki ikincil dosya grubundaki her dosyanın tam dosya yedeğini oluşturur.

--Back up the files in SalesGroup1.  
BACKUP DATABASE Sales  
   FILEGROUP = 'SalesGroup1',  
   FILEGROUP = 'SalesGroup2'  
   TO DISK = 'C:\MySQLServer\Backups\Sales\SalesFiles.bck';  
GO  

C. İkincil dosya gruplarının değişiklik dosyası yedeğini oluşturma

Aşağıdaki örnek, her iki ikincil dosya grubundaki her dosyanın değişiklik dosyası yedeğini oluşturur.

--Back up the files in SalesGroup1.  
BACKUP DATABASE Sales  
   FILEGROUP = 'SalesGroup1',  
   FILEGROUP = 'SalesGroup2'  
   TO DISK = 'C:\MySQLServer\Backups\Sales\SalesFiles.bck'  
   WITH   
      DIFFERENTIAL;  
GO  

PowerShell'i kullanma

SQL Server PowerShell Sağlayıcısı'nı ayarlayın ve kullanın.

Backup-SqlDatabase cmdlet'ini kullanın ve -BackupAction parametresinin değeri için Dosyalar'ı belirtin. Ayrıca, aşağıdaki parametrelerden birini belirtin:

  • Belirli bir dosyayı yedeklemek için -DatabaseFileString parametresini belirtin; burada Dize yedeklenecek bir veya daha fazla veritabanı dosyasıdır.

  • Belirli bir dosya grubundaki tüm dosyaları yedeklemek için -DatabaseFileGroupString parametresini belirtin; burada String yedeklenecek bir veya daha fazla veritabanı dosya grubudur.

Aşağıdaki örnek, veritabanındaki 'FileGroup1' ve 'FileGroup2' ikincil dosya gruplarındaki her dosyanın tam dosya yedeğini <myDatabase> oluşturur. Yedeklemeler, sunucu örneğinin Computer\Instancevarsayılan yedekleme konumunda oluşturulur.

Backup-SqlDatabase -ServerInstance Computer\Instance -Database <myDatabase> -BackupAction Files -DatabaseFileGroup "FileGroup1","FileGroup2" 

Ayrıca Bkz.

Yedeklemeye Genel Bakış (SQL Server)
BACKUP (Transact-SQL)
RESTORE (Transact-SQL)
Yedekleme Geçmişi ve Üst Bilgi Bilgileri (SQL Server)
Veritabanını Yedekle (Genel Sayfa)
Veritabanını Yedekle (Yedekleme Seçenekleri Sayfası)
Tam Dosya Yedeklemeleri (SQL Server)
Değişiklik Yedeklemeleri (SQL Server)
Dosya Geri Yüklemeleri (Tam Kurtarma Modeli)
Dosya Geri Yüklemeleri (Basit Kurtarma Modeli)