Search code examples
sql-serverdeploymentsetup-deploymentweb-deployment

securing few sql server database on client deployment


here is a debatable question which i want to achieve not sure how .

i am supposed to deliver an asp.net application which has to be installed on client system.i can obfuscate my code and hence protect it . but in case the database is opened by any administrator. the person would be able to see all the entire data which has been given to database .

we do not want the client to control the database anyway even if he has the access to the database for some specific static table . and deny any changes made to those particular tables say Table A,Table B and Table C...

how do i track or avoid any changes those are being made to those three tables . and deny them from changing that . is there any possible way for it ? to deny any changes to those tables and control them via private key/public key sort of thing or else some lock mechanism which wd deny any update statements to that table even via administrator having update rights . cause we dont have the control for the database . its the client who would be controlling it .

so how to protect this database in case of any client deployment of a web application database

or else kind of deployment suggestions are most welcome. since we are novice in this application deployment .


Solution

  • In general your better option of protecting your code and data that is property of your application would be to do it through a license agreement of sorts. SQL Server offers methods to protect data from unauthorized users but administrators and local admin accounts will be able to get to it if they want too.

    You might consider SQL Server compact edition ( http://www.microsoft.com/sqlserver/en/us/editions/compact.aspx) I believe it acts more like an embedded database so there is not direct access outside of your application.