İngilizce dilinde oku

Aracılığıyla paylaş


Veritabanı anlık görüntüleri (SQL Server)

Şunlar için geçerlidir: SQL Server

Veritabanı anlık görüntüsü, SQL Server veritabanının (kaynak veritabanı) salt okunur, statik bir görünümüdür. Anlık görüntünün oluşturulmasından itibaren kaynak veritabanıyla işlemsel olarak tutarlıdır ve her zaman kaynak veritabanıyla aynı sunucu örneğinde bulunur. Veritabanı anlık görüntüleri, anlık görüntünün oluşturulduğu durumla aynı durumdaki verilerin salt okunur bir görünümünü sağlarken, kaynak veritabanında değişiklikler yapıldıkça anlık görüntü dosyasının boyutu büyür.

Veritabanı anlık görüntüleri büyük şema yükseltmeleri sırasında yararlı olabilir ve önceki bir duruma geri dönülebilir, ancak anlık görüntülerin normal yedekleme gereksiniminin yerini almadığını anlamak çok önemlidir. Veritabanı anlık görüntülerini yedekleyemez veya geri yükleyemezsiniz; bu da veri kaybı veya bozulma olması durumunda veri koruma ve kurtarma sağlamak için sağlam bir yedekleme stratejisiyle kullanılması gerektiği anlamına gelir.

Veritabanı anlık görüntüleri, CREATE DATABASE T-SQL söz dizimi ile AS SNAPSHOT OF söz dizimi kullanılarak oluşturulur.

Belirli bir kaynak veritabanında birden çok anlık görüntü bulunabilir. Veritabanı sahibi açıkça düşürene kadar her veritabanı anlık görüntüsü kalıcı olur.

Not

Veritabanı anlık görüntüleri, anlık görüntü yedeklemeleri, Transact-SQL anlık görüntü yedeklemeleri, işlemlerin anlık görüntü yalıtımı veya anlık görüntü çoğaltma ile ilişkili değildir.

Özelliğe Genel Bakış

Veritabanı anlık görüntüleri veri sayfası düzeyinde çalışır. Kaynak veritabanının bir sayfası ilk kez değiştirilmeden önce, özgün sayfa kaynak veritabanından anlık görüntüye kopyalanır. Anlık görüntü özgün sayfayı depolar ve veri kayıtlarını anlık görüntü oluşturulduğunda olduğu gibi korur. İlk kez değiştirilen her sayfa için aynı işlem yinelenir. Kullanıcıya, veritabanı anlık görüntüsündeki okuma işlemleri nerede bulunduklarından bağımsız olarak her zaman özgün veri sayfalarına eriştiğinden, veritabanı anlık görüntüsü hiçbir zaman değişmeyecek gibi görünür.

Anlık görüntü, kopyalanan özgün sayfaları bir veya daha fazla () seyrek dosya kullanarak depolar. Seyrek dosya başlangıçta kullanıcı verileri içermeyen ve henüz kullanıcı verileri için disk alanı ayrılmamış boş bir dosyadır. Kaynak veritabanında daha fazla sayfa güncelleştirildikçe dosya boyutu büyür. Aşağıdaki şekilde, iki karşıt güncelleştirme deseninin anlık görüntü boyutu üzerindeki etkileri gösterilmektedir. Güncelleştirme düzeni A, anlık görüntünün ömrü boyunca özgün sayfaların yalnızca yüzde 30'unun güncelleştirildiği bir ortamı yansıtır. B güncelleştirme düzeni, anlık görüntünün ömrü boyunca özgün sayfaların yüzde 80'inin güncelleştirildiği bir ortamı yansıtır.

alternatif güncelleştirme desenlerini ve anlık görüntü boyutunu gösteren Diyagramı.

