2010-11-03 62 views

Trả lời

20
  1. Connect để dụ máy chủ SQL của bạn sử dụng quản lý phòng thu
  2. Chuyển Security -> Logins -> (nhấn chuột phải) New Login
  3. điền vào chi tiết người dùng
  4. Theo tài Mapping, chọn cơ sở dữ liệu mà bạn muốn người dùng có thể truy cập và cấu hình

UPDATE: bạn cũng sẽ muốn an goto -> Vai trò máy chủ và cho "công khai" kiểm tra các quyền cho TSQL Mặc định TCP/TSQL Mặc định VIA/TSQL Máy cục bộ/TSQL Đặt tên đường ống và xóa quyền "kết nối"

+1

Thanls cho thư trả lời của bạn. Tôi đã tạo một người dùng mới theo cách này, đã thử đăng nhập với họ trong SSMS2008 và tôi có toàn quyền truy cập vào tất cả các cơ sở dữ ... – Curt

+1

Xin chào Curt - Nó sẽ liên quan đến cài đặt truy cập mặc định thông qua công khai hoặc khách trên cả cấp độ máy chủ và cấp cơ sở dữ liệu. Hãy thử những điều trên và nếu điều đó không làm việc có một vài điều khác tôi có thể đề nghị (nhưng lần cuối cùng tôi đã có vấn đề này mà cố định nó) – Irfy

+0

Thanks @ lrfy: D – Curt

1

Đối với bất kỳ ai khác ngoài kia tự hỏi làm thế nào để làm được điều này, tôi có giải pháp sau đây cho SQL server 2008 R2 và sau:

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

này sẽ đề cập đến một cách chính xác các yêu cầu nêu trên ..

+0

Lệnh này sẽ chặn truy cập vào TẤT CẢ của 50 cơ sở dữ liệu, vui lòng cung cấp các câu lệnh bắt buộc khác ... – BiLaL

36

tôi nghĩ rằng đây là những gì chúng tôi muốn làm rất nhiều.

--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 

nếu bạn đã tạo một người dùng và giao cho cơ sở dữ liệu trước bằng cách làm
SỬ DỤNG [yourDB] CREATE USER chào CHO ĐĂNG NHẬP chào VỚI DEFAULT_SCHEMA = [dbo] GO

thì vui lòng xóa nó bằng cách làm dưới đây và làm theo các bước

USE yourDB; 
    GO 
    DROP USER newlogin; 
    GO 

Để biết thêm thông tin xin vui lòng làm theo các liên kết:

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

+0

Bây giờ, bạn sẽ làm gì nếu bạn không thể từ chối tất cả cơ sở dữ liệu đầu tiên? Các oposite, trong đó, chỉ hạn chế quyền truy cập vào một cơ sở dữ liệu cụ thể. –

Các vấn đề liên quan