ابتدا در SQL Management Studio (یا روشهای دیگر) اقدام به ایجاد رویه مینماییم.
Create Procedure dbo.PWS_GetDataCount AS BEGIN SELECT COUNT(*) FROM backupfile END
خوب تا اینجای کار هیچگونه مشکلی نیست، اما مواقعی پیش میآید که نمیخواهیم کسی به سورس این رویهها دسترسی داشته باشد، یا اینکه آنها را تغییر دهد، مثلا مواقعی که نرم افزار شما روی سایت مشتری اجرا شده و مشتری دسترسی به دیتابیس و رویههای آن دارد. در این مواقع میتوان در صورت لزوم این رویهها را فقط خواندنی کرد، یعنی حتی خود شما هم نمیتوانید رویه را ویرایش نمایید (پس دقت کنید). روال کار بدین گونه است:
Create Procedure dbo.PWS_GetDataCount2 --Parameters With Encryption AS BEGIN SELECT COUNT(*) FROM backupfile END
در واقع با نوشتن With Encryption قبل از AS میتوان رویه ذخیره شده را رمزگذاری کرد. پس از ایجاد این رویه همانگونه که در تصویر زیر مشاهده مینمایید این رویه شکل یک کلید بروی آن ظاهر شده و دیگر قابل ویرایش نیست (بهتر است رویههای خود را در زمان انتشار روی سیستم مقصد رمزگذاری نمایید).
دقت نمایید که استفاده از این عمل تاثیری در سرعت اجرای رویه ذخیره شده ندارد. البته روشهایی هم برای عکس این عمل وجود دارد که میتوانید از طریق این لینک به اطلاعات بیشتری دست پیدا کنید.