Fayda -ları

  • Anlık görüntüler raporlama amacıyla kullanılabilir.

    • İstemciler bir veritabanı anlık görüntüsünü sorgulayabilir ve bu da anlık görüntü oluşturulduğunda verileri temel alan raporlar yazmaya yardımcı olur.
  • Rapor oluşturma için geçmiş verileri koruma.

    • Anlık görüntü, belirli bir zaman noktasından verilere kullanıcı erişimini genişletebilir. Örneğin, belirli bir dönemin sonunda (finansal çeyrek gibi) daha sonra raporlama için bir veritabanı anlık görüntüsü oluşturabilirsiniz. Ardından anlık görüntüde dönem sonu raporları çalıştırabilirsiniz. Disk alanı izin verirse, dönem sonu anlık görüntülerini süresiz olarak saklayarak, bu dönemlerin sonuçlarına karşı sorgulamalar yapabilir ve kuruluş performansını araştırabilirsiniz.
  • Raporlama yükünü hafifletmek için kullanılabilirlik amacıyla bakımını yaptığınız yansı veritabanını kullanma.

    • Veritabanı anlık görüntülerini veritabanı yansıtması ile kullanmak, yansıtma sunucusundaki verileri raporlama için erişilebilir hale getirir. Buna ek olarak, yansıtma veritabanında sorgu çalıştırmak, ana veritabanı için kaynakları boşaltabilir. Daha fazla bilgi için bkz. Veritabanı Yansıtması ve Veritabanı Anlık Görüntüleri (SQL Server).
  • Verileri yönetim hatasına karşı koruma.

  • Kaynak veritabanında bir kullanıcı hatası oluşursa, veritabanı anlık görüntüsü oluşturulduğunda bu hatayı durumuna döndürebilirsiniz. Veri kaybı, anlık görüntünün oluşturulmasından bu yana veritabanı güncelleştirmeleri ile sınırlandırılır.

    • Örneğin, toplu güncelleştirme veya şema değişikliği gibi önemli güncelleştirmeler yapmadan önce verileri korumak için veritabanında bir veritabanı anlık görüntüsü oluşturun. Hata yaparsanız, veritabanını anlık görüntüye geri döndürerek kurtarma işlemini yapabilirsiniz. Geri döndürme, yedeklemeden geri yüklemeden daha hızlıdır; ancak daha sonra ileriye doğru ilerleyemezsiniz.

      Önemli

      Geri döndürme çevrimdışı veya bozuk bir veritabanında çalışmaz. Bu nedenle, veritabanını korumak için düzenli yedeklemeler ve geri yükleme planınızı test etmek gerekir.

      Not

      Veritabanı anlık görüntüleri kaynak veritabanına bağlıdır. Bu nedenle, veritabanını geri döndürmek için anlık görüntüleri kullanmak yedekleme ve geri yükleme stratejinizin yerini tutmaz. Zamanlanmış tüm yedeklemelerinizi gerçekleştirmek gerekli olmaya devam eder. Kaynak veritabanını veritabanı anlık görüntüsünü oluşturduğunuz noktaya geri yüklemeniz gerekiyorsa, bunu yapmanızı sağlayan bir yedekleme ilkesi uygulayın.

  • Verileri kullanıcı hatasına karşı koruma.

  • Veritabanı anlık görüntülerini düzenli olarak oluşturarak, bırakılan tablo gibi önemli bir kullanıcı hatasının etkisini azaltabilirsiniz. Yüksek düzeyde koruma için, kullanıcı hatalarının çoğunu tanımak ve yanıtlamak için yeterli süreyi kapsayan bir dizi veritabanı anlık görüntüsü oluşturabilirsiniz. Örneğin, disk kaynaklarınıza bağlı olarak, 24 saatlik bir zaman aralığına yayılan 6 ile 12 arasında sıralı anlık görüntü tutabilirsiniz. Ardından, her yeni anlık görüntü oluşturulduğunda, en eski anlık görüntü silinebilir.

    • Kullanıcı hatasından kurtarmak için veritabanını hatadan hemen önce anlık görüntüye döndürebilirsiniz. Geri döndürme, bir yedeklemeden geri yüklemeden çok daha hızlıdır; ancak daha sonra ileriye doğru ilerleyemezsiniz.

    • Alternatif olarak, anlık görüntüdeki bilgilerden silinen bir tabloyu veya diğer kaybolan verileri el ile yeniden oluşturabilirsiniz. Örneğin, anlık görüntüdeki verileri toplu olarak veritabanına kopyalayabilir ve verileri el ile veritabanına geri birleştirebilirsiniz.

      Not

      Veritabanı anlık görüntülerini kullanma nedenleriniz veritabanında kaç eşzamanlı anlık görüntüye ihtiyacınız olduğunu, ne sıklıkta yeni anlık görüntü oluşturulacağını ve ne kadar süreyle tutulacağını belirler.

  • Test veritabanını yönetme.

    • Bir test ortamında, bir test protokolünün tekrar tekrar çalıştırılması sırasında veritabanının her test turunun başında aynı verileri içermesi yararlı olabilir. İlk turu çalıştırmadan önce, bir uygulama geliştiricisi veya test kullanıcısı test veritabanının anlık görüntüsünü oluşturabilir. Her test çalıştırmasından sonra veritabanı anlık görüntüsü geri döndürülerek veritabanı hızlı bir şekilde önceki durumuna döndürülebilir.

Terimler ve tanımlar

SQL Server'daki veritabanı anlık görüntüleri birkaç temel terim ve tanım içerir. veritabanı anlık görüntüsü, belirli bir noktada veritabanının (kaynak veritabanıolarak adlandırılır) salt okunur, statik bir görünümüdür. kaynak veritabanı, anlık görüntünün temel aldığı özgün veritabanıdır ve anlık görüntünün kullanılabilir olması için çevrimiçi ve erişilebilir durumda kalması gerekir. Seyrek dosyalar anlık görüntü oluşturulduktan sonra değiştirilen kaynak veritabanının özgün sayfalarını depolar. Bu dosyalar başlangıçta boş olur ve kaynak veritabanında değişiklikler gerçekleştikçe büyür. Bu terimleri anlamak, SQL Server'da veritabanı anlık görüntülerini etkili bir şekilde yönetmek ve kullanmak için gereklidir.

Veritabanı anlık görüntüsü

Veritabanının (kaynak veritabanı) işlem açısından tutarlı, salt okunur, statik görünümü.

Kaynak veritabanı

Veritabanı anlık görüntüsü için, anlık görüntünün oluşturulduğu veritabanı. Veritabanı anlık görüntüleri kaynak veritabanına bağlıdır. Veritabanının anlık görüntüleri veritabanıyla aynı sunucu örneğinde olmalıdır. Ayrıca, bu veritabanı herhangi bir nedenle kullanılamaz duruma gelirse, anlık görüntüleri kullanılamaz duruma gelir.

Seyrek dosya

NTFS dosya sistemi, aksi takdirde gerekli olandan çok daha az disk alanı gerektiren bir dosya sağlar. Seyrek dosya, veritabanı anlık görüntüsüne kopyalanan sayfaları depolamak için kullanılır. İlk oluşturulduğunda seyrek bir dosya az disk alanı kaplar. Veriler bir veritabanı anlık görüntüsüne yazıldıkçe NTFS, disk alanını ilgili seyrek dosyaya aşamalı olarak ayırır.

Önkoşullar

Herhangi bir kurtarma modelini kullanabilen kaynak veritabanı aşağıdaki önkoşulları karşılamalıdır:

  • Sunucu örneği, veritabanı anlık görüntülerini destekleyen bir SQL Server sürümünde çalıştırılmalıdır.

  • Veritabanı yansıtma oturumu içindeki bir yansıtma veritabanı olmadığı sürece kaynak veritabanının çevrimiçi olması gerekir.

  • Herhangi bir birincil veya ikincil veritabanındaki kullanılabilirlik grubunda veritabanı anlık görüntüsü oluşturabilirsiniz. Çoğaltma rolü ÇÖZÜMLENME durumunda olmamalı, BİRİNCİL veya İKİNCİL olmalıdır.

  • Veritabanı anlık görüntüsü oluşturduğunuzda, veritabanı senkronizasyon durumunun EŞİTLENİYOR veya EŞİTLENMIŞ şeklinde olması önerilir. Ancak, veritabanı anlık görüntüleri, durum SENKRONİZE OLMADIĞINDA oluşturulabilir.

  • Bir yansıtma veritabanında anlık görüntü oluşturabilmek için, veritabanının EŞZAMANLI yansıtma durumunda olması gerekir.

  • Kaynak veritabanı ölçeklenebilir paylaşılan veritabanı olarak yapılandırılamaz.

  • SQL Server 2019'da kaynak veritabanı bir MEMORY_OPTIMIZED_DATA dosya grubu içeremedi. SQL Server 2019'da bellek içi veritabanı anlık görüntüleri desteği eklendi.

  • Tüm kurtarma modelleri veritabanı anlık görüntülerini destekler.

Kaynak veritabanındaki sınırlamalar

Veritabanı anlık görüntüsü mevcut olduğu sürece anlık görüntünün kaynak veritabanında aşağıdaki sınırlamalar vardır:

  • Veritabanı bırakılamaz, ayrılamaz veya geri yüklenemez.

  • Kaynak veritabanını yedekleme genellikle çalışır, ancak veritabanı anlık görüntülerinden etkilenmez.

  • Kaynak veritabanındaki Girdi/Çıktı (G/Ç) miktarının artması ve her seferinde bir sayfa güncellendiğinde anlık görüntüye kopyala-yaz işlemi yapıldığından dolayı performans azalır.

  • Dosyalar kaynak veritabanından veya herhangi bir anlık görüntüden çıkarılamaz.

