SQL-Server - Cấp quyền DBO cho người dùng trên cơ sở dữ liệu


12

Tôi có một cơ sở dữ liệu báo cáo mà tôi khôi phục mỗi đêm từ bản sao lưu của cơ sở dữ liệu sản xuất. Khi tôi khôi phục, tôi cần thêm người dùng vào DBOvai trò cho cơ sở dữ liệu đó.

Tôi nghĩ rằng điều này sẽ làm việc:

use Restored_Prod
go
exec sp_addrolemember 'db_owner', 'chris'
go

Nhưng tôi gặp lỗi sau, vì người dùng đó không tồn tại trong cơ sở dữ liệu Restored_Prod:

Msg 15410, Level 11, State 1, Procedure sp_addrolemember, Line 75
User or role 'chris' does not exist in this database.

Làm cách nào để thêm người dùng 'chris' vào cơ sở dữ liệu để có thể chạy sp_addrolememberđể biến anh ta thành DBOcơ sở dữ liệu đó? Có cách nào để thêm quyền người dùng bằng cách sử dụng sp_addrolememberlệnh từ db chính nơi người dùng tồn tại không?

Câu trả lời:


30

Hiệu trưởng người dùng phải tồn tại trong cơ sở dữ liệu trước khi bạn có thể cấp cho họ quyền.

use Restored_Prod
GO

CREATE USER [chris] FROM LOGIN [chris];
exec sp_addrolemember 'db_owner', 'chris';
GO

http://technet.microsoft.com/en-us/l Library / ms173463.aspx


1
Điều đó có ý nghĩa - tôi không biết có sự khác biệt giữa đăng nhập và người dùng. Cảm ơn
OrangeGrover

2
Xem câu trả lời này cho một câu hỏi khác trong đó tôi giải thích mối quan hệ đăng nhập / người dùng chi tiết hơn một chút.
Mike Fal
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.