Objeleri Şifrelemek(SP,Function,View)
Stored Procedurler, Functionlar ve Viewler genellikle her uygulamanın veritabanı katmanında kullandığı objelerdir. Bazı durumlarda çeşitli sebeplerle bu objelerin text kısımlarının şifrelenmesine ihtiyaç duyulabilir. Bir örnek üzerinden bu 3 obje tipini nasıl şifreleyeceğimizi inceleyelim.
AdventureWorks2014 veritabanındaki HumanResources.vEmployee view’inin aşağıdakin gibi create script’ini alıyoruz.
CREATE VIEW kısmından sonra aşağıdaki gibi WITH ENCRYTION ekliyoruz. View’in isminin sonuna da orjinalinden farklı olması için Encrypted ekledim.
Script’i çalıştırdığınızda aşağıdaki gibi bir hata alabilir.
Msg 15233, Level 16, State 1, Procedure sp_addextendedproperty, Line 84
Property cannot be added. Property ‘MS_Description’ already exists for ‘HumanResources.vEmployee’.
Bu konumuzla alakasız o yüzden değinmeyeceğim. Hata almasına rağmen view’in şifreli halinin aşağıdaki gibi anahtarlı olarak oluştuğunu göreceksiniz.
Makalenin başında anlattığım gibi bu view’in script’ini almaya çalıştığınızda view’in içeriği şifreli olduğu için size aşağıdaki gibi bir hata verecektir.
Stored Procedurler ve Functionlar için de aynı şekilde bu işlemi gerçekleştirebilirsiniz. WITH ENCRYPTION ifadesini CREATE ifadesinden sonraki AS ifadesinden hemen önce koymanız gerekiyor. Stored Procedur’ü şifrelemeden önce sonradan güncellemeniz gerekebileceği için muhakkak bir kopyasını almanızı tavsiye ederim.