Aracılığıyla paylaş


Veritabanı Yansıtma ve Günlük Aktarma (SQL Server)

Şunlar için geçerlidir: SQL Server

Belirli bir veritabanı yansıtılabilir veya günlük gönderilebilir; aynı anda hem yansıtılabilir hem de günlük gönderilebilir. Hangi yaklaşımı kullanacağınızı seçmek için aşağıdakileri göz önünde bulundurun:

  • Kaç hedef sunucuya ihtiyacınız var?

    Yalnızca tek bir hedef veritabanına ihtiyacınız varsa, veritabanı yansıtması önerilen çözümdür.

    Birden fazla hedef veritabanına ihtiyacınız olduğunda, tek başına veya veritabanı yansıtması ile birlikte günlük gönderimini kullanmanız gerekmektedir. Bu yaklaşımların birleştirilmesi, veritabanı yansıtmanın avantajlarının yanı sıra günlük gönderimi ile birden çok hedefe sağlanan desteği de sunar.

  • Hedef veritabanında günlüğü geri yüklemeyi geciktirmeniz gerekiyorsa (genellikle mantıksal hatalara karşı koruma sağlamak için), tek başına veya veritabanı yansıtması ile günlük gönderimini kullanın.

Bu konu başlığında, günlük gönderimi ve veritabanı yansıtmasını birleştirmeyle ilgili önemli noktalar ele alınmaktadır.

Uyarı

Bu teknolojilere giriş bilgileri için bkz. Veritabanı Yansıtma (SQL Server) ve Günlük Gönderimi Hakkında (SQL Server).

Log Shipping ve Veritabanı Yansıtmayı Birleştirme

Yansıtma oturumunda yer alan asıl veritabanı, günlük gönderimi yapılandırmasında birincil veritabanı olarak da görev yapabilir, veya tam tersi, günlük gönderimi yedeği paylaşımı sağlam olduğu sürece. Veritabanı yansıtma oturumu, zaman uyumlu (işlem güvenliği TAM olarak ayarlandığında) ya da zaman uyumsuz (işlem güvenliği KAPALI olarak ayarlandığında) herhangi bir çalışma modunda çalışır.

Uyarı

Veritabanı yansıtmasını bir veritabanında kullanmak için her zaman tam kurtarma modeli gerekir.

Genellikle, günlük gönderimi ve veritabanı yansıtması birleştirildiğinde, yansıtma oturumu günlük gönderiminin öncesinde oluşturulur, ancak bu gerekli değildir. Ardından, geçerli asıl veritabanı, bir veya daha fazla uzak ikincil veritabanıyla birlikte günlük gönderimi için birincil veritabanı (asıl/birincil veritabanı) olarak yapılandırılır. Ayrıca, yansıtma veritabanının günlük gönderimi birincil ( yansıtma/birincil veritabanı) olarak yapılandırılması gerekir. Log shipping sekonder veritabanları, asıl/birincil sunucu veya yansıtma/birincil sunucudan farklı sunucu örneklerinde bulunmalıdır.

Uyarı

Günlük gönderme işleminde yer alan sunucuların büyük/küçük harf duyarlılığı ayarları uyumlu olmalıdır.

Log gönderim oturumu sırasında, ana veritabanındaki yedekleme işleri bir yedekleme klasöründe günlük yedeklemeleri oluşturur. Buradan, yedekler ikincil sunucuların kopyalama işleri tarafından kopyalanır. Yedekleme işlerinin ve kopyalama işlerinin başarılı olması için günlük gönderim yedekleme klasörüne erişimi olmalıdır. Birincil sunucunun kullanılabilirliğini en üst düzeye çıkarmak için, yedekleme klasörünü ayrı bir konak bilgisayarda paylaşılan bir yedekleme konumunda kurmanızı öneririz. Yansıtma/birincil sunucu da dahil olmak üzere tüm log gönderim sunucularının yedekleme paylaşımına (yedekleme paylaşımı olarak bilinir) erişebildiğinden emin olun.

