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 2022 (16.x) ve sonraki sürümleri
Azure SQL Veritabanı
Azure SQL Yönetilen Örneği
Yalnızca ekleme kayıt defteri tabloları, yalnızca INSERT tablolarınızdaki işlemlere izin verir ve bu sayede veritabanı yöneticileri gibi ayrıcalıklı kullanıcıların geleneksel Veri İşleme Dili işlemleri aracılığıyla verileri değiştirememelerini sağlar. Sadece ekleme yapılabilen defter tabloları, kayıtları güncellemeyen veya silmeyen sistemler için idealdir; örneğin, güvenlik bilgi ve olay yönetim sistemleri veya verilerin blok zincirinden bir veritabanına kopyalanması gereken blok zinciri sistemleri gibi. Ekleme tablosu üzerinde UPDATE veya DELETE işlemleri olmadığından, güncelleştirilebilir kayıt defteri tablolarında olduğu gibi bir geçmiş tablosuna gerek yoktur.
CREATE TABLE (Transact-SQL) deyiminizde LEDGER = ON bağımsız değişkenini ve APPEND_ONLY = ON seçeneğini belirterek yalnızca ekleme yapılabilir bir defter tablosu oluşturabilirsiniz.
Önemli
Tablo kayıt defteri tablosu olarak oluşturulduktan sonra, kayıt defteri işlevselliği olmayan bir tabloya geri döndürülemez. Sonuç olarak, saldırgan kayıt defteri özelliklerini geçici olarak kaldıramaz, tabloda değişiklik yapamaz ve ardından kayıt defteri işlevselliğini yeniden etkinleştiremez.
Sadece eklemeli kayıt defteri tablosu şeması
Yalnızca ekleme tablosunun, tabloda hangi işlemlerin değişiklik yaptığını ve satırların işlem tarafından güncelleştirildiği işlemlerin sırasını belirten meta verileri içeren aşağıdaki GENERATED ALWAYS sütunlarına sahip olması gerekir. Yalnız eklemeli bir defter tablosu oluşturduğunuzda, GENERATED ALWAYS sütunları defter tablonuzda oluşturulacaktır. Bu veriler, verilerin zaman içinde nasıl eklendiğini anlamak amacıyla adli tıp açısından yararlıdır.
GENERATED ALWAYS deyiminde sütunların tanımlarını belirtmezseniz, sistem aşağıdaki varsayılan adları kullanarak bunları otomatik olarak ekler.
| Varsayılan sütun adı | Veri türü | Description |
|---|---|---|
| ledger_start_transaction_id | bigint | Satır sürümü oluşturan işlemin kimliği |
| defter_başlangıç_sıra_numarası | bigint | Bir işlem içindeki, bir satır sürümü oluşturan işlemin sıra numarası |
Defter görünümü
Yalnızca eklenen her kayıt defteri tablosu için sistem otomatik olarak genel muhasebe görünümü olarak adlandırılan bir görünüm oluşturur. Kayıt defteri görünümü, tabloda oluşan tüm satır eklemelerini raporlar. Kayıt defteri görünümü, yalnızca ekleme kayıt defteri tablolarında veya UPDATEDELETE özellikleri olmadığından, yalnızca ekleme kayıt defteri tabloları yerine güncelleştirilebilir kayıt defteri tablolarında öncelikli olarak yararlıdır. Yalnızca ekleme kayıt defteri tabloları için genel muhasebe görünümü, hem güncelleştirilebilir hem de yalnızca ekleme kayıt defteri tabloları arasında tutarlılık sağlamak üzere kullanılabilir durumdadır.
Defter görünümü şeması
Uyarı
Kayıt defteri görünümü sütun adları, <ledger_view_option> deyimiyle parametresi kullanılarak tablo oluşturduğunuzda özelleştirilebilir. Daha fazla bilgi için bkz. kayıt defteri görünümü seçenekleri ve CREATE TABLE (Transact-SQL) içindeki ilgili örnekler.
| Varsayılan sütun adı | Veri türü | Description |
|---|---|---|
| defter_işlem_kimliği | bigint | Satır sürümünü oluşturan veya silen işlemin kimliği. |
| defter_sıra_numarası | bigint | Tablodaki işlem içindeki satır düzeyi işlemin sıra numarası. |
| ledger_işlem_tipi | tinyint | İçerir 1 (INSERT) veya 2 (DELETE). Kayıt defteri tablosuna satır eklemek, kayıt defteri görünümünde bu sütunu içeren 1 yeni bir satır oluşturur. Genel muhasebe tablosundan bir satırı silmek, kayıt defteri görünümünde bu sütunu içeren 2 yeni bir satır oluşturur. Genel muhasebe tablosundaki bir satırın güncelleştirilmesi, genel muhasebe görünümünde iki yeni satır oluşturur. Bir satır bu sütunda 2 (DELETE) içeriyor ve diğer satır 1 (INSERT) içeriyor. DELETE, yalnızca ekleme kayıt defteri tablosunda gerçekleşmemelidir. |
| defter_işlem_tipi_açıklaması | nvarchar(128) |
INSERT veya DELETE içerir. Daha fazla bilgi için önceki satıra bakın. |