GÜNCEL KONULAR

☠️Mikro Programında Cari Hareket Tipi Uyarısı Nedir?☠️

  Mikro "Giriş Yetkiniz Yoktur" Uyarısı: Cari Kartta Parasal Olmayan Hesap Kilidi Mikro Muhasebe Programı'nda fatura, irsaliye veya finans evrakı işlerken karşınıza aniden "Giriş Yetkiniz Yoktur" uyarısı çıkıyor ve evrakı kaydetmenize ya da işlem yapmanıza izin verilmiyorsa, sorun genellikle sanıldığı gibi bir versiyon ya da kullanıcı yetki hatası değildir. Bu durum, tamamen ilgili Cari Tanıtım Kartı'nın muhasebe ve hesap tipi yapılandırmasından kaynaklanır. 🔍 Hatanın Gerçek Nedeni: Parasal Olmayan Hesap Tipi Mikro'da Enflasyon Muhasebesi ve Türkiye Muhasebe Standartları (TMS) gereği, bazı hesapların değerlemesi farklı yapılır. Bir carinin kartı açılırken veya sonradan düzenlenirken: Cari Tanıtım Kartı -> Hareket Tipi  sekmesinde yer alan "Hesap Tipi" alanı yanlışlıkla veya bilerek "Parasal Olmayan" olarak işaretlendiyse bu kilit devreye girer. Sistem, "Parasal Olmayan" olarak etiketlenen bir hesabı durağan (enflasy...

☠️SQL Server TDE Hatası: Çözüm ve Kurtarma Rehberi☠️




👽SQL Server TDE Hatası:
"Cannot find server asymmetric key thumbprint"




SQL Server veritabanı yönetiminde, güvenlik amacıyla TDE (Transparent Data Encryption) yani Şeffaf Veri Şifreleme sıklıkla tercih edilen bir yöntemdir. Ancak TDE ile şifrelenmiş bir veritabanını farklı bir sunucuya (instance) taşımak, yedekten dönmek (restore) veya işletim sistemi formatı sonrasında yeniden ayağa kaldırmak istediğinizde en çok karşılaşılan ve can sıkan hatalardan biri şudur:


Hata Mesajı:
Msg 33111, Level 16, State 4
Cannot find server asymmetric key with thumbprint '0x7b8626f7e9b646cb8702530018600bf3'.
RESTORE DATABASE is terminating abnormally.

Bu makalede, bu kritik hatanın ne anlama geldiğini, veritabanını kurtarmak için hangi adımları izlemeniz gerektiğini ve TDE mimarisindeki bazı gizli riskleri detaylarıyla ele alıyoruz.



🔍 Bu Hata Ne Anlama Geliyor?

Geri yüklemeye çalıştığınız TDE şifreli veritabanı, yedek alındığı eski SQL Server üzerinde kurulu olan bir Certificate (Sertifika) veya Asymmetric Key (Asimetrik Anahtar) yapısına bağımlıdır.

Yeni sunucunuzda veya yeni SQL Server instance'ı üzerinde bu güvenlik nesnesi (ve onun benzersiz parmak izi olan thumbprint) bulunmadığı için, SQL Server verilerini deşifre edemez ve güvenliği korumak adına veritabanını açmayı reddeder.


🛠️ Adım Adım Kurtarma Çözümü

Sorunu çözmek için eski sunucudaki sertifika ve anahtar bileşenlerini yedekleyip, yeni sunucuya güvenli bir şekilde aktarmamız (restore etmemiz) gerekir.

1. Adım: Veritabanında TDE Durumunu Kontrol Edin
Öncelikle eski sunucu üzerinde (eğer erişiminiz varsa) aşağıdaki sorgularla TDE durumunu ve aranan thumbprint değerini genel olarak teyit edin:


👍İlgili parmak izine sahip sertifikayı kontrol edin

SELECT name, thumbprint 
FROM sys.certificates 
WHERE thumbprint = 0x7b8626f7e9b646cb8702530018600bf3;

