SQL-Server - Berikan izin DBO pengguna pada basis data

12

Saya memiliki basis data pelaporan yang saya kembalikan setiap malam dari cadangan basis data produksi. Ketika saya memulihkan, saya perlu menambahkan pengguna ke DBOperan untuk database itu.

Saya pikir ini akan berhasil:

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

Tapi saya mendapatkan kesalahan berikut, karena pengguna itu tidak ada di database Restored_Prod:

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

Bagaimana cara menambahkan 'chris' pengguna ke basis data agar dapat menjalankannya sp_addrolememberuntuk menjadikannya bagian DBOdari basis data itu? Apakah ada cara untuk menambahkan izin pengguna menggunakan sp_addrolememberperintah dari master db di mana pengguna berada?

OrangeGrover
sumber

Jawaban:

30

Prinsipal pengguna harus ada dalam database sebelum Anda dapat memberi mereka izin.

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

Mike Fal
sumber
1
Itu masuk akal - saya tidak tahu ada perbedaan antara login dan pengguna. Terima kasih
OrangeGrover
2
Lihat jawaban ini untuk pertanyaan berbeda di mana saya menjelaskan hubungan masuk / pengguna dengan sedikit lebih detail.
Mike Fal