Veritabanı yansıtmasında bir başarısızlık durumu olduğunda ve yük başka bir sunucuya devredildiğinde günlük gönderiminin devam etmesi için, yansıtma sunucusunu asıl veritabanında birincil sunucu için kullandığınız yapılandırmayı kullanarak birincil sunucu olarak da yapılandırmanız gerekir. Yansıtma veritabanı şu anda geri yükleme durumunda olduğu için, yedekleme işlerinin günlük dosyasını yedeklemesini engellemektedir. Bu, yansıma/birincil veritabanının, günlük yedekleri şu anda ikincil sunucular tarafından kopyalanmakta olan asıl/birincil veritabanıyla karışmamasını sağlar. Sahte uyarıları önlemek için yedekleme işi yansıtma/birincil veritabanında yürüttükten sonra yedekleme işi log_shipping_monitor_history_detail tablosuna bir ileti kaydeder ve aracı işi başarı durumunu döndürür.

Yansıtma/birincil veritabanı günlük gönderim oturumunda etkin değil. Ancak yansıtma işlemi başarısız olursa, eski yansıtma veritabanı asıl veritabanı olarak çevrimiçi olur. Bu noktada, bu veritabanı log shipping birincil veritabanı olarak da etkin hale gelir. Daha önce bu veritabanında oturum açamayan günlük gönderim yedekleme işleri, günlük göndermeye başlar. Buna karşılık, bir hizmet kesintisi yedekleme, önceki asıl/birincil veritabanının yeni yansıtma/birincil veritabanı haline gelmesine ve geri yükleme durumuna girmesine neden olur ve bu veritabanındaki yedekleme işlemleri günlüğü yedeklemeyi durdurur.

Uyarı

Otomatik yük devretme durumunda, yansıtma rolüne geçiş, eski asıl/birincil veritabanı yansıtma oturumuna yeniden katıldığında gerçekleşir.

Otomatik yük devretme ile yüksek güvenlik modunda çalışmak için yansıtma oturumu tanık olarak bilinen ek bir sunucu örneğiyle yapılandırılır. Veritabanı senkronize edildikten sonra asıl veritabanı herhangi bir nedenle kaybedilirse ve yansıtma sunucusu ile tanık hala birbirleriyle iletişim kurabiliyorsa, otomatik failover gerçekleşir. Otomatik yük devretme, yansıtma sunucusunun ana rolünü üstlenmesine ve veritabanını ana veritabanı olarak çevrimiçi hale getirmesine neden olur. Günlük gönderimi yedekleme konumu, yeni ana/birincil sunucu tarafından erişilebilir durumdaysa, bu sunucuya ait yedekleme işlemleri günlük yedeklerini bu konuma göndermeye başlar. Veritabanı yansıtma zaman uyumlu modu, günlük zincirinin yansıtma yük devretme işleminden etkilenmediğini ve yalnızca geçerli günlüğün geri yüklendiğini garanti eder. İkincil sunucular, farklı bir sunucu örneğinin birincil sunucu haline geldiğini bilmeden günlük yedeklemelerini kopyalamaya devam eder.

Yerel günlük gönderim izleyicisi kullanırken, bu senaryoya uyum sağlamak için dikkat edilmesi gereken özel noktalar yoktur. Bu senaryoyla uzaktan izleme örneği kullanma hakkında daha fazla bilgi için, bu konunun devamında yer alan "Veritabanı Yansıtmasının Uzaktan İzleme Örneği Üzerindeki Etkisi" konusuna bakın.

Ana veritabanından Yansıtma veritabanına yük devretme

Aşağıdaki şekilde, yansıtmanın yüksek güvenlik modunda ve otomatik yük devretme ile çalışırken, günlük gönderimi ve veritabanı yansıtmasının birlikte nasıl çalıştığı gösterilmektedir. Başlangıçta, Server_A hem ayna için asıl sunucu hem de günlük gönderimi için birincil sunucudur. Server_B yansıtma sunucusudur ve şu anda etkin olmayan birincil sunucu olarak da yapılandırılır. Server_C ve Server_D log gönderimi ikincil sunucularıdır. Günlük gönderim oturumunun kullanılabilirliğini en üst düzeye çıkarmak için yedekleme konumu ayrı bir ana bilgisayardaki paylaşım dizinindedir.

