15

जब मैं SQL Azure से कनेक्ट करने का प्रयास करता हूं, तो मुझे निम्न त्रुटि संदेश मिलता है।Azure को कैसे हल करें "विंडोज लॉग इन SQL सर्वर के इस संस्करण में समर्थित नहीं हैं"?

विंडोज लॉगिन एसक्यूएल सर्वर

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

संदर्भ है कि मैं उपयोग कर रहा हूँ एक खंड का उपयोग कर में चल रहा है, नीचे दिए गए

function List<SomeType> GetList(string dbContextName) 
{ 
    using (MyDbContext context = new MyDbContext) 
    { 
     return context.SomeTypes.ToList(); 
    } 
} 

हम इकाई की रूपरेखा संस्करण 4.2, ASP.NET MVC 3 और .NET 4.0 उपयोग कर रहे हैं।

मैं इस समस्या को कैसे हल कर सकता हूं?

+4

यह स्पष्ट है कि आपको सुरक्षा के लिए विंडोज लॉगिन के बजाय SQL लॉगिन का उपयोग करने की आवश्यकता है - यानी कोई एसएसपीआई आदि; बस एक एसक्यूएल उपयोगकर्ता नाम/पासवर्ड –

+2

** दिखाएं यूएस ** कनेक्शन स्ट्रिंग का उपयोग किया जाता है! आप ** एसक्यूएल एज़ूर के खिलाफ 'एकीकृत सुरक्षा = एसएसपीआई;' सेटिंग का उपयोग नहीं कर सकते हैं, जो शायद आपके स्थानीय SQL सर्वर एक्सप्रेस स्थापना के लिए डिफ़ॉल्ट है ... –

उत्तर

6

एकीकृत प्रमाणीकरण (यानी कनेक्शन स्ट्रिंग में एसएसपीआई) एसक्यूएल एज़ूर में समर्थित नहीं है। केवल SQL प्रमाणीकरण समर्थित है (यानी उपयोगकर्ता नाम & कनेक्शन स्ट्रिंग में पासवर्ड)

8

एज़ पहले से ही अन्य लोगों द्वारा उल्लिखित है, केवल SQL सर्वर प्रमाणीकरण SQL Azure में समर्थित है। आप Guidelines and Limitations with SQL Azure पर और पढ़ सकते हैं। साथ ही Security Guidelines and limitations for SQL Azure

आपको अपने मास्टर डेटाबेस में CREATE LOGIN अपने आप से अपने कस्टम Azure डेटाबेस में CREATE USER करना होगा। अपने उपयोगकर्ता को कुछ अनुमति देने के लिए sys.sp_addrolemember निष्पादित करना भी न भूलें।

managing users and logins in SQL Azure पर अधिक here पाया जा सकता है।

और अंत में, आप हमेशा के लिए अमूल्य स्रोत देख सकते हैं।

22

मैं उपयोगकर्ता/पास का उपयोग कर रहा था और अभी भी त्रुटि संदेश मिला। लेकिन, मैंने इसे अपनी कनेक्शन स्ट्रिंग में जोड़ा और यह काम किया।

Trusted_Connection=False;Encrypt=True; 
8

सेट

Integrated Security=False 

कनेक्शन स्ट्रिंग में। डाटाबेस; xxxx.database.windows.net, 1433:

"ConnectionString": "सर्वर = टीसीपी

4

आप शायद गलत कनेक्शन स्ट्रिंग का उपयोग किया है, इस कनेक्शन स्ट्रिंग प्रारूप कि मेरे मामले के लिए काम किया है = xxx; उपयोगकर्ता आईडी = xxx; पासवर्ड = xxx; एन्क्रिप्ट = सही; ट्रस्टसेवर प्रमाणपत्र = गलत; कनेक्शन टाइमआउट = 30; "

0
1.**Windows Authentication** is not supported in Azure so you should go with **SQL Server Authentication**. 
2.When you use SQL server Authentication you should pass User Id(Login in SQL server) and Password(Password in SQL server). 
3.User Id should contain space in between should not be like UserId. 
4.Trusted_Connection should be false. 
The connection string in *appsettings.json* look like this: 

"ConnectionStrings": { 
    "WinDwellContext": "Server=ServerName;Database=DbName;User Id=loginName;Password=loginPassword;Trusted_Connection=false;MultipleActiveResultSets=true" 
    } 
संबंधित मुद्दे