👍Genel TDE şifreleme durumlarını listeleme

SELECT db.name AS DatabaseName, 
       dek.encryption_state, 
       dek.percent_complete, 
       dek.key_algorithm, 
       dek.key_length
FROM sys.databases db
LEFT JOIN sys.dm_database_encryption_keys dek 
  ON db.database_id = dek.database_id;


encryption_state değeri listeleniyorsa TDE aktiftir.



2. Adım: Eski Sunucuda Sertifikayı Yedekleyin (Backup)
Eski sunucudan Database Master Key (DMK) tarafından korunan anahtar bileşenlerini dışarı aktarmamız şarttır. Aşağıdaki script ile sertifikayı ve onun özel anahtarını (PRIVATE KEY) şifreli bir dosya olarak diske kaydedin:

👍Master veritabanında çalıştırın
USE master;
GO
BACKUP CERTIFICATE MyTDECert 
TO FILE = 'D:\Backup\MyTDECert.cer' 
WITH PRIVATE KEY ( 
    FILE = 'D:\Backup\MyTDECert.pvk', 
    ENCRYPTION BY PASSWORD = 'GucluBirSifre123!' 
);
GO


3. Adım: Yeni Sunucuda Sertifikayı Yeniden Oluşturun (Restore)
Oluşturduğunuz .cer ve .pvk dosyalarını yeni sunucunun diskine taşıyın. Ardından yeni SQL Server'ın master veritabanında bu nesneleri içeri aktarın. Eğer yeni sunucuda henüz bir Master Key yoksa, önce onu oluşturmalısınız:

👍Yeni sunucunun Master veritabanında çalıştırın
USE master;
GO

👍1. Eğer daha önce oluşturulmadıysa Database Master Key oluşturun

IF NOT EXISTS (SELECT * FROM sys.symmetric_keys WHERE name = '##MS_DatabaseMasterKey##')
BEGIN
    CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'YeniMasterKeySifresi123!';
END
GO


👍2. Eski sunucudan gelen dosyaları kullanarak Sertifikayı içeri aktarın

CREATE CERTIFICATE MyTDECert 
FROM FILE = 'D:\Backup\MyTDECert.cer' 
WITH PRIVATE KEY ( 
    FILE = 'D:\Backup\MyTDECert.pvk', 
    DECRYPTION BY PASSWORD = 'GucluBirSifre123!' 
);
GO




Bu adımları tamamladıktan sonra, veritabanı yedeğinizi (.bak) yeni sunucuya sorunsuz bir şekilde RESTORE edebilir veya dosyaları ATTACH edebilirsiniz. SQL Server aradığı thumbprint değerini bulacağı için şifreyi çözecektir.





🚨 Önemli Güvenlik Uyarısı (Sysadmin Riski)

TDE (Transparent Data Encryption), verilerinizin disk seviyesinde (at-rest) çalınmasını veya .mdf/.ldf dosyalarının kopyalanarak başka sunucularda açılmasını kesin olarak engeller.

Ancak unutulmamalıdır ki, SQL Server üzerinde Sysadmin (SA) yetkisine sahip bir kullanıcı veya sunucu yöneticisi, doğrudan canlı veritabanı üzerinde sorgu çekebildiği gibi master veritabanındaki sertifika yapılarına da tam erişim sağlayabilir. 

TDE, harici disk hırsızlıklarına karşı mükemmel bir kalkan sunarken, içerideki en üst düzey yetkili kullanıcıların veriyi okumasını kısıtlamaz. Bu nedenle tam bir veri güvenliği için yetki hiyerarşisi ve sunucu erişim rolleri de sıkı denetlenmelidir.



📥Araç indirme linki için tıklayınız.📥



🍁

Sorularınız, karşılaştığınız teknik sorunlar ve destek talepleriniz için aşağıya yorum bırakabilirsiniz



Yorumlar

Popüler Konular

☠️SQL Server 2025 Evrimi☠️

☠️"Suspect ve Recovery Pending" Hatası☠️