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
Zaman tablolarını güvence altına almak için, onlara uygulanan güvenlik ilkelerini anlamanız gerekir. Bu ilkeleri anladıktan sonra, , ALTER TABLE, ve SELECT ifadelerine güvenlik CREATE TABLEuygulayabilirsiniz.
Güvenlik ilkeleri
Aşağıdaki tabloda, zamana bağlı tablolar için geçerli olan güvenlik ilkeleri açıklanmaktadır:
| Principle | Description |
|---|---|
| Sistem sürümünü etkinleştirme/devre dışı bırakma, etkilenen nesnelerde en yüksek ayrıcalıkları gerektirir |
SYSTEM_VERSIONING etkinleştirilmesi ve devre dışı bırakılması için hem geçerli hem de geçmiş tablosunda CONTROL izni gerekir. |
| Geçmiş verileri doğrudan değiştirilemez |
SYSTEM_VERSIONING, ON olduğunda, kullanıcılar geçerli ya da geçmiş tablo üzerindeki izinlerinden bağımsız olarak geçmiş verilerini değiştiremez. Bu sınırlama hem veri hem de şema değişikliklerini içerir.
1 |
Geçmiş verilerini sorgulamak için geçmiş tablosunda SELECT izni gerekir |
Geçerli tabloda SELECT izni olan bir kullanıcının, geçmiş tablosunda otomatik olarak SELECT izni yoktur. |
| Denetim, geçmiş tablosunu etkileyen işlemleri belirli şekillerde gösterir | Geçerli tablodaki denetim ayarları, geçmiş tablosuna otomatik olarak uygulanmaz. Geçmiş tablosu için denetimi açıkça etkinleştirmelisiniz. Etkinleştirdikten sonra, geçmiş tablosunda denetim, başarılı olup olmadıklarına bakmadan veriye doğrudan erişim girişimlerini yakalar.SELECT Zamansal sorgu uzantısı ile işlemin geçmiş tablosunu etkilediğini gösterir.CREATE/ALTER zamansal tablo, izin denetiminin geçmiş tablosunda da gerçekleştiği bilgisini gösterir. Denetim dosyası, geçmiş tablosu için ek kayıtlar içerir.Mevcut tablodaki veri işleme dili (DML) işlemleri, işlemin geçmiş tablosunu etkilediğini ortaya koymakta, additional_information ancak gerekli bağlamı sağladığını ortaya koymaktadır (DML sonucudur SYSTEM_VERSIONING). |
1 Geçerli tablo ve geçmiş tablosu üzerinde ALTER izniniz varsa ve geçerli tablodan bir sütunu kaldırırsanız, geçmiş tablosundaki ilişkili sütun da SYSTEM_VERSIONINGON olsa bile kaldırılır.
Şema işlemlerini gerçekleştirme
SYSTEM_VERSIONING
ONolarak ayarlandığında şema değiştirme işlemleri sınırlıdır.
Yasaklanan ALTER SCHEMA operasyonlar
| Operation | Geçerli tablo | Geçmiş tablosu |
|---|---|---|
DROP TABLE |
Disallowed | Disallowed |
ALTER TABLE...SWITCH PARTITION |
Yalnızca SWITCH IN (bkz. Zamansal tablolar içeren bölüm) |
Yalnızca SWITCH OUT (bkz. Zamansal tablolar içeren bölüm) |
ALTER TABLE...DROP PERIOD |
Disallowed | N/A |
ALTER TABLE...ADD PERIOD |
N/A | Disallowed |
İzin verilen ALTER TABLE işlemler
| Operation | Current | History |
|---|---|---|
ALTER TABLE...REBUILD |
İzin verilmiş (bağımsız olarak) | İzin verilmiş (bağımsız olarak) |
CREATE INDEX |
İzin verilmiş (bağımsız olarak) | İzin verilmiş (bağımsız olarak) |
CREATE STATISTICS |
İzin verilmiş (bağımsız olarak) | İzin verilmiş (bağımsız olarak) |
CREATE zamana bağlı tablo deyiminin güvenliği
| Feature | Yeni geçmiş tablosu oluşturma | Mevcut geçmiş tablosunu yeniden kullanma |
|---|---|---|
| İzin gerekiyor | Veritabanında izin CREATE TABLEALTER güncel ve geçmiş tablolarını oluşturduğunuz şemalar için izin |
Veritabanında izin CREATE TABLEALTER mevcut tabloyu oluşturduğunuz şema için izin.Geçici tablo oluşturulurken CONTROL deyiminin parçası olarak belirtilen geçmiş tablosu üzerindeki CREATE TABLE izni. |
| Audit | Denetim, kullanıcıların iki nesne oluşturmayı denediğini gösterir. İşlem, veritabanında tablo oluşturma izninin olmaması veya her iki tablo için şemaları değiştirme izninin olmaması nedeniyle başarısız olabilir. | Denetim, zamansal tablonun oluşturulduğunu gösterir. Veritabanında tablo oluşturma izni olmaması, geçici tablo şemasını değiştirme izinlerinin olmaması veya geçmiş tablosunda izin olmaması nedeniyle işlem başarısız olabilir. |
ALTER zamansal tablo SET (SYSTEM_VERSIONING) ifadesinin güvenliği
| Feature | Yeni geçmiş tablosu oluşturma | Mevcut geçmiş tablosunu yeniden kullanma |
|---|---|---|
| İzin gerekiyor | Veritabanında CONTROL izni.Veritabanında CREATE TABLE izni.ALTER geçmiş tablosunu oluşturduğunuz şemalar üzerinde izin. |
CONTROL Değiştirdiğiniz özgün tablo üzerinde izniniz olmalıdır.CONTROL deyiminin parçası olarak belirtilen geçmiş tablosunda ALTER TABLE izni. |
| Audit | Denetim, zamana bağlı tablonun değiştirildiğini ve geçmiş tablosunun aynı anda oluşturulduğunu gösterir. Bu işlem, veritabanında tablo oluşturma izninin olmaması, geçmiş tablosunun şemasını değiştirme izninin olmaması veya zamansal tabloyu değiştirme izni olmaması nedeniyle başarısız olabilir. | Denetim, zamana bağlı tablonun değiştirildiğini, ancak işlemin geçmiş tablosuna erişim gerektirdiğini gösterir. Geçmiş tablosunda izin olmaması veya geçerli tablodaki izinlerin olmaması nedeniyle işlem başarısız olabilir. |
SELECT deyiminin güvenliği
geçmiş tablosunu etkilemeyen SELECT deyimleri için SELECT izni değişmeden kalır. Geçmiş tablosunu etkileyen SELECT deyimler için, hem geçerli tablo hem de geçmiş tablosu üzerinde SELECT iznine sahip olmanız gerekir.
İ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
- Zaman tablosuyla ilgili önemli noktalar ve sınırlamalar
- 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