Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu makale, Azure SQL Yönetilen Örneği'nde bir veritabanını yansıtmak için otomatik yeniden izlemeyi kapsar.
Belirli koşullarda, Fabric'e yansıtma işlemi gecikirse, artırılmış işlem günlüğü dosyası kullanımı ortaya çıkabilir. Taahhüt edilen değişiklikler yansıtılmış veritabanına çoğaltıldıktan sonra ancak işlem günlüğü kesilebilir. İşlem günlüğü boyutu tanımlı sınır üst sınırına ulaştığında veritabanına yazma işlemi başarısız olur.
İşletimsel veritabanlarını kritik OLTP işlemleri için yazma hatalarına karşı korumak amacıyla, Azure SQL Veritabanı ve Azure SQL Yönetilen Örneği'nde yansıtma, işlem günlüğünün kesilmesini ve veritabanı yansıtmasının Fabric'e yeniden başlatılmasını sağlayan otomatik yeniden tohumlama özelliğini kullanır.
Yeniden görüntülenen, yansıtılmış veritabanından Microsoft Fabric'e işlem akışını durdurur ve yansıtmayı mevcut durumda yeniden başlatıyor. Yeniden izleme, yansıtma için yapılandırılmış tabloların yeni bir ilk anlık görüntüsünü oluşturmayı ve bunu Microsoft Fabric'e çoğaltmayı içerir. Anlık görüntüden sonra artımlı değişiklikler çoğaltılır.
Azure SQL Veritabanı ve Azure SQL Yönetilen Örneği'nde yeniden denetleme veritabanı düzeyinde veya tablo düzeyinde gerçekleşebilir.
Veritabanı düzeyi yeniden yüklendi: Yansıtma için etkinleştirilen veritabanındaki tüm tablolar için sürekli veri yansıtma durdurulur, işlem günlüğü kesilir ve yansıtma için etkinleştirilen tüm tabloların ilk anlık görüntüsü yeniden yayımlanarak veritabanı için yansıtma yeniden başlatılır. Ardından, kademeli değişiklikler sürekli olarak çoğaltmayı sürdürür.
Tablo düzeyi yeniden yüklendi: Verilerin sürekli yansıtılması yalnızca yeniden izleme gerektiren tablolar için durdurulur. Etkilenen tablolar için yansıtma, ilk anlık görüntünün yeniden yayınlama işlemi ile yeniden başlatılır. Ardından, kademeli değişiklikler sürekli olarak çoğaltmayı sürdürür.
Veritabanı düzeyinde otomatik yeniden tohumlamanın nedenleri
Veritabanı düzeyinde yapılan yeniden tohumlama, işlem günlüğünün maksimum boyuta ulaşmasını engelleyerek veritabanı yazma kullanılabilirliğini korur. İşlem günlüğü boyutu üst sınırı, Azure SQL Veritabanı veya Azure SQL Yönetilen Örneği'nin veritabanı Hizmet Düzeyi Hedefi'ne bağlıdır. Bir veritabanı Fabric yansıtması için etkinleştirildiğinde, işlem günlüğü kullanımı büyümeye devam edebilir ve günlük kısaltılmasını engelleyebilir. İşlem günlüğü boyutu tanımlanan en yüksek sınıra ulaştığında veritabanına yazma işlemi başarısız olur.
Yansıtma nedeniyle engellenen günlük kesilmesi birden çok nedenden dolayı gerçekleşebilir:
- Kaynak verileri yansıtılmış veritabanına yansıtırken ortaya çıkan gecikme, replikasyon bekleyen işlemlerin işlem günlüğünden kesilmesini önler.
- Uzun süredir çalışan çoğaltılmış işlemler, çoğaltmayı bekleyen işlem olarak kalır ve işlem günlüğü alanını tutmaya devam eder, bu nedenle kesilemez.
- OneLake'teki giriş bölgesine yazılan sürekli hatalar, çoğaltmayı engelleyebilir.
Bu senaryo yetersiz izinlerden kaynaklanabilir. Dokuya Yansıtma, One Lake'teki giriş bölgesine yazmak için Sistem Tarafından Atanan Yönetilen Kimlik (SAMI) veya Kullanıcı Tarafından Atanan Yönetilen Kimlik (UAMI) kullanır. Bu doğru yapılandırılmazsa, işlemlerin çoğaltılma işlemi tekrar tekrar başarısız olabilir.
Uyarı
Kullanıcı Tarafından Atanan Yönetilen Kimlik (UAMI) desteği şu anda önizleme aşamasındadır.
Yazılım altyapısı kapasitesi duraklatılır ve devam ettirilirse, yansıtılmış veritabanı durumu Duraklatıldı olarak kalır. Sonuç olarak, kaynakta yapılan değişiklikler OneLake'e çoğaltılamaz. Yansıtmayı sürdürmek için Doku portalında yansıtılmış veritabanına gidin ve Çoğaltmayı sürdür'ü seçin. Yansıtma duraklatıldığı yerden devam eder.
Fabric kapasitesi uzun süre duraklatılırsa, yansıtma durduğu noktadan devam etmeyebilir ve verileri baştan tekrar işlemeye başlayabilir. Bunun nedeni, yansıtmanın uzun süre duraklatılmasının kaynak veritabanı işlem günlüğü kullanımının büyümesine ve günlük kesilmesinin engellenmesine neden olabilmesidir. Yansıtma devam ettirildiğinde, kullanılan işlem günlüğü dosyası alanı dolmak üzereyse, tutulan günlük alanını boşaltmak için veritabanının yeniden başlatılması başlatılır.
Tablo düzeyinde otomatik yeniden sıralama sebepleri
Yansıtma için etkinleştirilen kaynak tablolarda şema değişiklikleri gerçekleştiğinde, Doku'daki yansıtılmış tabloların şeması artık kaynakla eşleşmez. Bunun nedeni kaynakta aşağıdaki ALTER TABLE veri tanımı dili (DDL) T-SQL deyimleri olabilir:
- Sütun ekleme/bırakma/değiştirme/yeniden adlandırma
- Tabloyu kesme/yeniden adlandırma
- Kümelenmemiş birincil anahtar ekleme
Reseed işlemi yalnızca etkilenen tablolar için tetiklenir.
Tanılama
Doku yansıtmanın yansıtılmış bir veritabanı için günlük kesilmesini engelleyip engellemediğini belirlemek için sistem kataloğu görünümündeki sütunu log_reuse_wait_desc kontrol sys.databases ederek nedeninin olup REPLICATIONolmadığını denetleyin. Günlüğü yeniden kullanma bekleme türleri hakkında daha fazla bilgi için bkz . İşlem günlüğünün kesilmesini geciktiren faktörler. Örneğin:
SELECT [name], log_reuse_wait_desc
FROM sys.databases
WHERE is_data_lake_replication_enabled = 1;
Sorgu günlük yeniden kullanım bekleme türünü gösteriyorsa REPLICATION , doku yansıtması nedeniyle işlem günlüğü işlenen işlemleri boşaltamaz ve doldurmaya devam eder. Azure SQL Veritabanı'nda günlük kullanımıyla ilgili ek sorun giderme işlemleri için bkz. Azure SQL Veritabanı ile ilgili işlem günlüğü hatalarını giderme.
Toplam günlük alanını, geçerli günlük kullanımını ve kullanılabilir alanı denetlemek için aşağıdaki T-SQL betiğini kullanın:
USE <Mirrored database name>
GO
--initialize variables
DECLARE @total_log_size bigint = 0;
DECLARE @used_log_size bigint = 0;
DECLARE @size int;
DECLARE @max_size int;
DECLARE @growth int;
--retrieve total log space based on number of log files and growth settings for the database
DECLARE sdf CURSOR
FOR
SELECT SIZE*1.0*8192/1024/1024 AS [size in MB],
max_size*1.0*8192/1024/1024 AS [max size in MB],
growth
FROM sys.database_files
WHERE TYPE = 1
OPEN sdf
FETCH NEXT FROM sdf INTO @size,
@max_size,
@growth
WHILE @@FETCH_STATUS = 0
BEGIN
SELECT @total_log_size = @total_log_size +
CASE @growth
WHEN 0 THEN @size
ELSE @max_size
END
FETCH NEXT FROM sdf INTO @size,
@max_size,
@growth
END
CLOSE sdf;
DEALLOCATE sdf;
--current log space usage
SELECT @used_log_size = used_log_space_in_bytes*1.0/1024/1024
FROM sys.dm_db_log_space_usage;
-- log space used in percent
SELECT @used_log_size AS [used log space in MB],
@total_log_size AS [total log space in MB],
@used_log_size/@total_log_size AS [used log space in percentage];
Yeniden tohumlama sırasında
Yeniden izleme sırasında, Microsoft Fabric'teki yansıtılmış veritabanı öğesi kullanılabilir ancak yeniden kullanıma sunulana kadar artımlı değişiklikler almaz. içindeki reseed_statesys.sp_help_change_feed_settings sütun, yeniden depolanmış durumu gösterir.
Doku Yansıtma'da kaynak SQL veritabanı işlem günlüğü izlenir. Otomatik yanıtlanan yalnızca aşağıdaki üç koşul doğru olduğunda tetiklenir:
- İşlem günlüğü dolu yüzdeden fazladır
@autoreseedthreshold, örneğin,70. - Günlüğü yeniden kullanma nedeni şudur:
REPLICATION. -
REPLICATIONgünlük yeniden kullanım bekleme işlemi, işlem çoğaltması veya CDC gibi diğer özellikler için tetiklenebildiği için, otomatik yanıtlanan yalnızca = 1 olduğundasys.databases.is_data_lake_replication_enabledgerçekleşir. Bu değer Doku Yansıtma tarafından yapılandırılır.
Veritabanı düzeyinde bir yeniden sıfırlamanın tetiklenip tetiklenmediğini kontrol edin
Veritabanının tamamı yeniden tohumlanıyorsa aşağıdaki koşullara bakın.
Kaynak SQL veritabanındaki sistem saklı yordamında bulunan
reseed_statesütunu,sys.sp_help_change_feed_settingskolonunun mevcut yeniden başlatma durumunu gösterir.-
0= Normal. -
1= Veritabanı, Doku'ya yeniden başlatma işlemini başlattı. Geçiş durumu. -
2= Veritabanı Doku'ya yeniden başlatılıyor ve çoğaltmanın yeniden başlatılmasını bekliyor. Geçiş durumu. Çoğaltma oluşturulduğunda, yeniden görüntülenen durum öğesine0taşınır.
Daha fazla bilgi için bkz. sys.sp_help_change_feed_settings.
-
Veritabanında yansıtma için etkinleştirilen tüm tabloların
7içindekistatesütunu,sys.sp_help_change_feed_tabledeğerine sahiptir.Daha fazla bilgi için bkz. sys.sp_help_change_feed_table.
Tablo düzeyinde bir yeniden başlatmanın tetiklenip tetiklenmediğini kontrol edin.
Yeniden tohumlanan herhangi bir tablo için,
7içindekistatesütunu içinsys.sp_help_change_feed_tabledeğerini arayın.Daha fazla bilgi için bkz. sys.sp_help_change_feed_table.