PDA

Bekijk Volledige Versie : MSSQL: Hoe voorkomen dat alle databases zichtbaar zijn



nieuwhier
15/10/08, 09:21
Hallo,

Als ik een remote mssql verbinding maak met een plesk windows server via de poort 1433 dan gaat dat prima. Echter ik zie niet alleen de database waar ik rechten voor heb, maar ook alle andere mssql databases. Die kan ik overigens niet selecteren of gebruiken maar ik zie de namen wel.

Dat wil ik voorkomen zodat je ook alleen de database ziet waar je in mag, heb me suf zitten googlen maar kan hier niet echt iets over vinden.

Iemand een idee hierover ?

groet,
Michel.

Ingvald
15/10/08, 12:15
Indien MSSQL 2000, kan je de volgende KB aangwenden:
http://support.microsoft.com/default.aspx/kb/889696

Indien MSSQL 2005,


use master
revoke view any database from public
go

Let wel, dit heeft wel tot gevolg dat je geen enkele DB meer ziet, inclusief degene waar je rechten op hebt. Je hebt echter nog wel steeds toegang (via queries ed.)

Indien MS 2008,
Nog niet getest ;)

nieuwhier
15/10/08, 13:03
use master
revoke view any database from public
go


Hee thx. Dat ze via odbc of een connector niet zichtbaar zijn vind ik prima. Bij het connecten moet gewoon de databasenaam opgegeven worden.

In plesk worden ook mssql databases getoond, alleen daar toont hij wel alleen de databases van die klant. Geen idee hoe plesk aan die lijst komt maar zou de revoke querie daar ook op van toepassing zijn denk je ?

groenleer
15/10/08, 13:31
Ik neem aan dat Plesk zelf ook administreert wat voor wie is aangemaakt.

Ingvald
15/10/08, 14:58
Ik neem aan dat Plesk zelf ook administreert wat voor wie is aangemaakt.
Dat lijkt me vanzelfsprekend. Bij het control panel dat wij gebruiken (DotNetPanel) is dit in ieder geval zo.

yoda-ict
22/11/08, 19:52
use master
revoke view any database from public
go


Dit werkt zowel bij SQL 2005 als 2008. Daarnaast dien je de LOGIN welke je aanmaakt voor de database owner te maken:


use databasename
Exec Sp_changedbowner 'loginname'


Wanneer je dan met SQL Developer studio verbinding maakt met 'loginname' zie je alleen deze database, de rest niet.

Frans