Özet yönetimi

Şunlar için geçerlidir: SQL Server 2022 (16.x) ve sonraki sürümleri Azure SQL VeritabanıAzure SQL Yönetilen Örneği

Veritabanı özetleri

Veritabanı kayıt defterindeki en son bloğun karması, veritabanı özetiolarak adlandırılır. Blok oluşturulduğu sırada veritabanındaki tüm kayıt defteri tablolarının durumunu temsil eder. Veritabanı özeti oluşturmak verimlidir çünkü yalnızca son eklenen blokların karmalarını hesaplamayı içerir.

Veritabanı özetleri sistem tarafından otomatik olarak veya kullanıcı tarafından el ile oluşturulabilir. Bunları daha sonra veritabanının bütünlüğünü doğrulamak için kullanabilirsiniz.

Veritabanı özetleri, blok kimliği meta verileriyle birlikte en son bloğun karması içeren bir JSON belgesi biçiminde oluşturulur. Meta veriler, özetin oluşturulduğu zamanı ve bu bloktaki son işlemin işleme zaman damgasını içerir.

Doğrulama işlemi ve veritabanının bütünlüğü, giriş özetlerinin bütünlüğüne bağlıdır. Bu amaçla, veritabanından ayıklanan veritabanı özetlerinin, veritabanının üstün yetki sahibi kullanıcılarının veya saldırganlarının üzerinde oynayamayacağı güvenilir bir depolama alanında saklanması gerekir.

Veritabanı özetlerinin otomatik olarak oluşturulması ve depolanması

Not

SQL Server'da veritabanı özetlerinin otomatik olarak oluşturulması ve depolanması yalnızca Azure Depolama hesaplarını destekler.

Ledger, Azure Blob Depolama sabit depolama özelliğiyle tümleşir ve Azure Gizli Kayıt Defteri . Bu tümleştirme, veritabanı özetlerinin olası kurcalamalara karşı korunmasına yardımcı olmak için Azure'da güvenli depolama hizmetleri sağlar. Bu tümleştirme, kullanıcıların kullanılabilirlik ve coğrafi çoğaltma konusunda endişelenmelerine gerek kalmadan özet yönetimini otomatikleştirmeleri için basit ve uygun maliyetli bir yol sağlar. Azure Gizli Kayıt Defteri, ayrıcalıklı yöneticilerin özete erişimi konusunda endişelenebilecek müşteriler için daha güçlü bir bütünlük garantisine sahiptir. Bu tablo, Azure Blob Depolama'nın sabit depolama özelliğini Azure Gizli Kayıt Defteri ile karşılaştırır.

Veritabanı özetlerinin otomatik olarak oluşturulmasını ve depolanmasını Azure portalı, PowerShell veya Azure CLI aracılığıyla yapılandırabilirsiniz. Daha fazla bilgi için bkz. otomatik özet depolamayı etkinleştirme . Otomatik oluşturma ve depolamayı yapılandırdığınızda, veritabanı özetleri önceden tanımlanmış 30 saniyelik bir aralıkta oluşturulur ve seçili depolama hizmetine yüklenir. Sistemde 30 saniyelik aralıkta hiçbir işlem gerçekleşmezse veritabanı özeti oluşturulmaz ve karşıya yüklenmez. Bu mekanizma, veritabanı özetlerinin yalnızca veritabanınızdaki veriler güncelleştirildiğinde oluşturulmasını sağlar. Uç nokta bir Azure Blob Depolama olduğunda, Azure SQL Veritabanı veya Azure SQL Yönetilen Örneği için mantıksal sunucusu, sqldbledgerdigests adlı yeni bir kapsayıcı oluşturur ve şu gibi bir adlandırma modeli kullanır: ServerName/DatabaseName/CreationTime. Oluşturma zamanı gereklidir çünkü aynı ada sahip bir veritabanı bırakılıp yeniden oluşturulabilir veya geri yüklenebilir, böylece veritabanının aynı adla farklı enkarnasyonlarına olanak sağlar. Daha fazla bilgi için bkz. Sindirim Yönetimi Hususları.

Not

SQL Server için kapsayıcının kullanıcı tarafından el ile oluşturulması gerekir.

Azure Depolama Hesabı Değişmezlik İlkesi

Veritabanı özetlerinin depolanması için bir Azure Depolama hesabı kullanıyorsanız, veritabanı özetlerinin değişiklikten korunmasını sağlamak için sağlamadan sonra kapsayıcınızda bir değişmezlik ilkesi yapılandırın. Değişmezlik ilkesinin ekleme bloblarına korumalı yazmalara izin verdiğinden ve ilkenin kilitli olmasını sağladığınızdan emin olun.

