SQL-Server - ให้สิทธิ์ DBO ของผู้ใช้ในฐานข้อมูล


12

ฉันมีฐานข้อมูลการรายงานที่คืนค่าทุกคืนจากการสำรองฐานข้อมูลการผลิต เมื่อฉันกู้คืนฉันต้องเพิ่มผู้ใช้ในDBOบทบาทสำหรับฐานข้อมูลนั้น

ฉันคิดว่ามันจะทำงาน:

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

แต่ฉันได้รับข้อผิดพลาดต่อไปนี้เนื่องจากผู้ใช้นั้นไม่มีอยู่ในฐานข้อมูล Restored_Prod:

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

ฉันจะเพิ่มผู้ใช้ 'chris' ลงในฐานข้อมูลเพื่อให้สามารถเรียกใช้sp_addrolememberเพื่อทำให้เขาเป็นDBOฐานข้อมูลนั้นได้อย่างไร มีวิธีเพิ่มสิทธิ์ผู้ใช้โดยใช้sp_addrolememberคำสั่งจาก master db ที่มีผู้ใช้อยู่หรือไม่?

คำตอบ:


30

ผู้ใช้งานหลักต้องมีอยู่ในฐานข้อมูลก่อนที่คุณจะสามารถให้สิทธิ์ได้

use Restored_Prod
GO

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

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


1
นั่นสมเหตุสมผลแล้ว - ฉันไม่รู้ว่ามีความแตกต่างระหว่างการเข้าสู่ระบบและผู้ใช้ ขอบคุณ
OrangeGrover

2
ดูคำตอบของคำถามอื่นที่ฉันจะอธิบายความสัมพันธ์เข้าสู่ระบบ / ผู้ใช้ในรายละเอียดเพิ่มเติมเล็กน้อย
Mike Fal
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.