Vai trò db_owner cho phép gì


14

Tôi đã cố gắng khắc phục sự cố đăng nhập không thể xem các bảng nhất định trong cơ sở dữ liệu SQL Server 2012. Khi làm như vậy tôi thấy tôi không hiểu tư cách thành viên trong db_ownervai trò đó cho phép. Tôi có thể hiểu các vai trò khác như db_datareader and db_datawriternhưng tôi vẫn bối rối không biết những gì db_ownercho phép.

Câu trả lời:


14

Vui lòng xem tài liệu tham khảo về BOL cho các vai trò cấp cơ sở dữ liệu :

db_owner

Các thành viên của vai trò cơ sở dữ liệu cố định db_owner có thể thực hiện tất cả các hoạt động cấu hình và bảo trì trên cơ sở dữ liệu và cũng có thể loại bỏ cơ sở dữ liệu .

Cách dễ nhất để xem tất cả các quyền là sử dụng sys.fn_my_permissions()chức năng. Trước tiên hãy xác minh bạn là thành viên của db_owner:

select
    rol.name
from sys.database_principals mem
inner join sys.database_role_members drm
on drm.member_principal_id = mem.principal_id
inner join sys.database_principals rol
on drm.role_principal_id = rol.principal_id
where mem.principal_id = user_id();

Bây giờ liệt kê tất cả các quyền cơ sở dữ liệu hiệu quả:

select *
from sys.fn_my_permissions(null, 'database');

Điều đó nên đủ chi tiết cho mục đích của bạn. Một cái gì đó cần lưu ý, sys.fn_my_permissions()trả về các quyền hiệu quả , vì vậy hãy nghĩ về nó như một tập hợp.


Điều đó có nghĩa là người dùng có quyền db_ownerthành viên theo mặc định có cùng quyền db_readerdb_writerkhông?
giun web

4
Một thành viên của db_ownervai trò cơ sở dữ liệu cố định sẽ có SELECT, INSERT, UPDATE, và DELETEquyền truy cập vào cơ sở dữ liệu. Trong số nhiều quyền khác, nhưng có, điều đó đúng.
Thomas Stringer
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.