SQL Server’da SP Şifreleme ve Şifrelenmiş Nesneleri Açma

1. Şifreli Stored Procedure Oluşturma

Eğer yazdığımız trigger, procedure, view ve fonksiyonlarımızın başkaları tarafından açılmasını ya da değiştirilmesini engellemek istiyorsanız aşağıdaki şekilde ilgili nesnemizi oluştururken WITH ENCRYTPTION seçeneğini kullanmamız yeterli olacaktır.

Deneme amacıyla aşağıdaki şekilde bir tablo oluşturdum ve kayıt girdim

create table Personel (ID int , Adi varchar(20), Soyadi varchar(20))

insert into Personel values (1,'Ahsen','Sönmez');
insert into Personel values (2,'Ebru','Sönmez');

Şimdi şifresiz olarak önce bir stored procedure oluşturalım

create proc sp_Sifresiz
as
select ID, Adi,Soyadi from Personel

Stored proecedure’ümüzün kaynak kodunu görmek istediğimizde aşağıdaki şekilde görebilmekteyiz.

sp_helptext sp_Sifresiz

Ya da aşağıdaki şekilde de kodu görebilirsiniz

Eveet şimdi şifreli olarak stored procedure’ümüzü oluşturalım.

create proc sp_Sifreli
with encryption
as
select ID, Adi,Soyadi from Personel

Şimdi, stored procedure’ün kaynak kodunu görmek için için sp_helptext’i çalıştırdığınızda stored procedüre’ün kodunu göremeyeceksiniz, kod yerine “The text for object ‘MTB_WithEncryption’ is encrypted.” mesajını göreceksiniz.

Ya da aşağıdaki şekilde bakmaya çalıştığımızda hata alırız

2. SQL Server’da Encryption Olan Nesneleri Açmak

Şifreli nesneleri açmak için bazı araçlar bulunmaktadıur, ben işlemleri SQL Decryptor aracı ile gerçekleştireceğim.

Buradan indirme sitesinden indirelim. exe uzantılı dosyayı çalıştıralım ve kuralım

Kurulum tamamlandığında bize SSMS deki connection ekranı gibi ekran karşılamakta, yeykili bir kullanıcımız ile bağlantı sağlayalım

İlgili şifreli stored procedure’ümüzün scriptini aşağıdaki şekilde görebilmekteyiz

Show DDL Script: Stored Procedure, Functions, Views, DML-DDL Trigger fark etmektsizin üzerine gelip Show DDL Script dediğinizde otomatik olarak gösterme işlemini gerçekleştirecektir.

Eğer şifrelenmiş stored procedure’ün şifresini açmak istiyorsak Secrypt in-ğlace seçeneği ile kaldırabilmekteyiz

Decrypt in-place: Kilitli nesnenin kilidini kaldırarak direk çözülmüş bir şekilde yeniden veri tabanına kaydedecektir.

Gördüğünüz gibi şifrelenmiş sp’mizdeki kilit kaldırılmış oldu

Decrpytion Wizard: Bu işlemle beraber bütün nesneleri dosya olarak çıktı alabilir, script olarak kaydedebilirsiniz.

Eveet artık şifreli stored procedure’ümüzdeki şifreyi kaldırdığımıza göre aşağıdaki şekilde SSMS üzerinden de sp’mizin içeriğine bakabilmekteyiz

Bir cevap yazın

Kişisel Web sayfama hoş geldiniz..