Veritabanı anlık görüntüleriyle ilgili sınırlamalar

Veritabanı anlık görüntüleri kaynak veritabanına bağlıdır ve disk hatalarına veya bozulmasına karşı korunmaz. Bu nedenle, raporlama amacıyla veya şema değişiklikleri sırasında yararlı olsalar da, normal yedekleme uygulamalarını tamamlamalı, değiştirmemelidir. Kaynak veritabanını veritabanı anlık görüntüsünü oluşturduğunuz noktaya geri yüklemeniz gerekiyorsa, bunu yapmanızı sağlayan bir yedekleme ilkesi uygulayın.

Veritabanı anlık görüntüleri için aşağıdaki sınırlamalar geçerlidir:

  • Veritabanı anlık görüntüsü oluşturulmalı ve kaynak veritabanıyla aynı sunucu örneğinde kalmalıdır.

  • Veritabanı anlık görüntüleri her zaman tüm veritabanında çalışır.

  • Veritabanı anlık görüntüleri kaynak veritabanına bağlıdır ve yedekli depolama alanı değildir. Disk hatalarına veya diğer bozulma türlerine karşı korunmaz. Bu nedenle, veritabanını geri döndürmek için anlık görüntüleri kullanmak yedekleme ve geri yükleme stratejinizin yerine geçmez. Zamanlanmış tüm yedeklemelerinizi gerçekleştirmek gerekli olmaya devam eder. Kaynak veritabanını veritabanı anlık görüntüsünü oluşturduğunuz noktaya geri yüklemeniz gerekiyorsa, bunu yapmanızı sağlayan bir yedekleme ilkesi uygulayın.

Kaynak veritabanında güncelleştirilen bir sayfa anlık görüntüye gönderildiğinde, anlık görüntüde disk alanı tükenirse veya başka bir hatayla karşılaşırsa, şüpheli hale gelir ve silinmesi gerekir.

  • Anlık görüntüler salt okunurdur. Salt okunur olduklarından bunlar yükseltilemez. Bu nedenle, veritabanı anlık görüntülerinin yükseltmeden sonra geçerli olması beklenemez.

  • model, masterve tempdb veritabanlarının anlık görüntüleri yasaktır.

  • Veritabanı anlık görüntü dosyalarının belirtimlerinin hiçbirini değiştiremezsiniz.

  • Veritabanı anlık görüntüsünden dosya bırakamazsınız.

  • Veritabanı anlık görüntülerini yedekleyemez veya geri yükleyemezsiniz.

  • Veritabanı anlık görüntülerini ekleyemez veya ayıramazsınız.

  • FAT32 dosya sisteminde veya RAW bölümlerinde veritabanı anlık görüntüleri oluşturamazsınız. NTFS dosya sistemi, veritabanı anlık görüntüleri tarafından kullanılan seyrek dosyaları sağlar.

  • Veritabanı anlık görüntülerinde tam metin dizin oluşturma desteklenmez. Tam metin katalogları kaynak veritabanından yayılmaz.

  • Veritabanı anlık görüntüsü, anlık görüntü oluşturma sırasında kaynak veritabanının güvenlik kısıtlamalarını devralır. Anlık görüntüler salt okunur olduğundan devralınan izinler değiştirilemez ve kaynakta yapılan izin değişiklikleri mevcut anlık görüntülere yansıtılamaz.

  • Anlık görüntü her zaman anlık görüntü oluşturma sırasında dosya gruplarının durumunu yansıtır: çevrimiçi dosya grupları çevrimiçi, çevrimdışı dosya grupları ise çevrimdışı kalır. Daha fazla bilgi için bu makalenin devamında yer alan "Çevrimdışı Dosya Grupları ile Veritabanı Anlık Görüntüleri" bölümüne bakın.

  • Kaynak veritabanı RECOVERY_PENDING duruma gelirse, anlık görüntülerine erişim sağlanamayabilir. Ancak, kaynak veritabanındaki sorun çözüldükten sonra anlık görüntüleri yeniden kullanılabilir duruma gelmelidir.

  • NTFS salt okunur veya NTFS sıkıştırılmış dosyalar için veritabanındaki geri alma desteklenmez. Bu tür dosya gruplarından birini içeren bir veritabanını geri döndürme girişimleri başarısız olur.

  • Günlük gönderim yapılandırmasında, veritabanı anlık görüntüleri yalnızca birincil veritabanında oluşturulabilir, ikincil veritabanında değil. Rolleri birincil ve ikincil sunucu örnekleri arasında değiştirdiğiniz varsayın. Bu durumda, birincil veritabanını ikincil veritabanı olarak ayarlamadan önce tüm veritabanı anlık görüntülerini silmeniz gerekir.

  • Veritabanı anlık görüntüsü ölçeklenebilir paylaşılan veritabanı olarak yapılandırılamaz.

