Ekinlikler
31 Mar 23 - 2 Nis 23
En büyük SQL, Fabric ve Power BI öğrenme etkinliği. 31 Mart – 2 Nisan. 400 ABD doları tasarruf etmek için FABINSIDER kodunu kullanın.
Bugün kaydolunBu tarayıcı artık desteklenmiyor.
En son özelliklerden, güvenlik güncelleştirmelerinden ve teknik destekten faydalanmak için Microsoft Edge’e yükseltin.
Şunlar için geçerlidir: SQL Server 2016 (13.x) SP 2 ve üzeri
Azure SQL Veritabanı
Azure SQL Yönetilen Örneği
İşlem günlüğünün sanal günlük dosyası (VLF) bilgilerini döndürür. Tüm işlem günlüğü dosyalarının tablo çıkışında birleştirildiğine dikkat edin. Çıktıdaki her satır, işlem günlüğündeki bir VLF'yi temsil eder ve günlükteki bu VLF ile ilgili bilgiler sağlar.
sys.dm_db_log_info ( database_id )
Veritabanının kimliğidir.
Geçerli veritabanının VLF bilgilerini döndürmek için NULL değerini belirtin.
Yerleşik işlev DB_ID belirtilebilir. Veritabanı adı belirtmeden DB_ID
kullanırken, geçerli veritabanının uyumluluk düzeyi 90 veya daha yüksek olmalıdır.
Sütun adı | Veri tipi | Açıklama |
---|---|---|
database_id | int | Veritabanı Kimliği. Azure SQL Veritabanı'nda değerler tek bir veritabanı veya elastik havuz içinde benzersizdir, ancak mantıksal sunucu içinde değildir. |
dosya_kimlik | smallint | İşlem günlüğünün dosya kimliği. |
vlf_begin_offset | büyük_tamsayı | sanal günlük dosyasının (VLF) işlem günlüğü dosyasının başından kadar olan ofset konumu. |
vlf_boyutu_mb | yüzdür | sanal günlük dosyasının (VLF) boyutu MB olarak, iki ondalık basameğe yuvarlanır. |
vlf_sıra_numarası | bigint | Oluşturulan sırayla sanal günlük dosyası (VLF) sıra numarası. Günlük dosyasındaki VLF'leri benzersiz olarak tanımlamak için kullanılır. |
vlf_active | bit |
sanal günlük dosyası (VLF) kullanımda olup olmadığını gösterir. 0 - VLF kullanımda değil. 1 - VLF etkindir. |
vlf_status | int |
sanal günlük dosyası (VLF)'in durumu. Olası değerler şunlardır: 0 - VLF etkin değil 1 - VLF başlatıldı ancak kullanılmadı 2 - VLF etkindir. |
vlf_parity | tinyint | numaralı sanal günlük dosyasının (VLF) eşliği. Bir VLF içindeki günlüğün sonunu belirlemek için dahili olarak kullanılır. |
vlf_first_lsn | nvarchar(48) | |
vlf_create_lsn | nvarchar(48) | sanal günlük dosyasını (VLF)oluşturan günlük kaydının Günlük sırası numarası (LSN). |
vlf_şifreleyici_parmakizi | varbinary(20) |
Şunlar için geçerlidir: SQL Server 2019 (15.x) ve üzeri VLF Saydam Veri Şifrelemesikullanılarak şifrelenirse VLF şifreleyicisinin parmak izini gösterir, aksi takdirde NULL . |
sys.dm_db_log_info
dinamik yönetim işlevi DBCC LOGINFO
deyiminin yerini alır.
Büyüme olayı temelinde kaç VLIF oluşturulduğuna ilişkin formül, SQL Server İşlem Günlüğü Mimarisi ve Yönetim Kılavuzubölümünde ayrıntılı olarak açıklanmaktadır. Bu formül SQL Server 2022'den (16.x) başlayarak biraz değişti.
Veritabanında VIEW SERVER STATE
izni gerektirir.
Veritabanında veritabanı performans durumunu görüntüleme izni gerektirir.
Aşağıdaki sorgu, veritabanı başlatma, geri yükleme ve kurtarma süresini etkileyebilecek günlük dosyalarında 100'den fazla VLF'ye sahip veritabanlarını belirler.
SELECT [name], COUNT(l.database_id) AS 'vlf_count'
FROM sys.databases AS s
CROSS APPLY sys.dm_db_log_info(s.database_id) AS l
GROUP BY [name]
HAVING COUNT(l.database_id) > 100;
İşlem günlüğünün küçülip küçülemediğini belirlemek için işlem günlüğünde SHRINK FILE çalıştırmadan önce son etkin VLF'nin konumunu belirlemek için aşağıdaki sorgu kullanılabilir.
USE AdventureWorks2022;
GO
;WITH cte_vlf AS (
SELECT ROW_NUMBER() OVER(ORDER BY vlf_begin_offset) AS vlfid, DB_NAME(database_id) AS [Database Name], vlf_sequence_number, vlf_active, vlf_begin_offset, vlf_size_mb
FROM sys.dm_db_log_info(DEFAULT)),
cte_vlf_cnt AS (SELECT [Database Name], COUNT(vlf_sequence_number) AS vlf_count,
(SELECT COUNT(vlf_sequence_number) FROM cte_vlf WHERE vlf_active = 0) AS vlf_count_inactive,
(SELECT COUNT(vlf_sequence_number) FROM cte_vlf WHERE vlf_active = 1) AS vlf_count_active,
(SELECT MIN(vlfid) FROM cte_vlf WHERE vlf_active = 1) AS ordinal_min_vlf_active,
(SELECT MIN(vlf_sequence_number) FROM cte_vlf WHERE vlf_active = 1) AS min_vlf_active,
(SELECT MAX(vlfid) FROM cte_vlf WHERE vlf_active = 1) AS ordinal_max_vlf_active,
(SELECT MAX(vlf_sequence_number) FROM cte_vlf WHERE vlf_active = 1) AS max_vlf_active
FROM cte_vlf
GROUP BY [Database Name])
SELECT [Database Name], vlf_count, min_vlf_active, ordinal_min_vlf_active, max_vlf_active, ordinal_max_vlf_active,
((ordinal_min_vlf_active-1)*100.00/vlf_count) AS free_log_pct_before_active_log,
((ordinal_max_vlf_active-(ordinal_min_vlf_active-1))*100.00/vlf_count) AS active_log_pct,
((vlf_count-ordinal_max_vlf_active)*100.00/vlf_count) AS free_log_pct_after_active_log
FROM cte_vlf_cnt;
GO
Ekinlikler
31 Mar 23 - 2 Nis 23
En büyük SQL, Fabric ve Power BI öğrenme etkinliği. 31 Mart – 2 Nisan. 400 ABD doları tasarruf etmek için FABINSIDER kodunu kullanın.
Bugün kaydolunEğitim
Modül
ÇOK büyük veritabanlarını (VLDB) SAP için Azure'a geçirme - Training
Bu modülde, çok büyük veritabanları olarak kabul edilen 20 TB üzerindeki veritabanlarının geçişi ve kabul edilebilir kapalı kalma süresi içinde ve riskin en aza indirilmesiyle şirket içinden Azure'a geçiş yapmak için gerekli teknikler ve yordamlar ele alınmaktadır. SAP İş Yükleri için Microsoft Azure'ı Planlama ve Yönetme AZ-120 Sınavına hazırlanın.
Belgeler
İşlem günlüğü hakkında bilgi edinin. Her SQL Server veritabanı, sistem hatası olduğunda ihtiyacınız olan tüm işlemleri ve veritabanı değişikliklerini kaydeder.