Need Solution for SQL Server

I developed an internet application that is being hosted.  A couple of companies have approached us in regards to utilizing the application but want to utilize it on their intranet instead of the internet.  Our SQL server has  proprietary information that we do not want customers to see.  

Any ideas how I can put on their server and not allow them access to the dbase?
LVL 2
CipherISAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Jim P.Commented:
>> Our SQL server has  proprietary information that we do not ...


When you say proprietary information are you referring to stored procedures and how your system operates?

Could you compile the sp's into DLL's and then make them xp_MyProc?
0
CipherISAuthor Commented:
No we cant.  Yes the stored procedures, table structures, etc....  We want to prevent any reverse engineering.
0
Jim P.Commented:
There is really no way to do it. Especially once it at the remote site.

SQL Server has to have a database owner that is local and can't be prevented from seeing the structure and data in the tables.
0
Big Business Goals? Which KPIs Will Help You

The most successful MSPs rely on metrics – known as key performance indicators (KPIs) – for making informed decisions that help their businesses thrive, rather than just survive. This eBook provides an overview of the most important KPIs used by top MSPs.

8080_DiverCommented:
AS has already been pointed out, having it on a local intranet is going to, basically, require exposing the database.  The only solution that I can come up with is to, in effect, host the database locally instead of on the internet.
In other words, suppose you set up a server and the database on site but retain full control over and the only non-programmatic access to the database and server.  (Of course, you would need to escrow  the SA name/password, etc., in case you and your company get squashed on the freeway. ;-)  The idea being that you will maintain the server and the database via remote connections but it will be, "in-house" and on their intranet for all practical purposes.  
Of course, since you will have additional expenses involved in dealing with the remote locations for the servers and databases, you will need to charge a bit more for the services but, if the companies are that paranoid, they will probably pay for it.  If they opt not to and, instead, opt for the secure internet rather than intranetoption, then you aren't out any more trouble than preparing the proposal. ;-)
0
CipherISAuthor Commented:
Let me try to be a little more clear.  We have an internet site which will still be available for customers.

It is the customers who want an intranet solution that we are trying to address.  They will not use our functioning internet site.  We need to implement our code and dbase on their intranet.  We can take care of the code.  The issue is SQL Server.  We do not want them to have internal access to it if it is on their site.
0
PIERCGGCommented:
I would think that as long as you did not provide them with a Windows login nor a SQL login that they shouldn't be able to Connect the the dbs to see them?
0
PIERCGGCommented:
Additionally, if you provided even 1 user to have a SQL login, the DENY option in the permissions is a very powerful limiting option to keep people out of what you don't want them to see.  But first, I simply wouldn't give them any credentials to connect in the first place.  Let your code access the dbs only using a SQL login which SHOULD BE encrypted in your code or in the config file for the code.  Then just don't ever give those credentials to your customer either.
0
Jim P.Commented:
>> We do not want them to have internal access to it if it is on their site.

Unless you deploy it as an appliance -- pre-installed SQL Server and web interface on your own server that is running at their site -- there is simply no way to do it.

The issue is the SQL Server will integrate to Windows server. And even then if you control all the passwords and such that go into the SQL Server Services, all someone has to do is shut down the SQL Server services, copy  the mdf/ldf files to another SQL Server and attach them. Then they have the DB.
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
Chris LuttrellSenior Database ArchitectCommented:
have you looked into the WITH ENCRYPTION options of stored procedures, functions, views, and triggers?  that will let them work but not be viewable or editable.
0
8080_DiverCommented:
@CipherIS
Let me try to be a little more clear.  We have an internet site which will still be available for customers.
That was not precluded by my recommendation.  
To restate as briefly as possible:
  1. Install the Database on a server at the customer location;
  2. Do not provide any logins to the customer;
  3. Only allow access to the database's data via the application which has the only "local" access to the database;
  4. You and/or your company will have maintain the server and database via remoteing into the box (which, of course, will mean that the custoemr wll need to provide you with the necessary access through their firewalls, etc.).
Thus, you maintain your security on your database and the customer maintains their security on thier world.
Whether or not you have a version of the database set up on one or more local sites in this manner has zero impact on your internet site . . . although it does somewhat complicate the application and database maintenance.
0
PIERCGGCommented:
However, if the customer is tech-savvy or hires someone who is, then what jimpen stated would seem to be true.
0
CipherISAuthor Commented:
Thx
0
Jim P.Commented:
Glad to be of assistance. May all your days get brighter and brighter.
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Microsoft SQL Server 2008

From novice to tech pro — start learning today.