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.
Şunlar için geçerlidir: SQL Server 2016 (13.x) ve sonraki sürümler
Azure SQL Veritabanı
Azure SQL Yönetilen Örneği
SQL database in Microsoft Fabric
Zamansal tablolarla çalışırken, sistem sürümlemenin doğası nedeniyle aşağıdaki hususlar ve sınırlamalara dikkat edin:
Bir zaman tablosunda, kayıtları mevcut tablo ile tarih tablosu arasında ilişkilendirmek için birincil anahtarı tanımlanmalıdır. Geçmiş tablosunda tanımlanmış bir birincil anahtar olamaz.
SYSTEM_TIMEveValidFromdeğerlerini kaydetmek için kullanılanValidTodönem sütunları datetime2veri türüyle tanımlanmalıdır.Zamana bağlı söz dizimi, veritabanında yerel olarak depolanan tablolarda veya görünümlerde çalışır. Bağlantılı sunucudaki tablolar veya dış tablolar gibi uzak nesnelerle,
FORyan tümcesini veya nokta koşullarını doğrudan sorguda kullanamazsınız.Geçmiş tablosunun adı geçmiş tablosu oluşturulurken belirtilirse, şemayı ve tablo adını belirtmeniz gerekir.
Varsayılan olarak, geçmiş tablosu
PAGEsıkıştırılmıştır.Mevcut tablo bölümlenmişse, geçmiş tablosu varsayılan dosya grubunda oluşturulur çünkü bölümleme yapılandırması mevcut tablodan tarih tablosuna otomatik olarak kopyalanmaz.
Zamana bağlı ve geçmiş tabloları FileTable veya FILESTREAM kullanamaz. FileTable ve FILESTREAM, SQL Server dışında veri işlemeye izin verir, bu nedenle sistem sürümü oluşturma garanti edilemez.
Düğüm veya kenar tablosu zamansal tablo olarak oluşturulamaz veya değiştirilemez.
Zamana bağlı tablolar (n)varchar(max), varbinary(max), (n)metinve görüntügibi blob veri türlerini desteklerken, önemli depolama maliyetlerine neden olur ve boyutları nedeniyle performans etkileri olur. Sisteminizi tasarlarken, bu veri türlerini kullanırken dikkatli olun.
Geçmiş tablosu geçerli tabloyla aynı veritabanında oluşturulmalıdır. Bağlı sunucular üzerinde zamansal sorgulama desteklenmez.
Geçmiş tablosunda kısıtlamalar (birincil anahtar, yabancı anahtar, tablo veya sütun kısıtlamaları) olamaz.
Dizine alınan görünümler, zamansal sorguların (
FOR SYSTEM_TIMEyan tümcesi kullanan sorgular) üzerinde desteklenmez.Çevrimiçi seçeneğin (
WITH (ONLINE = ON) sürüm yönetimi yapılan bir geçici tablodaALTER TABLE ALTER COLUMNüzerinde hiçbir etkisi yoktur.ALTERsütun,ONLINEseçeneği için hangi değerin belirtildiğinden bağımsız olarak çevrimiçi bir işlem olarak gerçekleştirilmez.INSERTveUPDATEifadeleriSYSTEM_TIMEdönem sütunlarına başvuramaz. Bu sütunlara doğrudan değer ekleme girişimleri engellenir.TRUNCATE TABLEdesteklenmezkenSYSTEM_VERSIONINGONdesteklenir.Geçmiş tablosundaki verilerin doğrudan değiştirilmesine izin verilmez.
Veri işleme dili (DML) mantığının geçersiz kılınmasını önlemek için,
INSTEAD OFtetikleyicilerine ne geçerli tabloda ne de geçmiş tablosunda izin verilir.AFTERtetikleyicilerine yalnızca geçerli tabloda izin verilir. Bu tetikleyiciler, DML mantığının geçersiz kılınmasını önlemek için geçmiş tablosunda engellenir.Çoğaltma teknolojilerinin kullanımı sınırlıdır:
Erişilebilirlik grupları: Tam destekli
Değişiklik veri yakalama ve değişiklik takibi: Yalnızca mevcut tabloda destekleniyor
Anlık görüntü ve işlem çoğaltması: Yalnızca zamansal olarak etkinleştirilmemiş tek bir yayımcı için desteklenir ve zamansal etkinleştirilmiş bir abone ile. Yerel sistem saati bağımlılığı nedeniyle birden çok abonenin kullanımı desteklenmez ve bu da tutarsız zamana bağlı verilere yol açabilir. Bu durumda yayımcı, çevrimiçi işlem işleme (OLTP) iş yükü için kullanılırken, abone ise raporlama yükünü (
AS OFsorgulamaları dahil) devralmak için kullanılır. Dağıtım ajanı başladığında, dağıtım ajanı durana kadar açık tutulan bir işlem açar.ValidFromveValidTodağıtım ajanının başlattığı ilk işlemin başlangıç zamanına kadar doldurulur. Uygulamanız veya kuruluşunuz içinValidFromveValidTo'in geçerli sistem zamanına yakın bir süreyle doldurulması önemliyse, dağıtım aracısını sürekli çalıştırmak yerine bir zamanlamaya göre çalıştırmak tercih edilebilir. Daha fazla bilgi için bkz. Zamansal tablo kullanım senaryoları.Birleştirme replikasyonu: Zamansal tablolar için desteklenmiyor
Normal sorgular yalnızca geçerli tablodaki verileri etkiler. Geçmiş tablosundaki verileri sorgulamak için zamana bağlı sorgular kullanmanız gerekir. Daha fazla bilgi için bkz. Sistem sürümüne sahip bir zamana bağlı tablodaki verileri sorgulama.
Optimal bir indeksleme stratejisi, mevcut tabloda kümelenmiş bir columnstore index veya B-tree rowstore index ve tarih tablosunda kümelenmiş columnstore index içerir; böylece optimal depolama boyutu ve performansı elde edilir. Kendi geçmiş tablonuzu oluşturursanız veya kullanıyorsanız, dönem sonu sütunundan başlayan dönem sütunlarından oluşan bu tür bir indeks oluşturun. Bu indeks, zamansal sorgulama ve veri tutarlılığı kontrolüne dahil olan sorguları hızlandırır. Varsayılan geçmiş tablosu, dönem sütunlarına (son, başlangıç) dayalı olarak kümelenmiş bir sıra deposu indeksi oluşturur. En azından, kümelenmemiş bir sıra deposu indeksi kullanın.
Geçmiş tablosu oluşturulduğunda, aşağıdaki nesneler/özellikler geçerli tablodan geçmiş tablosuna çoğaltılmaz:
- Dönem tanımı
- Kimlik tanımı
- Indexes
- Statistics
- Kısıtlamaları kontrol etme
- Triggers
- Bölümleme yapılandırması
- Permissions
- Satır düzeyi güvenlik önkoşulları
Bir tarih tablosunu tarih tabloları zincirinde mevcut tablo olarak yapılandıramazsınız.
Note
Belgelerde genellikle dizinlere başvuruda B ağacı terimi kullanılır. Rowstore dizinlerinde Veritabanı Altyapısı bir B+ ağacı uygular. Bu, sütun deposu dizinleri veya bellek için iyileştirilmiş tablolardaki dizinler için geçerli değildir. Daha fazla bilgi için SQL Server ve Azure SQL dizin mimarisi ve tasarım kılavuzuna bakın.
İlgili içerik
- Zamansal tablolar
- Sistem sürümüne sahip zamana bağlı tabloları kullanmaya başlama
- Zamansal tablo sistemi tutarlılık denetimleri
- Zaman tabloları ile Bölümlendirme
- Zamansal tablo güvenliği
- Sistem sürümündeki zamana bağlı tablolarda geçmiş verileri saklamayı yönetme
- Bellek için optimize edilmiş tablolarla sistem sürümlemesi yapılmış zamansal tablolar
- Zamansal tablo meta veri görünümleri ve işlevleri