2010-11-03 14 views

Antwort

20
  1. Verbindung zu Ihrem SQL-Server-Instanz-Management-Studio mit
  2. Goto Sicherheit -> Logins -> (rechte Maustaste) Neue Anmeldung
  3. fill in Benutzerdaten
  4. unter Benutzerzuordnung, wählen Sie die Datenbanken, die Sie wollen der Benutzer in der Lage sein

UPDATE zuzugreifen und konfigurieren: Sie auch goto Sicherheit wollen -> Serverrollen, und für "public" überprüfen Sie die Berechtigungen für TSQL Standard TCP/TSQL Standard VIA/TSQL Local Machine/TSQL Named Pipes und entfernen Sie die "connect" Erlaubnis

+1

Vielen Dank für Ihre Antwort. Ich habe einen neuen Benutzer auf diese Weise erstellt, habe versucht, mich mit ihnen in SSMS2008 anzumelden, und ich habe vollen Zugriff auf alle Datenbanken ... – Curt

+1

Hallo Curt - Es wird etwas mit den Standard-Zugriffseinstellungen über entweder öffentlich oder Gast zu tun haben sowohl auf Serverebene als auch auf Datenbankebene. Bitte versuchen Sie die oben genannten und wenn das nicht funktioniert gibt es ein paar andere Dinge, die ich vorschlagen kann (aber das letzte Mal hatte ich dieses Problem, das es behoben) – Irfy

+0

Danke @lrfy: D – Curt

1

Für alle anderen da draußen fragen, wie man dies tun, ich habe die folgende Lösung für SQL Server 2008 R2 und höher:

USE master 
go 
DENY VIEW ANY DATABASE TO [user] 
go 

Dies wird sich genau die Anforderung oben umrissenen ..

+0

Dieser Befehl wird den Zugriff auf alle der 50 Datenbanken sperren, bitte geben Sie die anderen erforderlichen Aussagen auch ... – BiLaL

36

ich denke, das ist das, was wir sehr viel zu tun.

--Step 1: (create a new user) 
create LOGIN hello WITH PASSWORD='foo', CHECK_POLICY = OFF; 


-- Step 2:(deny view to any database) 
USE master; 
GO 
DENY VIEW ANY DATABASE TO hello; 


-- step 3 (then authorized the user for that specific database , you have to use the master by doing use master as below) 
USE master; 
GO 
ALTER AUTHORIZATION ON DATABASE::yourDB TO hello; 
GO 

, wenn Sie bereits vor, indem Sie
USE [ihredb] CREATE USER zu dieser Datenbank einen Benutzer und zugewiesen erstellt hallo FOR LOGIN hallo mit DEFAULT_SCHEMA = [dbo] GO

dann freundlicherweise löschen, indem Sie tun unten und folgen den Schritten

USE yourDB; 
    GO 
    DROP USER newlogin; 
    GO 

Für weitere Informationen folgen Sie bitte den Links:

Hiding databases for a login on Microsoft Sql Server 2008R2 and above

+0

Nun, wie würden Sie tun, wenn Sie nicht alles DENY können Datenbanken zuerst? Das Gegenteil davon beschränkt nur den Zugriff auf eine bestimmte Datenbank. –

Verwandte Themen