Günlük gönderimi ve veritabanı yansıtma

Yansıtma yük devretme işleminden sonra, ikincil sunucuda tanımlanan birincil sunucu adı değişmez. .

Veritabanı Yansıtmanın Uzaktan İzleme Örneği Üzerindeki Etkisi

Günlük gönderimi bir uzaktan izleme örneğiyle kullanıldığında, günlük gönderim oturumunu ve veritabanı yansıtmasını birleştirmek, izleyici tablolarındaki bilgileri etkiler. Birincil sistem hakkındaki bilgiler, ana sistemde/birincil sistemde yapılandırılan ve her ikincil sistemde yapılandırılan izleyicinin birleşimidir.

İzlemeyi mümkün olduğunca sorunsuz tutmak için, uzak bir monitör kullandığınızda, ikincil monitörde birincili yapılandırırken orijinal birincil adı belirtmenizi öneririz. Bu yaklaşım, günlük aktarım yapılandırmasını Microsoft SQL Server Agent'tan değiştirmeyi de kolaylaştırır. İzleme hakkında daha fazla bilgi için bkz. Günlük Gönderimi İzleme (Transact-SQL).

Yansıtma ve Günlük Aktarımı'nın Birlikte Ayarlanması

Veritabanı yansıtma ve günlük gönderimini birlikte ayarlamak için aşağıdaki adımlar gereklidir:

  1. NORECOVERY ile asıl/birincil veritabanının yedeklerini, daha sonra asıl/birincil veritabanı için bir yansıtma veritabanı olarak kullanılmak üzere başka bir sunucu örneğine geri yükleyin. Daha fazla bilgi için bkz. Yansıtma Veritabanını Yansıtma için Hazırlama (SQL Server).

  2. Veritabanı yansıtmayı ayarlayın. Daha fazla bilgi için bkz. Windows Kimlik Doğrulaması Kullanarak Veritabanı Yansıtma Oturumu Oluşturma (SQL Server Management Studio) veya Veritabanı Yansıtmayı Ayarlama (SQL Server).

  3. Asıl/birincil veritabanının yedeklerini, daha sonra birincil veritabanı için ikincil veritabanları olarak kullanılmak üzere log shipping amaçlı diğer sunucu örneklerine geri yükleyin.

  4. Bir veya daha fazla ikincil veritabanı için birincil veritabanı olarak asıl veritabanında günlük gönderimini ayarlayın.

    Tek bir paylaşımı yedekleme dizini (yedekleme paylaşımı) olarak ayarlamanız gerekir. Bu, sorumlu ve yansıtma sunucuları arasında rol geçişi yaptıktan sonra yedekleme işlerinin daha önce olduğu gibi aynı dizine yazmaya devam etmesini sağlar. En iyi yöntem, bu paylaşımın, yansıtma ve günlük gönderimi yapılan veritabanlarını barındıran sunuculardan farklı bir fiziksel sunucuda yer aldığından emin olmaktır.

    Daha fazla bilgi için bkz. Log Shipping'i (SQL Server) Yapılandırma.

  5. Ana sunucudan yansıtıcıya el ile yük devretme.

    El ile yük devretme gerçekleştirmek için:

  6. Yeni ana veritabanı (önceki yansıtma) olarak günlük gönderimini ayarlayın.

    Önemli

    İkincil bir kurulum gerçekleştirmeyin.

    4. adımda kullandığınız yedekleme paylaşımını kullanmanız gerekir.

    SQL Server Management Studio'daki İşlem Günlüğü Gönderimi arabirimi, günlük gönderim yapılandırması başına yalnızca bir birincil veritabanını destekler. Bu nedenle, yeni ana bilgisayarı birincil olarak ayarlamak için saklı yordamları kullanmanız gerekir.

  7. Orijinal ana sunucuya geri dönmek için başka bir manuel yük devretme gerçekleştirin.