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 Database
Azure SQL Managed Instance
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
Zamansal bir tabloda belirli bakım işlemleri gerçekleştirmek istiyorsanız veya artık sürümlenmiş tabloya ihtiyacınız yoksa sistem sürümü oluşturmayı durdurun. Bu işlem nedeniyle iki bağımsız tablo alırsınız:
- 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 ayarladığınızda ve SYSTEM_TIME dönemini kaldırmadığınızda, sistem her ekleme ve güncelleştirme işlemi için dönem sütunlarını güncelleştirmeye 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.
Başka nesneleriniz SYSTEM_VERSIONING = OFF’ye başvurarak zamansal sorgu uzantılarını kullanarak SCHEMABINDING ile oluşturulmuşsa, SYSTEM_TIME'ı tanımlayamazsı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);
-- Optionally, DROP PERIOD if you want to revert temporal table to a non-temporal
ALTER TABLE dbo.Department
DROP PERIOD FOR SYSTEM_TIME;
SYSTEM_VERSIONING'i geçici olarak kaldırma
Aşağıdaki liste, sistem sürümü oluşturmanın OFFolarak ayarlanmasını gerektiren işlemlerin listesini içerir:
- Gereksiz verileri geçmişten kaldırma (
DELETEveyaTRUNCATE) - Sürüm oluşturmadan geçerli tablodan veri 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ü yeniden açarken HISTORY_TABLE bağımsız değişkenini belirtmeyi unutmayın. Bunun başarısız olması, yeni bir geçmiş tablosunun oluşturulmasına ve geçerli tabloyla ilişkilendirilmesine neden olur. Özgün geçmiş tablosu hala normal bir tablo olarak bulunabilir, artık geçerli tabloyla ilişkilendirilmemiştir.
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;
İ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
- Sistem sürümlü zamana bağlı tablolar ile bellek için iyileştirilmiş tablolar
- Sistem tarafından sürümlenen 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