MSSQL Server’da Store Procedure, Function ve View Objelerini Şifrelemek

Veritabanında bulunan store procedürlerin view’lerin ve functionların bazı kullanıcılar tarafından script almasının  önüne geçebiliriz bunun için veritabanında bulunan bu ifadelerin create script’tini almamız gerekmektedir. Örnek üzerinden yapmamız anlaşılması açısından daha iyi olacaktır.

Tek yapmamız gereken with encryption ifadesinin ilgili yere yazılması.

Şifrelediğimiz view’in  şifreli bir şekilde olduğu yukarıdaki resimde görülmektedir. Şimdi bu ifadenin script’li halini almaya çalıştığımızda bize hata mesajı verecektir.

Görmüş olduğumuz gibi create script’li hali kayboldu.

Bazı versiyonlarda aşağıdaki hatayı  vermekte buda  kullanmış olduğumuz SSMS sürümüne göre değişmektedir.

Şifrelenmiş olan bu objelerin şifrelerinin belirli bir süre sonra kaldırılması gerekmektedir. Bunun için SQL Decryptor tool’unu indirip kurmak gerekmektedir.

İlgili site üzerinde tool’u indirerek şifre çözme işlemini yapabiliriz.

Kurulumunu yaptıktan sonra bu program üzerinden sql server’ımıza bağlanıp ilgili şifrelemeyi kaldırıyoruz.

İlgili sunucumuza ve instance’ımıza bağlanmamız gerekmektedir.

İlgili veritabanımız altındaki şifrelemeyi silebiliriz. Sildikten sonra gerçek ssms’den şifrenin gittiğini görmüş oluyoruz.

Bu işlemi store procedure ve function için yapalım yapacağımız iş create scripttinden sonra with encryption eklemek.

Şifreli bir yapıya getirdikten sonra hata mesajları veriyor bunların sebebi

Property cannot be added. Property ‘MS_Description’ already exists for ‘dbo.uspGetBillOfMaterials’.

Burada önceden şifrelemeyi çözecek bir ifadenin olup olmadığını söylüyor.

Exec ifadelerini  kaldırdıktan sonra hatanın ortadan kalktığını görmüş oldum.

Create script’leri aldığımızda en altta bulunan dizinlerin sıkıntı olmasıdır. İlgili dizinleri kaldırdıktan sonra sorunun ortadan kaybolduğunu gördüm .Store procedure içinde şifre çözme işlemini yapıyorum ssms’den kontrol ettiğimde şifrelenmiş procedure’ün şifresiz hala geldiğini görmüş oldum.

Yukarıda yaptığım işlemlerin aynısını function içinde yapabilirsiniz. Başka bir makalede görüşmek üzere..

 “Allah’tan kulları içinde ancak ilim sahibi olanlar korkar.” Fâtır sûresi – 28

Author: Yunus YÜCEL

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir