Please start any new threads on our new site at https://forums.sqlteam.com. We've got lots of great SQL Server experts to answer whatever question you can come up with.

 All Forums
 SQL Server 2005 Forums
 Transact-SQL (2005)
 Security settings

Author  Topic 

Vinnie881
Master Smack Fu Yak Hacker

1231 Posts

Posted - 2007-05-02 : 21:59:25
Dumb questions, but I want to restict security to my stored procedures so users can run them, but I do not want them to be able to view the code inside (like in a SMS using the modify option).

What do I need to do, just decline everything except Execute, or is there something else.

rmiao
Master Smack Fu Yak Hacker

7266 Posts

Posted - 2007-05-02 : 22:32:20
You can create the sp this way:

CREATE PROCEDURE sp_name
WITH ENCRYPTION
AS
...
Go to Top of Page

Vinnie881
Master Smack Fu Yak Hacker

1231 Posts

Posted - 2007-05-02 : 23:53:18
Is this the only way to do this? I have created a application that uses sql as the back-end and it will be distributed to a few differant places. I do not want any of these places to really be able to see anything on the back end. Is there a better way to achieve this? It seems like once a db has been attached to a instance, the sa account can always gain access?

Using the "With Encryption" option, is it difficult? Are there any downsides? How do I alter the procedure at a later time w/o retyping the code?
Go to Top of Page

rmiao
Master Smack Fu Yak Hacker

7266 Posts

Posted - 2007-05-03 : 08:57:07
That's the only way AFAIK. It's not difficult, but you should keep the script for reference. And not downside.
Go to Top of Page

spirit1
Cybernetic Yak Master

11752 Posts

Posted - 2007-05-03 : 08:59:59
you can't stop the sa account from viewing everything.
if you want to protect intellectual property with you must go the law route and specify that in the contract.

_______________________________________________
Causing trouble since 1980
blog: http://weblogs.sqlteam.com/mladenp
Go to Top of Page
   

- Advertisement -