SQL Server veritabanını Windows Server Yedekleme kullanarak nasıl yedekleyebilirim?


11

Görünüşe göre Windows Server Yedekleme, SQL Server veritabanlarının yedeklenmesi için bazı desteklere sahiptir :

Uygulamaları kurtarabilme. Windows Server Yedekleme, uygulama verilerini korumak için Microsoft® SQL Server® gibi uygulamalarda yerleşik olarak bulunan VSS işlevini kullanır. \. [Kaynak: TechNet ]

Ayrıca, insanlar Windows Server Yedekleme'nin SQL Server'da bir tür yedekleme işlemini tetiklediğini bildiriyor .

Ancak, tam olarak nasıl Windows Server Yedekleme kullanarak SQL Server veritabanlarını yedekleme hakkında (resmi) belgeleri bulmak için başarısız .

  • Sadece yedeklemem gerekiyor .mdfmu? .mdfVe .ldf?
  • Çevrimiçi mi yoksa çevrimdışı mı?
  • Bu şekilde yedeklenen SQL Server veritabanlarını geri yüklemek için resmi prosedür nedir?
  • Artımlı / diferansiyel yedeklemeler yaparken dikkate alınması gereken özel bir şey var mı?
  • Bütün bunlar nerede belgeleniyor?

(SQL Server Bakım Planları, sqlmaint.exeT-SQL BACKUP ve SQL Server Agent ile yedekleme yapmayı biliyorum . Sadece Windows Server Yedekleme'nin (görünüşte?) Sunduğu alternatifle ilgileniyorum.)


Hangi Windows Server sürümü ve hangi SQL Server sürümü?
pauska

@pauska: Şahsen, Windows Server 2012 R2 ve SQL Server 2012 ile ilgileniyorum. (Soruyu başkaları için daha yararlı hale getirmek için kasten daha genel
tutuyorum

1
Tam bir yedekleme yapıyor bir Windows Server 2008 var. Bildiğim kadarıyla veritabanlarını SQL Server Express'ten tam yedeklemesinin bir parçası olarak çekiyor, çünkü her bir veritabanı yedeklemenin çalıştığı sırada en son yedeklendiğini söylüyor. Bu beni karıştırdı, çünkü bu veritabanlarını nasıl yedeklediğimi anlamaya çalışıyorum, çünkü hiçbir yerde bunu yapan bir komut dosyası bulamıyorum. Sanırım yine de yapmak için bir senaryo yazacağım, böylece çalıştığını biliyorum ve tam olarak neye sahip olduğumu biliyorum.
Dave Cousineau

Yanıtlar:


5

Windows Server Yedekleme, SQL Server için bir yedekleme aracı olarak tasarlanmamıştır.

... Bununla birlikte, tasarım özellikle küçük kuruluşlar veya BT uzmanı olmayan kişiler için çok uygundur ...

Windows Server Yedekleme'den Windows Server 2008 için Adım Adım Kılavuz bölümünden alıntı : "Windows Server Yedekleme'yi kimler kullanmalı?"

Alıntı yaptığınız bölüm temel olarak Windows Server Yedekleme devreye girdiğinde Windows'taki VSS özelliğini tetikleyeceğini söylüyor. SQL Server, Birim Gölge Kopyası'nın oluştuğunun farkında olacak ve SQL Server Writer hizmeti yardımıyla veritabanı dosyalarının (* .mdf, * .ndf, * .ldf) bir kopyasının gerçekleştirilmesini sağlayacaktır.

SQL Server Writer hizmetinin amacı şu şekilde tanımlanır:

Çalışırken, Veritabanı Altyapısı kilitlenir ve veri dosyalarına özel erişimi vardır. SQL Writer Hizmeti çalışmadığında, Windows'ta çalışan yedekleme programlarının veri dosyalarına erişimi yoktur ve yedeklemeler SQL Server yedeklemesi kullanılarak gerçekleştirilmelidir.

SQL Server çalışırken Windows yedekleme programlarının SQL Server veri dosyalarını kopyalamasına izin vermek için SQL Writer Hizmeti'ni kullanın.

SQL Writer Service bölümünden alıntı : "Amaç"

Bu temelde Windows Server Yedekleme ile olan tek şey.

SQL Server çalışırken Windows Server Yedekleme ile oluşturulan yedekler tutarlı olmalıdır , ancak henüz diske yazılmayan işlemler Birim Gölge Kopyası'nda değildir. Veritabanı anlık görüntüsü ONLINE olarak alındı.

Ancak Snapshot Backups adlı MSDN makalesinde şunlar belirtilmektedir:

Yalnızca aşağıdaki yedekleme türleri anlık görüntü yedekleri olabilir:

  • Tam yedeklemeler
  • Kısmi yedeklemeler
  • Dosya yedekleri
  • Diferansiyel veritabanı yedekleri. Bunlar yalnızca satıcı VSS arayüzünü kullandığında desteklenir.

ve ek olarak:

Bu konuda daha önce belirtilenler dışında, anlık görüntü yedekleri işlevsel olarak karşılık gelen geleneksel yedeklerle eşdeğerdir. Anlık görüntü yedeklerini, anlık görüntü olmayan tam yedeklemeler, diferansiyel yedeklemeler ve günlük yedeklemeleriyle geri yükleme dizilerinde kullanabilirsiniz. Diğer yedeklemeler gibi, anlık görüntü yedekleri de msdb veritabanında izlenir; burada anlık görüntü yedekleri backupset.is_snapshot = 1 ile tanımlanır. Msdb hakkında daha fazla bilgi için, bkz. Msdb Veritabanı.

SQL Server, anlık görüntü yedeklemesinden çevrimiçi geri yüklemeyi desteklemez. Anlık görüntü yedeklemesini geri yüklemek veritabanını otomatik olarak çevrimdışı duruma getirir. Parça parça geri yükleme, anlık görüntü yedeklerini içerebilir, ancak tüm geri yükleme dizileri çevrimdışı geri yüklemelerdir. Parça parça geri yüklemeleri hakkında daha fazla bilgi için bkz. Parça parça geri yüklemeleri gerçekleştirme.

Sorularınızı cevaplamak için:

  • Sadece .mdf dosyasını yedeklemem gerekiyor mu? .Mdf ve .ldf?
  • Çevrimiçi mi yoksa çevrimdışı mı?
  • Bu şekilde yedeklenen SQL Server veritabanlarını geri yüklemek için resmi prosedür nedir?
  • Artımlı / diferansiyel yedeklemeler yaparken dikkate alınması gereken özel bir şey var mı?
  • Bütün bunlar nerede belgeleniyor?

Yanıtlar:

  1. Evet, .mdf ve .ldf dosyalarının Windows Server Yedekleme (VSS) kopyasını yapabilirsiniz. Yedekleme tutarlı olmalıdır , ancak geri yüklemeden sonra veritabanı ÇEVRİMDIŞI olacaktır.
  2. SQL Server durdurulursa / veritabanı ayrılırsa / veritabanı ÇEVRİMDIŞI ise .mdf ve .ldf dosyalarının VSS kopyası% 100 tutarlıdır.
  3. Veritabanı ONLINE durumunda geri yüklendiğinden, Windows Server Yedekleme ile yürütülen bir veritabanını (bir anda) nasıl geri yükleyeceğinden emin değilim. ÇEVRİMDIŞI durumundaki bir veritabanı daha fazla geri yüklenemez / kurtarılamaz ve veritabanının ÇEVRİMİÇİ duruma getirilmesi, veritabanının tamamen kurtarılmış olduğu düşünülür. Zamanında bir veritabanı geri yüklemesi yapabilmeniz için ayrı SQL Server FULL, DIFF ve TLOG Yedeklerini öneriyorum.
  4. İşlem Günlükleri, Windows Server Yedekleme ile oluşturulan anlık görüntülerin bir parçası değildir ve ayrıca gerçekleştirilmelidir. Farklı anlık görüntüler, yedekleme sırasının bir parçası olarak 3. taraf satıcılar tarafından desteklenir, ancak Windows Server Yedekleme farklı yedeklemeler gerçekleştiremiyor gibi görünmektedir. Bu durumda ek diferansiyel yedeklemeler de yapmanız gerekir. (bk. 3.)
  5. Farklı Referanslar

Gerçek hayattaki uygulamalarda açıklanmıştır

Ortamımızda VMware'in anlık görüntü yürüttüğü ve DBA'ların Commvault ile SQL Server dökümlerini yürüttüğü benzer bir durum var. Yedekleme geçmişi şuna benzer:

DBNAME  TYPE BACKUPSET_NAME            IS_SNAPSHOT BACKUP_START_DATE        
------- ---- ------------------------- ----------- -----------------------  
DB_NAME  Full  NULL                    1           2016-12-10 18:23:59.000  
DB_NAME  Full  CommVault Galaxy Backup 0           2016-12-10 20:07:41.000  
DB_NAME  Log   CommVault Galaxy Backup 0           2016-12-11 06:00:40.000  
DB_NAME  Full  NULL                    1           2016-12-11 18:24:00.000  
DB_NAME  Diff  CommVault Galaxy Backup 0           2016-12-11 20:03:38.000  
DB_NAME  Log   CommVault Galaxy Backup 0           2016-12-12 06:02:29.000  
DB_NAME  Log   CommVault Galaxy Backup 0           2016-12-12 07:02:17.000  

VMware anlık görüntüsü, MSDB veritabanı geçmişi tablolarında (günlük) yürütülen her VMware anlık görüntüsü ile IS_SNAPSHOT = 1ve bunlar için bir giriş oluşturur FULL. Yerel (yerel kullanarak iyi Commvault) SQL Server yedeklemeleri FULL, DIFF ve TLOG yedeklemeleri kullanılarak gerçekleştirilir. Bu yedeklemeler IS_SNAPSHOT olarak işaretlenmez ve msdb veritabanındaki yedekleme tablolarında ek FULL (haftada bir kez), DIFF (her gün) ve LOG (saatlik) girişleri olarak bulunur.

Bu kurulum ile, anlık çekim tarih saatine geri yükleme yapabilir ve veritabanını ONLINE hale getirebiliriz veya "yerel" SQL Server yedeklemelerini kullanarak herhangi bir zamanda tek bir geri yükleme gerçekleştirebiliriz.


1

Yapamazsın. Ya da en azından muhtemelen yapmamalısın. SQL Server veritabanları söz konusu olduğunda, yerel yedeklemeler desteklenen yöntemdir.

Sanırım TechNet makalesinin söylediklerini yanlış anlıyor olabilirsiniz. Alıntı yaptığınız yorum, SQL Server veritabanları için Windows Server yedeklemesini kullanabileceğinizi göstermez. Aslında sadece Windows Server yedeklemesinin SQL Server tarafından kullanılan aynı Birim Gölge Kopyası Hizmeti'ni kullandığını vurgulamaktadır. Daha fazla bilgi: TechNet: SQL Yazıcı Hizmeti


Yapmamam gerektiğini biliyorum - verilerimi bu kadar zayıf belgelenmiş bir özelliğe emanet etmem. Eğer mümkünse Yine de, teorik olarak, merak ediyorum: SQL Server does bir VSS yazıcısı sağlamak ve Windows Server Yedekleme olduğunu şimdilik soru açık bırakmak gerekir, böylece bir VSS istekte. Belki de bu ikisini eşleştirmekle ilgili bir soru (örneğin, Hyper-V VSS yazarı için bunu nasıl yapacağınıza dair çevrimiçi talimatlar var ).
Heinzi

1
Görünüşe göre, Windows Server Yedekleme gelmez SQL server yedekleme çeşit tetiklediğini görebilir bu quesiton .
Heinzi

1

Sql yedekleme sadece verileri kopyalamakla kalmaz, aynı zamanda günlüğü de keser. Yedekleme dosyasını anında sıkıştırmak gibi, size yardımcı olacak man sayfasında yüzlerce seçenek bulabilirsiniz.

Vss yedeklemenin, donmuş bir Sanal Makineyi kopyalamak veya statik bir görüntüyü yedeklemek için bir SAN'daki bir görüntüyü anlık olarak görüntülemek için kullanıldığını, ancak yedeklemenin elektrik kesintisi gibi "çökme tutarlı" olacağını ve gerçekten tutarlı olmadığını hatırlıyorum.

İlişkili


0

Ben düşünüyorum da "Anlık Yedekleme" adı verilen özel bir yedekleme türünü kullanır.

SQL Server 2008 belgelerinden:

SQL Server anlık görüntü yedeklemesi, Microsoft Windows Server 2003 Birim Gölge Kopyası Hizmeti (VSS) ve bu çerçeveyi kullanan tüm yedekleme yazılımı ve depolama yazılımı tarafından da kullanılır. Daha fazla bilgi için, bkz. SQL Yazar Hizmeti.

Benim için her şey çok belirsiz. Özellikle işlem günlüklerini kısaltırsa veya kesmezse.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.