PDA

View Full Version : قفل کردن Store procedure



delphiprog3000
یک شنبه 19 اسفند 1386, 13:09 عصر
با سلام به دوستان و اساتید بخش.

سوال: آیا میشه یک Sp رو قفل کرد تا اونجا که من اطلاع دارم و دیدم میشه یک sp رو بدون دخالت security خود sql میتوان قفل نمود.

و اینجور که شنیدم باید یک تکه کد به انتهای Sp اضافه نمود.

امیدوارم منو راهنمایی کنید.

با تشکر.......

Elham_gh
یک شنبه 19 اسفند 1386, 13:44 عصر
منظورتون از قفل کردن sp چیه؟ این که کسی نتونه انو اجرا کنه یا اینه کسی نتونه کدشو ببینه؟

delphiprog3000
یک شنبه 19 اسفند 1386, 17:23 عصر
سلام دوست عزیز.

بیشتر سعی من اینه که کدهای اون قابل رویت نباشه.

به طور قطع وقتی برنامه ران میشه Sp اجرا میشه.

فقط باید وقتی که کاربر خواست Sp رو باز کنه نتونه کدها رو ببینه.

از توجه شما متشکرم........

MShirzadi
یک شنبه 19 اسفند 1386, 20:38 عصر
کلا فکر کنم که در SQL Server نشه کاری کرد که کد ها از نظر کاربر سیستم Hide باشه

Elham_gh
دوشنبه 20 اسفند 1386, 07:41 صبح
سلام دوست عزیز.

بیشتر سعی من اینه که کدهای اون قابل رویت نباشه.

به طور قطع وقتی برنامه ران میشه Sp اجرا میشه.

فقط باید وقتی که کاربر خواست Sp رو باز کنه نتونه کدها رو ببینه.

از توجه شما متشکرم........

شما کافی در زمان ایجاد Stored Procedure بعد از دستور CREATE PROCEDURE spname و بعد از تعریف پارامترهای ورودی و قبل از تعریف بدنه stored procedure یعنی قبل از AS این عبارت رو عینا تایپ کنید:
WITH ENCRYPTION

delphiprog3000
دوشنبه 20 اسفند 1386, 09:13 صبح
ممنون دوست من.

حالا وقتی بخوایم sp رو unlock کنیم اون به چه صورتی است ؟؟؟؟ چون فکر نکنم بشه دیگه بازش کرد.

متشکرم...

AminSobati
دوشنبه 20 اسفند 1386, 09:25 صبح
به جای CREATE PROC از ALTER PROC استفاده کنین و عبارت WITH ENCRYPTION رو حذف (یا comment) کنین

Elham_gh
دوشنبه 20 اسفند 1386, 09:28 صبح
چرا می شه. من قبلا برنامه اش رو گذاشتم. که البته برای view ها مشکل داره ولی برایStored procedure درست کار می کنه:

http://barnamenevis.org/forum/showthread.php?t=96627

delphiprog3000
دوشنبه 20 اسفند 1386, 09:36 صبح
سلام استاد ثباتی

برای unlock راهی دارید یعنی فقط خودم بتونم اون رو باز کنم....؟

بعد از وارد کردن With Encryption

AminSobati
دوشنبه 20 اسفند 1386, 10:12 صبح
سلام دوست عزیزم! اصطلاح "فقط خودم" در SQL Server تعریفی نداره! اساسا هر کس که Permission داشته باشه میتونه این کار رو انجام بده. پس اگر شما میخواین "فقط خودتون" بتونین این کار رو انجام بدین، فقط به خودتون اختیار ALTER رو بدین. در Books Online دستور ALTER PROC رو ببینین، در قسمت Permission توضیح داده که چه کاربرانی میتونن این کار رو انجام بدن