How To PROTECT SQL Server Database Files ?

  • Hello,

    How to protect structures(Tables,SP,Views and Functions) of a SQL Server Database?(Password protect a database file)

    I have a SQL database that will distribute with my application, I want to protects it's structure from my appliction users. Only my application can access the database.

    Thanks

  • The data belongs to the data owners, not to the developers of some application. I would not allow any database that "only my application" can access. And SQL Server agrees with me.

    _________________
    "Look, those sheep have been shorn."
    data analyst replies, "On the sides that we can see.."

  • You can encrypt dtored procedures and views. But you want to stop the reverse engineering of your logical database design, so you have to make sure that nobody has sa access and that the security is such that the application can only use one login with execute permission on stored procs - the only way that the application can access the database is via stored procs.

     Also you could install MSDE (if it fits your needs) and then client tools are not installed and most users are unaware that they have a SQL Server database.

  • katesl - Switch to decaf.


    Don

    http://www.biadvantage.com

  • Ideally, there is no way to work protect your data files from being taken away and using a different instance of sql to attach and try peeking at the design.

    A few things will definetly make it hard.

    Use of enrypted stored procs and views

    Use of WinFS (in 2003)

    Use of enryption techniques to enrypt disk files. This is a very expensive solution.

    - Goutam

     

  • If you think some real data owners are going to allow a SQL Server installation for which they don't have the sa password, you are living on planet dinky Access.

    _________________
    "Look, those sheep have been shorn."
    data analyst replies, "On the sides that we can see.."

  • If I have a database that the data doesn't belong to my application users(such as a Dictionary), Should all users have full access to my database?

  • Many applications use proprietary databases. Certainly the data often "belongs" to the user(s). However, since application logic and sometimes trade secrets are reverse-engineerable (if that's a word!), protecting the schema can be important.


    Don

    http://www.biadvantage.com

  • Our company uses Great Plains accounting, one of the Microsoft Business Solutions, on SQL Server database. As the sa and dbo, I see all the tables and procedures. I don't think for a minute that I would launch a competitor product using this info. We are paying for all the Great Plains support, manuals, etc., not only the db structure. There is some use of encrypted parameters, data pulled from the compiled application code instead of the database, and display of data from #tables that are deleted on window close. And, as usual, Microsoft does not publish ER diagrams for the product. But Profiler lets us see what we really need to know to write procedures replace data entry with import from existing sources. We did avoid paying for a useless Great Plains add-on product named Integration Manager because we had the more useful SQL Server Profiler. (Note that Microsoft sells both.) Of course not all users are sa and/or dbo, but expect that we who are will apply our normal skills. I tell our accounting manager to think of Great Plains as the database, not as the application.

    _________________
    "Look, those sheep have been shorn."
    data analyst replies, "On the sides that we can see.."

Viewing 9 posts - 1 through 8 (of 8 total)

You must be logged in to reply to this topic. Login to reply