همانطور که در قسمت قبلی در خصوص آموزش استفاده از SQL توسط CMD و ابزار SQLCMD صحبت کردیم تقریباً با sqlcmd آشنا شدیم در این مطلب میخواهم در خصوص اضافه کردن یوزر مدیریتی که در SQL فراموش کردیم صحبت کنیم اگر خدایی نکرده تمام Account های SQL شما عمداً یا سهواً به هر دلیلی از کار افتاده باشند مثلاً پسوردشان را فراموش کردید یا حذف شده باشند یا تمام کاربران از جمله Account های ویندوزی و Account های SQL را از نقش SYSADMIN حذف کردهاید.شاید آخرین راه برای این موضوع نصب مجدد باشد یا راه های دیگه که به هر حال تنظیمات سرورتون از بین خواهد رفت ، اما راه دیگری که در این مطلب می آموزیم اضافه کردن یوزر مدیریتی به SQL است. به فرض اینکه تمام دسترسی های مدیریتی از شما سلب شده است مطابق کد زیر در وحله اول به آن سرور Login کنید.
توسط سوئیچ S که در درس قبلی هم گفتم به سرور مورد نظر وصل میشیم در اینجا میتوانید به جای اسم کامپیوتر از کارکتر دات (.) استفاده کنید.
- create login: را میتوانید روی یکی از یوزر های محلی به کار بگیرید ابتدا اسم کامپیوتر و سپس بک اسلش و بعد از آن اسم یوزر مانند مثال فوق ضمناً در SQLCMD یادتان باشد همواره پس از هر دستور کلمه Go را بزنید در نهایت مطابق تصویر فوق توسط sp__addsrvrolemember به یوزر Account مورد نظر دسترسی sysadmin میدهیم و همانطور که ملاحظه میکنید در نهاید با پیغام 1rows affected متوجه خواهید شد که این یوزر با موفقیت قابلیت دسترسی sysadmin را گرفته است.
خب کار تمام است اگر میخواهید تست کنید این کاربر قابلیت مدیریت را گرفته است بهتر است توسط همین کاربر به SQL Serer لاگین کنید ویا حتی میتوانید از متد is__srvrolemember جهت Query گرفتن استفاده کرد. ضمناً اگر کاربر در لیست مذکور وجود داشته باشد و بخواهید آن را بسازید با خطای زیر متوقف خواهید شد.
C:\Users\khanlarif>sqlcmd -S RIPI12160 1> create login [RIPI12160\admin] from windows; 2> go Msg 15025, Level 16, State 2, Server RIPI12160, Line 1 The server principal 'RIPI12160\admin' already exists. 1>
راه دیگری برای این مهم وجود دارد و این راه برای افرادی هست که نمیخواهند از یوزر های ویندوزی استفاده کنند برای همین منظور مطابق تصویر زیر عمل کنید تا کاربرمورد نظر (itpro) با کلمهی عبوری که مشخص کردیم در این مثال (102030) ایجاد شود و در نهایت توسط sp__addsrvrolemember دسترسی sysadmin به این کاربر اختصاص میابد.
C:\Users\khanlarif>sqlcmd -S RIPI12160 1> use master 2> go Changed database context to 'master'. 1> create login itpro with password='102030' 2> go 1> exec sp_addsrvrolemember 'itpro','sysadmin' 2> go
برای اینکه بدانیم واقعاً این یوزر ها یعنید admin و itpro در لیست یوزر های SQL موجود هستند و در قسمت Security//logins هستند میتوانید به SQL خود مطابق تصویر زیر مراجعه کنید.
در نهایت یک مثال دیگر این بار با اسم سروری که از دات (.) استفاده کردم را مینویسم کد زیر را نگاه کنید:
C:\Users\khanlarif>sqlcmd -S . 1> use master 2> go Changed database context to 'master'. 1> create login farhad_khanlari with password='khanlari' 2> go 1> exec sp_addsrvrolemember 'farhad_khanlari','sysadmin' 2> go
پس از درج کد فوق مجدداً چک میکنیم SQL را که این یوزر اضافه شده است یا خیر تصویر زیر را ببینید
نظرات کاربران (0)