Na uren proberen uit te zoeken hoe je een gebruikersaccount kunt maken die alleen toegang heeft tot 1 DB en alleen die DB kan zien. Ik denk dat ik het door heb!!!!
-
Maak een gebruikersaccount aan (zorg ervoor dat het niet is toegewezen aan een database, anders krijgt u de laatste foutmelding Msg 15110, Level 16, State 1 en noteer de voorgestelde oplossing )
USE [master] GO CREATE LOGIN [us4] WITH PASSWORD=N'123', DEFAULT_DATABASE=[master], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF
-
Klik met de rechtermuisknop op het bovenste gedeelte van de SQL (SQLSERVER-naam)>
Properties
>Permissions
>Klik op hetuser account
en selecteerDeny
om databases te bekijken.use [master] GO DENY VIEW ANY DATABASE TO [us4]
-
Klik met de rechtermuisknop op de nieuw aangemaakte DB, Eigenschappen, Bestanden en verander de Eigenaar in het nieuw aangemaakte account. (belangrijke opmerking :
ALTER ROLE [db_owner] ADD MEMBER [us4]
werkt niet )USE [dbname] GO EXEC dbo.sp_changedbowner @loginame = N'us4', @map = false
Op dit punt, zodra de gebruiker zich aanmeldt, ziet hij de Master,tempdb en ziet hij ook de nieuwe DB waarvan hij een DB-eigenaar is. Misschien wilt u naar Tools>Option
gaan en schakelde de optie in om systeemobjecten te verbergen, zodat u de master, tempdb, enz. niet toont. Mogelijk hebt u SP1 ook nodig als deze optie niet werkt
Msg 15110, Level 16, State 1, Line 1
The proposed new database owner is already a user or aliased in the database.
voorgestelde oplossing voor Msg 15110: om bovenstaande fout op te lossen, verwijdert u eenvoudig de gebruiker van het databasebeveiligingsknooppunt en probeert u het opnieuw
Ik hoop dat dat helpt...
Nikhil