Azure Depolama hesabı izni

Azure SQL Veritabanı veya Azure SQL Yönetilen Örneğikullanıyorsanız, mantıksal sunucunuzun veya yönetilen örneğinizin (Sistem Kimliği) Depolama Blob Verileri Katkıda Bulunanı rolüne ekleyerek özetleri yazmak için yeterli rol tabanlı erişim denetimi (RBAC) izinlerine sahip olduğundan emin olun. Etkin coğrafi çoğaltma veya otomatik yük devretme grupları kullanıyorsanız, ikincil çoğaltmaların Azure Depolama hesabında aynı RBAC iznine sahip olduğundan emin olun.

SQL Serverkullanıyorsanız, SQL Server'ın Azure Depolama hesabına bağlanmasına ve kimlik doğrulamasına izin vermek için özet kapsayıcıda bir paylaşılan erişim imzası (SAS) oluşturmanız gerekir.

  • Azure Depolama hesabında sqldbledgerdigestsadlı bir kapsayıcı oluşturun.
  • Bir konteyner üzerinde Read, Add, Create, Writeve List izinleriyle bir ilke oluşturun ve paylaşılan erişim imzası anahtarı oluşturun.
  • Özet dosyalarını depolamak için kullanılan sqldbledgerdigests kapsayıcısı için, adı kapsayıcı yolu ile eşleşen bir SQL Server kimlik bilgisi oluşturun.

Aşağıdaki örnekte azure depolama kapsayıcısı, ilke ve SAS anahtarı oluşturulduğu varsayılır. Bu, kapsayıcıdaki özet dosyalarına erişmek için SQL Server tarafından gereklidir.

Aşağıdaki kod parçacığında <your SAS key> değerini SAS anahtarıyla değiştirin. SAS anahtarı 'sr=c&si=<MYPOLICYNAME>&sig=<THESHAREDACCESSSIGNATURE>'gibi görünür.

