2009-03-20 15 views
8

में एक नया डीबी उपयोगकर्ता बनाएं, आप SQL सर्वर 2005 में पासवर्ड के साथ एक नया डेटाबेस उपयोगकर्ता कैसे बनाते हैं? दो चरणों मेंSQL सर्वर 2005

uid=*user*;pwd=*password*; 

उत्तर

15
CREATE LOGIN [user] WITH PASSWORD='password', 
     DEFAULT_DATABASE=[your_db], CHECK_POLICY=OFF 
GO 

CREATE USER [user] FOR LOGIN [user] 
EXEC sp_addrolemember N'db_datareader', N'your_db' 
EXEC sp_addrolemember N'db_datawriter', N'your_db' 
GO 

कहाँ CHECK_POLICY=OFF स्विच बंद पासवर्ड जटिलता जांच, आदि

+0

मैं सहमत हूं। यह विधि sp_addlogin विधि से बेहतर है क्योंकि आप विंडोज खाता नीति को बंद कर सकते हैं। – djangofan

-1
USE [MASTER] 


EXEC master.dbo.sp_addlogin @loginame = N'USERNAME', @passwd = 'THEPASS' @defdb = N'master', @deflanguage = N'us_english' 


USE [YOUR_DB] 
    EXEC dbo.sp_grantdbaccess @loginame = N'USERNAME', @name_in_db = N'USERNAME' 
+0

कोई स्पष्टीकरण ?? –

5

SQL सर्वर 2005 के रूप में, आप मूल रूप से बनाने चाहिए उपयोगकर्ताओं:

मैं कनेक्शन स्ट्रिंग जैसे में उपयोग करने के लिए उपयोगकर्ता/कूटशब्द इस आवश्यकता होगी

  • पूरे SQL सर्वर में एक "लॉगिन" बनाएं, पूरे
  • प्रत्येक डेटाबेस में इस लॉगिन के लिए उपयोगकर्ता बनाएं

तुम इतनी तरह ऐसा करने के बारे में जाना चाहते हैं:

CREATE LOGIN MyNewUser WITH PASSWORD = 'top$secret'; 

और अपने डेटाबेस "का उपयोग" और उस लॉगिन के लिए उपयोगकर्ता बनाना:

USE AdventureWorks; 
CREATE USER MyNewUser FOR LOGIN MyNewUser 
1

आपको इसे उपयोगकर्ता के रूप में पहले बनाना होगा, और फिर सही पी सेट अप करना होगा उपयोगकर्ता के लिए अंकन।

  1. आप सुनिश्चित करें कि आपके डीबी दोनों उपयोगकर्ता प्रमाणन के साथ कॉन्फ़िगर किया गया है होगा और SQL प्रमाणन तो प्रबंधन स्टूडियो का उपयोग कर: सर्वर पर राइट-क्लिक करें का चयन करें "सुरक्षा" सुनिश्चित करें कि सर्वर प्रमाणीकरण "एसक्यूएल है सर्वर और विंडोज प्रमाणीकरण मोड "

  2. सुरक्षा-लॉगिन में, राइट क्लिक करें और" नया लॉगिन "चुनें, SQL प्रमाणीकरण का चयन करें, उपयोगकर्ता नाम और पासवर्ड का उपयोग करें।

    USE [master] 
    GO 
    CREATE LOGIN [ test] WITH PASSWORD=N'test', DEFAULT_DATABASE=[MY_DATABASE], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF 
    GO 
    
  3. डीबी पर, सुरक्षा में, उपयोगकर्ता, नए उपयोगकर्ता का चयन करें। एक उपयोगकर्ता नाम का चयन करें, और आप अभी बनाया है लॉगिन नाम देते हैं, और भूमिकाओं आप इस उपयोगकर्ता को लागू करना चाहते हैं (अर्थात db_datareader, db_datawriter):

    USE [MY_DATABASE] 
    GO 
    CREATE USER [myDefaultUser] FOR LOGIN [ test] 
    GO 
    USE [MY_DATABASE] 
    GO 
    EXEC sp_addrolemember N'db_datareader', N'myDefaultUser' 
    GO 
    USE [MY_DATABASE] 
    GO 
    EXEC sp_addrolemember N'db_datawriter', N'myDefaultUser' 
    GO 
    

कि यह है। अब आप इस पासवर्ड का उपयोग कर अपनी कनेक्शन स्ट्रिंग बना सकते हैं।

2

जैसा कि इंगित किया गया है, उस खाते के रूप में SQL सर्वर से कनेक्ट करने की क्षमता बनाने के लिए CREATE LOGIN का उपयोग करें। फिर उस डेटाबेस को क्वेरी में डेटाबेस तक पहुंचने की क्षमता देने के लिए डेटाबेस के भीतर CREATE USER का उपयोग करें।

  • तो बिल्कुल भी संभव हो, आप Windows प्रमाणीकरण का उपयोग करना चाहते हैं, नहीं एक एसक्यूएल सर्वर आधारित प्रवेश (जो आप आप जब क्या कर रहे हैं:

    हालांकि, कुछ सुरक्षा अंक इन टिप्पणियों में से कुछ के आधार पर इस तरीके से उपयोगकर्ता/pwd का उपयोग करें)। यदि आप SQL सर्वर के समान डोमेन पर कंप्यूटर से चल रहे हैं, तो आप एक ऐसे Windows खाते का उपयोग कर सकते हैं जो एक Windows उपयोगकर्ता खाता है। यह सुनिश्चित करता है कि डोमेन सुरक्षा के लिए एकल स्रोत है।

  • आपने यह नहीं कहा कि उपयोगकर्ता को किस अधिकार की आवश्यकता है।जब भी संभव हो db_datareader और db_datawriter भूमिकाओं का उपयोग करने से बचें। वे IMPLICIT तालिकाओं और विचारों तक पहुंच प्रदान करते हैं और यदि कोई डेटाबेस पर त्वरित अनुमति जांच कर रहा है, तो वे इन भूमिकाओं में सदस्यता की जांच नहीं कर सकते हैं। इसका मतलब है कि सुरक्षा पर आपकी रिपोर्टिंग का उपयोग कर रहा है। सर्वोत्तम प्रथाओं का कहना है कि अपनी खुद की डेटाबेस भूमिका बनाएं, इसे अनुमति दें, और उपयोगकर्ता को उस भूमिका का सदस्य बनाएं।
  • जब भी संभव हो, एक मजबूत पासवर्ड का उपयोग करें। एक उदाहरण में पासवर्ड नीतियां बंद थीं। SQL सर्वर स्थानीय सर्वर से पासवर्ड नीति का उपयोग करेगा (जो आमतौर पर डोमेन स्तर पर सेट होता है)। यदि संभव हो, तो आप उस मजबूत पासवर्ड नीति को बनाए रखना चाहते हैं।
0
CREATE LOGIN MyNewUser WITH PASSWORD = 'top$secret' 

USE AdventureWorks 
CREATE USER MyNewUser FOR LOGIN MyNewUser 
GO 
+1

मुझे लगता है कि आप यहां अपेक्षाकृत नए हैं। अपना खुद का पोस्ट करने से पहले पूर्व उत्तरों की जांच करना हमेशा अच्छा अभ्यास है। ऐसा करने पर, सुनिश्चित करें कि आपके उत्तर में कुछ अनूठी जानकारी है, चाहे वह आपके उत्तर के दृष्टिकोण, स्पष्टता या पूर्णता में हो। –