SQL- सर्वर - डेटाबेस पर उपयोगकर्ता DBO की अनुमति दें


12

मेरे पास एक रिपोर्टिंग डेटाबेस है जिसे मैं हर रात उत्पादन डेटाबेस के बैकअप से पुनर्स्थापित करता हूं। जब मैं पुनर्स्थापित करता हूं, तो मुझे DBOउस डेटाबेस के लिए एक उपयोगकर्ता को भूमिका में जोड़ना होगा ।

मैंने सोचा कि यह काम करेगा:

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

लेकिन मुझे निम्न त्रुटि मिलती है, क्योंकि वह उपयोगकर्ता पुनर्स्थापित_प्रोड डेटाबेस में मौजूद नहीं है:

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

मैं उस डेटाबेस में उपयोगकर्ता 'क्रिस' को कैसे जोड़ सकता हूँ, sp_addrolememberजिससे वह DBOउस डेटाबेस का बना सके ? क्या उपयोगकर्ता sp_addrolememberdb जहाँ उपयोगकर्ता मौजूद है, से कमांड का उपयोग करके उपयोगकर्ता अनुमतियाँ जोड़ने का एक तरीका है?

जवाबों:


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
एक अलग प्रश्न के लिए यह उत्तर देखें जहां मैं लॉगिन / उपयोगकर्ता संबंध को थोड़ा और विस्तार से समझाता हूं।
माइक फाल
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.