CREATE CREDENTIAL [https://ledgerstorage.blob.core.windows.net/sqldbledgerdigests]  
WITH IDENTITY='SHARED ACCESS SIGNATURE',  
SECRET = '<your SAS key>'   

Not

SQL Server 2022 Toplu Güncelleştirme 17'den (CU17) başlayarak ve SQL Server 2025'te devam ederek YÖNETILEN kimlikleri SQL Server kimlik bilgileriyle kullanabilirsiniz. Yönetilen kimlikler, Microsoft Entra kimlik doğrulamasını destekleyen kaynaklara bağlanırken uygulamaların kullanması için bir kimlik sağlar.

Bu özellik yalnızca şu durumlarda desteklenir:

  • Azure Sanal Makineler'de SQL Server
  • Azure Arc özellikli SQL Server 2025

Yönetilen kimlikler SQL Server şirket içi dağıtımlarında desteklenmez.

Azure Gizli Kayıt Defteri İzni

Azure SQL Veritabanı veya Azure SQL Yönetilen Örneğikullanıyorsanız, mantıksal sunucunuzun veya yönetilen örneğinizin (Sistem Kimliği) Katkıda Bulunan rolüne eklenerek özetleri yazabilmesi için yeterli izinlere sahip olduğundan emin olun. Bunu yapmak için Azure Gizli Kayıt Defteri kullanıcı yönetimi adımlarını izleyin.

Not

SQL Server'da veritabanı özetlerinin otomatik olarak oluşturulması ve depolanması yalnızca Azure Depolama hesaplarını destekler.

Azure SQL Yönetilen Örneği'nin NSG kurallarını, Azure Gizli Kayıt Defteri ile çalışacak şekilde yapılandırma

Azure SQL Yönetilen Örneği kullanıyorsanız, Azure SQL Yönetilen Örneğinizin sanal ağ kurallarını Azure Gizli Kayıt Defteri ile iletişim kuracak şekilde yapılandırdığınızdan emin olun. Daha fazla bilgi için bkz. Azure SQL Yönetilen Örneği NSG kurallarını Azure Gizli Kayıt Defteriile çalışacak şekilde yapılandırma.

Veritabanı özetlerinin el ile oluşturulması ve depolanması

Ayrıca, isteğe bağlı olarak bir veritabanı özeti oluşturabilir ve böylece özetini güvenilen depolama hedefi olarak kabul ettiğiniz herhangi bir hizmette veya cihazda el ile depolayabilirsiniz. Örneğin, hedef olarak yerinde yaz bir kez, oku birçok kez (WORM) cihazı seçebilirsiniz. SQL Server Management Studio'dasys.sp_generate_database_ledger_digest saklı yordamını çalıştırarak veritabanı özetini el ile oluşturursunuz.

EXECUTE sp_generate_database_ledger_digest;

Döndürülen sonuç kümesi tek bir veri satırıdır. Güvenilir depolama konumuna aşağıdaki gibi bir JSON belgesi olarak kaydedilmelidir:

    {
        "database_name":  "ledgerdb",
        "block_id":  0,
        "hash":  "0xDC160697D823C51377F97020796486A59047EBDBF77C3E8F94EEE0FFF7B38A6A",
        "last_transaction_commit_time":  "2020-11-12T18:01:56.6200000",
        "digest_time":  "2020-11-12T18:39:27.7385724"
    }

İzinler

Veritabanı özetleri oluşturmak için GENERATE LEDGER DIGEST izni gerekir. Kayıt defteri tablolarıyla ilgili izinlerle ilgili ayrıntılar için bkz. İzinler.

Özet yönetiminde dikkate alınması gereken hususlar

Veritabanı geri yükleme

Veritabanını Belirli Bir Noktaya Geri Yüklemeolarak da bilinen önceki bir zamana geri yüklemek, bir hata oluştuğunda ve kullanıcıların veritabanının durumunu hızla zamanın önceki bir noktasına geri döndürmesi gerektiğinde sık kullanılan bir işlemdir. Oluşturulan özetler Azure Depolama'ya veya Azure Gizli Kayıt Defteri'ne yüklenirken, bu özetlerin eşlendiği veritabanının oluşturulma zamanı kaydedilir. Veritabanı her geri yüklendiğinde yeni bir oluşturma zamanı etiketi atılıyor ve bu teknik, özetleri veritabanının farklı "enkarnasyonlarında" depolamamıza olanak sağlıyor. SQL Server için oluşturma zamanı, özet karşıya yükleme ilk kez etkinleştirildiğinde geçerli olan UTC saatidir. Ledger, geri yükleme işleminin ne zaman gerçekleştiğiyle ilgili bilgileri korur ve doğrulama işleminin veritabanının çeşitli enkarnasyonları genelinde tüm ilgili özetleri kullanmasına olanak tanır. Ayrıca kullanıcılar, veritabanının ne zaman geri yüklendiğini ve hangi tarihe kadar geri yüklendiğini belirlemek için farklı oluşturma zamanlarına ait tüm özetleri inceleyebilirler. Bu veriler sabit depolama alanında yazıldığından, bu bilgiler de korunur.

Not

Azure SQL Yönetilen Örneği'nde bir veritabanı yedeklemesinin yerel geri yüklemesini gerçekleştirirseniz Azure portalını, PowerShell'i veya Azure CLI'yı kullanarak özet yolunu el ile değiştirmeniz gerekir.

Etkin coğrafi çoğaltma ve AlwaysOn kullanılabilirlik grupları

Aktif coğrafi çoğaltma veya otomatik yük devretme grupları Azure SQL Veritabanı veya Azure SQL Yönetilen Örneği için yapılandırılabilir. Coğrafi bölgeler arasında çoğaltma, performans nedeniyle zaman uyumsuzdur ve bu nedenle ikincil veritabanının birincil veritabanıyla karşılaştırıldığında biraz gerisinde olmasını sağlar. Coğrafi yük devretme durumunda, henüz çoğaltılmamış en son veriler kaybolur. Ledger, coğrafi yük devretme durumunda özetlerin asla kaybolabilecek verilere atıfta bulunmayacağını garanti altına almak için yalnızca coğrafi yedek sistemlere çoğaltılmış veriler için veritabanı özetleri oluşturur. Bu yalnızca veritabanı özetlerinin otomatik olarak oluşturulması ve depolanması için geçerlidir. Yük devretme grubunda hem birincil hem de ikincil veritabanı aynı özet yoluna sahip olur. Yük devretme gerçekleştirdiğinizde bile özet yolu hem birincil hem de ikincil veritabanı için değişmez.

Yük devretme grubu silinirse veya bağlantıyı bırakırsanız, her iki veritabanı da birincil veritabanı olarak davranır. Bu noktada, önceki ikincil veritabanının özet yolu değişir ve yola RemovedSecondaryReplica klasörünü ekleyeceğiz.

Veritabanınız SQL Server'da Always On kullanılabilirlik grubunun veya Yönetilen Örnek bağlantısının parçası olduğunda, etkin coğrafi çoğaltma ile aynı ilke kullanılır. Özetlerin yüklenmesi, yalnızca tüm işlemler yedek kopyalara çoğaltıldığında yapılır.