Veritabanı anlık görüntüleri FILESTREAM dosya gruplarını desteklemez. FILESTREAM dosya grupları bir kaynak veritabanında varsa, veritabanı anlık görüntülerinde çevrimdışı olarak işaretlenir ve anlık görüntüler veritabanını geri döndürmek için kullanılamaz.

Not

Veritabanı anlık görüntüsünde yürütülen select deyimi filestream sütunu belirtmemelidir; aksi takdirde aşağıdaki hata iletisi döndürülür: Could not continue scan with NOLOCK due to data movement.

  • Salt okunur anlık görüntüdeki istatistikler eksik veya eski olduğunda, Veritabanı Altyapısı tempdbiçinde geçici istatistikler oluşturur ve korur. Daha fazla bilgi için bkz. İstatistikler.

Disk alanı

Veritabanı anlık görüntüleri disk alanı tüketir. Bir veritabanı anlık görüntüsünde disk alanı tükenirse, şüpheli olarak işaretlenir ve silinmesi gerekir. (Ancak kaynak veritabanı etkilenmez; üzerindeki eylemler normal şekilde devam eder.)

Ancak anlık görüntüler, veritabanının tam kopyasıyla karşılaştırıldığında yüksek oranda alan açısından verimlidir. Anlık görüntü, ömrü boyunca değişen sayfalar için yalnızca yeterli depolama alanı gerektirir. Genel olarak, anlık görüntüler sınırlı bir süre boyunca tutulur, bu nedenle boyutları önemli bir sorun değildir.

Ancak, anlık görüntüyü ne kadar uzun süre tutarsanız, kullanılabilir alanı kullanma olasılığı o kadar artar. Seyrek bir dosyanın büyüyebileceği en büyük boyut, anlık görüntü oluşturma sırasında karşılık gelen kaynak veritabanı dosya boyutudur. Disk alanı tükenirse veritabanı anlık görüntüsünün silinmesi (bırakılması) gerekir.

Not

Dosya alanı dışında, veritabanı anlık görüntüsü kabaca veritabanı kadar kaynak tüketir.

Çevrimdışı dosya grupları

Kaynak veritabanındaki çevrimdışı dosya grupları, aşağıdakilerden birini yapmaya çalıştığınızda veritabanı anlık görüntülerini etkiler:

  • Anlık görüntü oluşturun.

    • Bir kaynak veritabanında bir veya daha fazla çevrimdışı dosya grubu olduğunda, dosya grupları çevrimdışıyken anlık görüntü oluşturma başarılı olur. Seyrek dosyalar çevrimdışı dosya grupları için oluşturulmaz.
  • Dosya grubunu çevrimdışına alma

    • Kaynak veritabanında bir dosyayı çevrimdışına alabilirsiniz. Ancak, dosya grubu, anlık görüntü oluşturulduğunda çevrimiçiyse veritabanı anlık görüntülerinde çevrimiçi kalır. Sorgulanan veriler anlık görüntü oluşturma işleminden sonra değiştiyse, özgün veri sayfasına anlık görüntüden erişilebilir. Ancak, dosya grubundaki değiştirilmemiş verilere erişmek için anlık görüntüyü kullanan sorgular büyük olasılıkla giriş/çıkış (G/Ç) hatalarıyla başarısız olabilir.
  • Dosya grubunu çevrimiçi getirme

    • Veritabanı anlık görüntülerine sahip bir veritabanında bir dosya grubunu çevrimiçi duruma getiremezsiniz. Bir dosya grubu anlık görüntü oluşturma sırasında çevrimdışıysa veya veritabanı anlık görüntüsü mevcutken çevrimdışına alınırsa çevrimdışı kalır. Bunun nedeni, bir dosyanın yeniden çevrimiçi hale getirilmesinin geri yüklenmesini içermesidir; bu, veritabanında bir veritabanı anlık görüntüsü varsa mümkün değildir.
  • Kaynak veritabanını anlık görüntüye geri döndürme

    • Kaynak veritabanını veritabanı anlık görüntüsüne döndürmek için, anlık görüntü oluşturulduğunda çevrimdışı olanlar dışında tüm dosya gruplarının çevrimiçi olması gerekir.
Not: Yazar bu makaleyi yapay zeka yardımıyla oluşturmuştur. Daha fazla bilgi edinin