आप वास्तव में लॉगिन या उपयोगकर्ता के लिए क्या चाहते हैं? एक लॉगिन सर्वर स्तर पर बनाया जाता है और एक उपयोगकर्ता डेटाबेस स्तर पर बनाया जाता है ताकि सर्वर में एक लॉगिन अद्वितीय हो
एक उपयोगकर्ता भी एक लॉगिन के खिलाफ बनाया गया है, लॉगिन के बिना एक उपयोगकर्ता एक अनाथ उपयोगकर्ता है और यू के रूप में उपयोगी नहीं है क्योंकि लॉगिन के बिना sql सर्वर लॉगिन बाहर नहीं कर सकता
शायद आपको इसकी आवश्यकता है
लॉगिन के लिए जाँच करें
select 'X' from master.dbo.syslogins where loginname=<username>
उपरोक्त क्वेरी वापसी 'X' के लिए है, यदि लॉगिन मौजूद है, तो अन्य अशक्त है
फिर एक लॉगिन बनाएं
CREATE LOGIN <username> with PASSWORD=<password>
यह sql सर्वर में एक लॉगिन बनाता है। लेकिन यह केवल मजबूत पासवर्ड स्वीकार करता है
प्रत्येक डेटाबेस में एक उपयोगकर्ता बनाएं जिसे आप लॉगिन करना चाहते हैं
CREATE USER <username> for login <username>
उपयोगकर्ता को निष्पादित अधिकार प्रदान करें
GRANT EXECUTE TO <username>
आप जरूरी के लिए SYSADMIN अनुमतियाँ या 'सा' कहेंगे
आप एक डेटाबेस पर उसके लिए एक sql प्रक्रिया लिख सकते हैं
create proc createuser
(
@username varchar(50),
@password varchar(50)
)
as
begin
if not exists(select 'X' from master.dbo.syslogins where loginname=@username)
begin
if not exists(select 'X' from sysusers where name=@username)
begin
exec('CREATE LOGIN '+@username+' WITH PASSWORD='''+@password+'''')
exec('CREATE USER '+@username+' FOR LOGIN '+@username)
exec('GRANT EXECUTE TO '+@username)
end
end
end