Chúng tôi có một số cơ sở dữ liệu trên máy chủ SQL. Chúng tôi muốn tạo 1 người dùng mới có thể xem cơ sở dữ liệu 'c' nhưng không thể thấy phần còn lại của cơ sở dữ liệu.Tạo người dùng chỉ có thể xem một cơ sở dữ liệu và chỉ chọn từ cơ sở dữ liệu đó?
Người dùng này chỉ có thể chọn từ cơ sở dữ liệu này và không có gì khác.
Tôi đã googleing và đang tìm kiếm một lúc, và gần nhất tôi thấy là từ chối xem bất kỳ cơ sở dữ liệu nào, và sau đó biến chúng thành chủ sở hữu cơ sở dữ liệu.
Nhưng tôi không nghĩ rằng nó sẽ làm việc để hạn chế họ lựa chọn, trừ khi có cách nào tôi có thể từ chối tất cả mọi thứ ngoại trừ chọn trên một chủ sở hữu cơ sở dữ liệu?
Cảm ơn trước sự giúp đỡ nào!
Chỉnh sửa: SQL Server 2008 R2, nhân tiện.
Chỉnh sửa2: Rất tiếc, tôi không rõ ràng trong bài đăng gốc của mình. Tôi đang tìm cách để làm cho nó như vậy khi họ đăng nhập họ thậm chí sẽ không nhìn thấy tên của cơ sở dữ liệu khác, không chỉ là họ không thể truy cập chúng.
Cảm ơn.
Hãy nhớ rằng trong năm 2008 tất cả người dùng được cấp vai trò cấp máy chủ "Công khai" không thể lấy đi. Nếu bạn chỉ muốn họ nhìn thấy một cơ sở dữ liệu, và bạn không thể giới hạn quyền truy cập của họ thông qua các thủ tục được lưu trữ hoặc tầng giữa khác, bạn sẽ phải từ chối tất cả các cơ sở dữ liệu khác vào vai trò Public (có thể làm rối loạn mọi người). –
Tôi có thể hiểu nhầm, hoặc tôi có thể không rõ ràng trong bài viết gốc của tôi. Tôi có nghĩa là người dùng sẽ không thể nhìn thấy các cơ sở dữ liệu khác như trong nếu họ đăng nhập vào studio quản lý, cơ sở dữ liệu khác thậm chí sẽ không hiển thị. Với điều này, họ sẽ vẫn hiển thị, và họ sẽ không thể vào cơ sở dữ liệu, đúng không? Có anyway để làm cho nó để họ thậm chí không thể nhìn thấy cơ sở dữ liệu? – Kyle
"Bạn sẽ cần phải thu hồi quyền 'XEM BẤT K DAT DATABASE' từ vai trò PUBLIC (SQL SERVER 2005 trở đi)". Tôi đã đánh cắp nó từ [bài đăng khác ...] (http://stackoverflow.com/questions/935018/hide-sql-database-from-management-studio). Hãy xem ở đó để biết thêm thông tin. –