My first question would be why. You cannot hide the database structure from them, therefore, they can figure out...
how to access their data directly if they choose to. If it is encrypted, they have performance problems, and you are not available, their entire environment comes to a screeching halt with you left on the hook as responsible for it because your code did not leave them any options. Your software copyright provides legal protection for your work, and the notice that you should have included with the software should have a clause preventing them from using your work. Additionally, encrypting objects can have your software rejected by many potential customers who do not allow such things to exist in their environments. I know that I do not and never will allow software to be deployed in a production environment that I run if it is encrypted or otherwise hidden, as it becomes nearly impossible to manage. Besides there not being any upside that I can possibly think of, there isn't any way that I'm aware of to accomplish this in SQL Server.
For More Information
- Dozens more answers to tough SQL Server questions from Michael Hotek are available here.
- The Best Microsoft SQL Server Web Links: tips, tutorials, scripts, and more.
- The Best SQL Web Links
- Have a SQL Server tip to offer your fellow DBAs and developers? The best tips submitted will receive a cool prize. Submit your tip today!
- Ask your technical SQL Server questions -- or help out your peers by answering them -- in our live discussion forums.
- Ask the Experts yourself: Our SQL, database design, SQL Server, DB2, object-oriented and data warehousing gurus are waiting to answer your toughest questions.
Dig Deeper on SQL Server Stored Procedures
Have a question for an expert?
Please add a title for your question
Get answers from a TechTarget expert on whatever's puzzling you.