We're considering developing a new application for re-sale. Enquries with potential clients is positive but some have said that thier DBAs will need to administer the db.
How do I protect the IPR contained within the stored procedures? I don't mind them accessing the data but I wan't to protect the code.
See the help for the ALTER PROCEDURE .... SET HIDDEN syntax.
answered 13 Jan '12, 08:33
In case the customer-site DBA primarily need to do maintenance tasks like backup/validation, you can
All these tasks do not need DBA authority.
In order to protect the source code of your database objects, use SET HIDDEN for all your views, procedures/functions, events and triggers, as Glenn has told.
Additionally, you may be able to restrict the access to system tables (i.e. "REVOKE SELECT on sysXyz from MyUsers" - though that is limited to some degree, AFAIK).
answered 13 Jan '12, 11:26
Another way to distribute procedures/functions: if you do an "unload" of the schema, the hidden proc is extracted in enrypted form, ready for distribution without being visible. Here is the unload file for one of our hidden procs:
create procedure app_owner.GRANT_DB_ACCESS hidden'**&&*&$)...' go
answered 16 Jan '12, 16:34