Hi
http://vyaskn.tripod.com/sql_server_security_best_practices.htm --------security
best practices
> On a customer-owned SQL Server 2000, we've got our db placed, together
> with other software vendors databases. How can we protect from that the
[quoted text clipped - 11 lines]
>
> Magnus
> On a customer-owned SQL Server 2000, we've got our db placed, together
> with other software vendors databases. How can we protect from that the
[quoted text clipped - 7 lines]
> the sa account? Using this, one is still entitled to the schema of all
> databses, right?
Members of the sysadmin fixed server role (which includes the built-in user
sa) cannot be denied access to anything in SQL Server.
But you don't have to be sa to read the schema of a db, because the public
role has select permissions for sysobjects, syscomments and the rest of the
system tables. All aspects of schema can be extracted from there.
You can stop non-sa users from browsing your tables, using stored procedures
or views and delegation/inheritance, but that may take a fair amount of
work, depending on your app, and can't be used with stored procedures that
dynamically generate the SQL they execute.
You can also encrypt your stored procedures, views, udf's, triggers, user
types and rules, which will keep everyone -- even sa -- from reading or
altering their definitions. There must surely be a way to crack it, for
users with enough skill and time, but this will keep the honest people
honest at the very least.
As for your table structures, as I implied above, they are, afaik,
conventionally unprotectable... otoh, how proprietary could they possibly
be?
-Mark
> Any web page were I can read about this?
>
> Magnus
Mark J. McGinty - 26 Mar 2006 17:14 GMT
>> On a customer-owned SQL Server 2000, we've got our db placed, together
>> with other software vendors databases. How can we protect from that the
[quoted text clipped - 18 lines]
> You can stop non-sa users from browsing your tables, using stored
> procedures or views and delegation/inheritance,
Oops, I meant impersonation, of course, not inheritance.
-Mark
> but that may take a fair amount of work, depending on your app, and can't
> be used with stored procedures that dynamically generate the SQL they
[quoted text clipped - 15 lines]
>>
>> Magnus