2012-02-11 12 views
8

क्या कोई मुझे बता सकता है कि SQL Azure में डेटाबेस के लिए अनुमतियां कैसे प्रदान करें?एसक्यूएल एज़ूर में डेटाबेस के लिए अनुमतियां कैसे सेट करें?

जब मैं तालिका क्वेरी बनाने पर अमल, मैं निम्न संदेश के साथ समाप्त कर रहा हूँ:

टेबल अनुमति डेटाबेस testDB में से इनकार किया

अग्रिम धन्यवाद :)

+0

क्या उपयोगकर्ता आप के रूप में एसक्यूएल Azure से कनेक्ट कर रहे हैं।? क्या यह एक उपयोगकर्ता है जिसमें टेबल बनाने की अनुमति है (उदा। एसक्यूएल एज़ूर सर्वर बनाते समय बनाया गया व्यवस्थापक उपयोगकर्ता)? – mcollier

उत्तर

0

एसक्यूएल एज़ूर SQL सर्वर के समान सुरक्षा मोड का उपयोग करता है। ऐसा लगता है कि आप टेबल बनाने के लिए गैर-डीबीओ उपयोगकर्ता का उपयोग करते हैं। मुझे लगता है कि आप GRANT कमांड का उपयोग कर सकते हैं, इसे उचित अनुमति मिलती है।

+0

SQL Azure सुरक्षा के मामले में SQL सर्वर के लिए थोड़ा अलग काम करता है - लॉग इन और उपयोगकर्ताओं IIRC के लिए अलग-अलग भूमिकाओं का उपयोग करता है। – jamiebarrow

1

सुनिश्चित करें कि आप मास्टर डेटाबेस में निर्माण तालिका स्क्रिप्ट चलाने की कोशिश नहीं कर रहे हैं।

6

आदर्श रूप से, आप केवल उपयोगकर्ता के लिए आवश्यक अनुमतियां असाइन करेंगे। आप सिर्फ इतना है कि आप नए डेटाबेस में कुछ भी करने में सक्षम होना चाहते एक नया उपयोगकर्ता बना लिया है, तो आप एक सर्वर व्यवस्थापक उपयोगकर्ता का उपयोग कर कि डेटाबेस के अंदर निम्न आदेश चला सकते हैं:

EXEC sp_addrolemember 'db_owner', 'YourNewUser'; 
3

इन पर एक नजर डालें स्क्रिप्ट है इस सटीक स्क्रिप्ट है कि आप for.But इस आप स्क्रिप्ट आप चाहते हैं कि

के लिए Step1 बनाने में मदद करेंगे देख रहे हैं नहीं किया जा सकता: नीला masterdb पर ये स्क्रिप्ट

CREATE LOGIN mydb_admin 
WITH PASSWORD = 'nnn' 
GO 
CREATE LOGIN mydb_user 
WITH PASSWORD = 'nnnnnnnnn 
GO 

'

Ran

चरण 2: Ran वास्तविक नीला डाटाबेस जैसे पर नीचे लिपियों, mydb

CREATE USER mydb_admin FROM LOGIN mydb_admin ; 
EXEC sp_addrolemember 'db_datareader', 'mydb_admin'; 
EXEC sp_addrolemember 'db_datawriter', 'mydb_admin'; 
GRANT CONNECT TO mydb_admin; 
GRANT SELECT TO mydb_admin; 
GRANT EXECUTE ON [dbo].[procDumpRowsInto_De_Common] TO [mydb_admin] AS [dbo] 

CREATE USER mydb_user FROM LOGIN mydb_user; 
EXEC sp_addrolemember 'db_datareader', 'mydb_user'; 
EXEC sp_addrolemember 'db_executor', 'mydb_user'; 
GRANT CONNECT TO mydb_user; 
GRANT SELECT TO mydb_user; 
+0

कृपया अपने कोड के स्वरूपण को दोबारा जांचें। ऐसा लगता है कि 'गलत गलत टाइप है। –

संबंधित मुद्दे