SQL veri tabanında kullanılan istatistikler oldukça önemli bir yere sahiptir.
Tablolarda verilerin yüzde kaç oranında yer aldığını belirten istatistikler index ler ile birlikte otomatik oluşurlar.
SQL Server 2022 öncesinde elle oluşturulan istatistikler bazen sorunlara sebep oluyordu. Şema değişikleri de bunlardan biri.
Tablo ya da kolonların silinmesi durumunda şema değişeceğinden elle oluşturduğunuz istatistik silinmeyecektir ve dolayısıyla hatalara sebep olur ve silmek için ekstra işlem yapmak gerekir.
SQL Server 2022 de gelen Auto-Drop özelliği istatistiğin bağlı olduğu nesne silinirse istatistiğinde otomatik olarak silinmesini sağlar.
Tablomda auto-drop özelliği ile bir istatistik oluşturuyorum.
1
2
3
4
CREATE STATISTICS Personel
ON Kullanici(Ad,Soyad,Sicilno)
WITH AUTO_DROP=ON;
Sorgu ile kontrol ettiğimde elle oluşturduğum istatistik için auto-drop özelliğinin açık olduğunu görmekteyim. Index den gelen istatistikte ise kapalıdır.
SQL veri tabanımızda hassas veriler içeren tablolarda veri maskelemesi uygulayabiliriz.
DDM, bize tablodaki verilerin tamamının ya da bir kısmının yetkisiz kullanıcılara gözükmemesini sağlar.
Örneğin kredi kartı bilgilerinin sadece son hanesinin gözükmesi ya da TC kimlik numarası gibi hassas bilgilerin sadece baştaki ve sondaki belirli karakterlerin gözükmesi gibi.
Veri maskelemede yapıla bilen bazı maskeleme çeşitleri:
Verinin tamamının gizlenmesi
Satırda yer alan verinin belirli bir kısmının gizlenmesi. (İlk karakterler, son karakterler ya da ortadaki belirli karakterler).
Email asresin gizlenmesi
Verilerin random sayılar ile yer değiştirmesi.
Öncelikle veri maskelemesi yapacağımız bir tablo oluşturmamız gerekiyor. Tablomuz oluşturulurken kolonları da veri maskelemeye uygun halde oluşturmamız gerekiyor.
Bu örnekte ad kolonunda veriler açıktır, soyadı kolonu tamamen gizlidir (default), email adresi SQL in “email” parametresi ile maskelenir ve ayarlar varsayılan olarak gelir, sicil numarası 3000 ile 5000 arasındaki rastgele sayılan ile değiştirilir, TC kimlik numarasının ilk 3 hanesi ve son 1 hanesi gözükürken ortadaki sayılan gizlenir ve son olarak kredi kartının sadece son 4 rakamı gözükür.
SQL Server 2016 ile duyurulmuş olan satır seviyesinde güvenlik uygulaması kullanıcıların sadece yetkileri oldukları satırlara erişmesini sağlar.
Birçok kullanıcının aynı veri tabanını kullandığı ortamlarda kullanıcılar tablolarda sadece kendilerine ait bilgileri filtreleyerek eriştirmemizi sağlar.
Önemli bir uygulama olan RLS veri tabanı katmanında çalışır. Herhangi bir uygulamadan veriye erişim sağlanmak istendiğinde erişim kısıtlamaları uygulanır. Böylelikle daha iyi bir güvenlik katmanı sağlanır.
RLS Uygulaması:
Veri tabanıma ürün satışları ile ilgili bir tablo oluşturuyorum.
1
2
3
4
5
6
CREATE TABLE UrunSatis(
ID INTIDENTITY(1,1)PRIMARY KEY,
Kisi NVARCHAR(10),
Ulke NVARCHAR(10),
SatisMiktari DECIMAL(10,2)
);
Satış tabloma satışlardan sorumlu personelin adı, satışın yapıldığı ülke ve miktarı giriyorum.
1
2
3
4
5
6
7
INSERT INTO UrunSatis(Kisi,Ulke,SatisMiktari)VALUES
MS SQL sunucuda yanlışlıkla tüm oturum (login) hesaplarını silerseniz ya da devre dışı bırakırsanız SQL sunucunuza bağlantı da kuramazsınız. SA hesabını da güvenlik nedeni ile daha önceden devre dışı bıraktıysanız zor durumda kalabilirsiniz.
Veri tabanlarını farklı SQL sunucuya taşıyıp çalıştırma seçeneği zahmetli de olsa mümkündür. Tabi veri tabanı bazında şifreleme yapmıyorsanız.
SQL Server size bu durum için alternatif bir çözüm yolu sunmaktadır.
Microsoft SQL Server, sunucuda “Local Administrators” grubunda yer alan bir kullanıcıya bu durumu düzeltmesi için imkan sağlar.
İlk adımda SQL de login hesaplarında olmayan bir kullanıcıyı yerel yönetici hesabına ekliyoruz ve SQL sunucuda bu hesap ile oturum açıyoruz.
Aşağıdaki powershell betiği ile taşınabilir bilgisayarınızın pil kapasitesi hakkında bilgi alabilirsiniz. Pilin aşınma bilgisini ve pil değiştirme zamanı gibi bilgiler edinilebilir.
Windows 10 işletim sistemi kullanıyorsanız eğer Microsoft en yeni işletim sistemi olan Windows 11’e geçiş için yerinde yükseltme desteği vermektedir. Yani Windows 10 işletim sistemine Windows 11 medyasını takıp direkt olarak geçiş yapmanıza olanak sağlanmaktadır. Dosyalarınız, ayarlarınız ve desteklenen uygulamalarda aynen kalacaktır.
Fakat bu yükseltme işlemi bir takım ön gereksinimlere bağlı. Bu ön gereksinimler temiz bir Windows 11 kurulumu için de gereklidir.
Ön gereksinimlerin en önemlileri bios üzerinden aktif ettiğimiz UEFI ve secure boot ile donanım bazlı güvenlik sağlayan TPM 2.0.
Ön gereksinimler için aşağıdaki bağlantıdan faydalanabilirsiniz.
UEFI, secure boot ya da TPM 2.0 destekli olmayan bir bilgisayarınız var ise şimdilik Windows 11 kuramıyorsunuz. Bazı yollar ile bu tür gereksinimleri aşabilirsiniz fakat hem önerilmiyor hem de işletim sisteminin kararlı çalışması garanti edilmiyor.
UEFI ve Secure boot ayarlarınızı bios ayarlarından kontrol edebilirsiniz.
Bilgisayarınızın bios ayarlarından UEFI özelliğini aktif edip Windows 10 kurmuş iseniz eğer işletim sistemi diski GPT olarak hazırlanmıştır.
Disk ayalarına gelip işletim sistemi yüklü olan diskin özelliklerine geldiğinizde bu ayarı görebilirsiniz.
Bu durumda sadece secure boot özelliğini de aktif edip Windows 11 işletim sistemine geçiş yapabilirsiniz.