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
Geçici tablonuzda sürüm oluşturma işlemini geçici veya kalıcı olarak durdurmak isteyebilirsiniz. bunu yapmak için SYSTEM_VERSIONING yan tümcesini OFFolarak ayarlayabilirsiniz.
SİSTEM_SÜRÜMLENDİRME = KAPALI ayarla
Belirli bakım işlemlerini zamansal bir tabloda yapmak istiyorsanız veya artık sürümlü bir tabloya ihtiyacınız yoksa sistem sürümlemeyi durdurun. Bu işlem size iki bağımsız tablo verir:
- Dönem tanımına sahip geçerli tablo
- Geçmiş tablosu, normal tablo olarak
Remarks
Geçmiş tablosu, SYSTEM_VERSIONING = OFFsırasında güncelleştirmeleri kaydetmeyi durdurur.
SYSTEM_VERSIONING = OFF ayarladığınızda veya SYSTEM_TIME dönemi bıraktığınızda zamansal tabloda veri kaybı olmaz.
SYSTEM_VERSIONING = OFF ayarlayıp SYSTEM_TIME dönemini kaldırmadığınızda, sistem her ekleme ve güncelleme işleminde dönem sütunlarını güncellemeye devam eder. Geçerli tablodaki silme işlemleri kalıcıdır.
Dönem sütunlarını silmek için SYSTEM_TIME dönemi kaldırmanız gerekir. Dönem sütunlarını kaldırmak için ALTER TABLE <table> DROP <column>;kullanın. Daha fazla bilgi için bkz. Sistem sürümüne sahip bir zamana bağlı tablonun şemasını değiştirme.
SYSTEM_VERSIONING = OFFayarladığınızda, yeterli izinlere sahip tüm kullanıcılar geçmiş tablosunun şemasını ve içeriğini değiştirebilir, hatta geçmiş tablosunu kalıcı olarak silebilir.
SCHEMABINDING ile oluşturulmuş ve SYSTEM_TIME'ye başvurma gibi zamansal sorgu uzantıları kullanan başka nesneleriniz varsa, SYSTEM_VERSIONING = OFF ayarlayamazsınız. Bu kısıtlama, SYSTEM_VERSIONING = OFFayarlarsanız bu nesnelerin başarısız olmasını önler.
SYSTEM_VERSIONING'i kalıcı olarak kaldırmak
Bu örnek, SYSTEM_VERSIONING kalıcı olarak kaldırır ve dönem sütunlarını siler. Dönem sütunlarının kaldırılması isteğe bağlıdır.
ALTER TABLE dbo.Department
SET (SYSTEM_VERSIONING = OFF);
İsteğe bağlı olarak, zamansal tabloyu yeniden zamansal olmayan bir tabloya dönüştürmek istiyorsanız PERIOD tanımını kaldırın.
ALTER TABLE dbo.Department
DROP PERIOD FOR SYSTEM_TIME;
SYSTEM_VERSIONING'i geçici olarak kaldırma
Aşağıdaki işlemler için sistem sürümünü şu OFFşekilde ayarlamanız gerekir:
- Gereksiz verileri geçmişten kaldırma (
DELETEveyaTRUNCATE) - Mevcut tablodan veri sürüm olmadan kaldırma (
DELETE,TRUNCATE) - Geçerli tablodan bölme
SWITCH OUT -
SWITCH INbölümünü geçmiş tablosuna ayır
Bu örnek, belirli bakım işlemlerini gerçekleştirmenize olanak sağlamak için SYSTEM_VERSIONING geçici olarak durdurur. Tablo bakımı önkoşulu olarak sürüm oluşturmayı geçici olarak durdurursanız, veri tutarlılığını korumak için bu değişikliği bir işlem içinde yapmanızı kesinlikle öneririz.
Sistem sürümünü tekrar açtığınızda, argümanı HISTORY_TABLE belirtin. Eğer yapmazsanız, sistem yeni bir geçmiş tablosu oluşturur ve bunu mevcut tabloyla ilişkilendirir. Orijinal geçmiş tablosu normal bir tablo olarak var olabilir, ancak artık mevcut tabloyla ilişkilendirilmez.
BEGIN TRANSACTION;
ALTER TABLE dbo.Department
SET (SYSTEM_VERSIONING = OFF);
TRUNCATE TABLE [History].[DepartmentHistory]
WITH ( PARTITIONS (1, 2) );
ALTER TABLE dbo.Department
SET (SYSTEM_VERSIONING = ON (HISTORY_TABLE = History.DepartmentHistory));
COMMIT TRANSACTION;
İlgili içerik
- Zamansal tablolar
- Sistem sürümüne sahip zamana bağlı tabloları kullanmaya başlama
- 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
- Sistem versiyonlu geçici bir tablo oluşturma
- Sistem sürümüne sahip bir zamana bağlı tablodaki verileri değiştirme
- Sistem sürümüne sahip bir zamana bağlı tablodaki verileri sorgulama
- Sistem sürümüne sahip bir zamana bağlı tablonun şemasını değiştirme