تغییر کلمه عبور فراموش شده در SQL Server

۱۳۹۱/۰۴/۱۱ ۱۶:۰۹ Salar Khalilzadeh https://plus.google.com/105397214522932500988 منتشر شده در تاریخ : ۱۳۹۱/۰۴/۱۱ دسته بندی : 1

فراموشی کلمه عبور SQL Server از مواردی هست که کم برای کسی پیش می آید ولی اگر پیش بیاد دردسر بزرگی خواهد بود.
چند راه مختلف برای بازیابی و ریست کلمه عبور وجود دارد، در اینجا قصد ندارم آنها رو شرح بدهم. اما شاید ساده ترین روش ورود با استفاده از حساب sa و یا با استفاده از حساب ویندوز (Windows authentication) باشد.
اما اگه این دو نشد چه؟ مثلا حساب sa غیر فعال است و windows authentication برای کاربران تعریف نشده باشد .(البته غیر فعال بودن sa توصیه میشه.)
یک راه جالبی وجود دارد که نیاز به روش خاصی برای انجام دارد که در ادامه می خوانید، اما قبل از آن لینک های زیر شامل روشهای مختلف دیگری برای بازیابی کلمه عبور هستند:
اجرای sql server در حالت single user هم جالب هست که در لینکهای بالا توضیح داده شده است.

اما روشی که من استفاده کردم بر یک نکته ساده مربوط به حساب کاربری جاری متصل شونده به دیتابیس استوار است. در زمان اتصال به sql server و استفاده از روش windows authentication حساب کاربر جاری مورد استفاده قرار می گیرد. برای مثال اگه حساب کاربری ویندوزی جاری salar باشد، وجود حساب وی و دسترسی وی به sql server بررسی شده و سپس اجازه ادامه عملیات و برقراری اتصال داده می شود.
حال اگر کاربر جاری را به SYSTEM تغییر دهیم چه می شود؟ به طور پیشفرض کاربر SYSTEM جزو کاربران مجاز با دسترسی کامل در هنگام نصب sql server تعیین می شود.
پس با این اوصاف اگر بتوانیم با کاربر SYSTEM وارد شویم امکان تغییر کلمه عبور کاربران و کارهای دیگر فراهم می شود.
وجود کاربر جاری و کاربر سیستم

نکته ای که اینجا هست کاربران یا برنامه های عادی اجازه اجرای برنامه در حساب کاربری SYSTEM را ندارند، فقط سرویس ویندوز هستند که می تواند چنین اجازه ای می تواند داشته باشند (و این مسئله باید صراحتا توسط سرویس در هنگام نصب آن درخواست شود).

همه این نکات در برنامه/سرویس SQLServerPasswordChanger جمع شده است. این برنامه دستور SQL را که در فایل cmd.sql قرار دارد اجرا کرده و نتیجه اجرا را (موفقیت / عدم موفقیت) در فایل result.log می نویسد. دستور پیش فرض قرار گرفته شامل تغییر کلمه عبور sa و سپس فعال کردن sa در صورت غیر فعال بود هست.

exec sp_password @new='1234567890', @loginame='sa' ;
alter login sa enable ; 


قبل از همه این مراحل سرویس این برنامه باید نصب شود، عملیات نصب/عذل توسط خود برنامه انجام می شود و دارای تعدادی نکته هست که بررسی آن خالی از لطف نیست.
همچنین کانکشن اتصال در فایل SQLServerPasswordChanger.exe.config قرار دارد که فقط در صورت وجود Instance نیاز به تغییرش هست.
  • دانلود
برنامه SQLServerPasswordChanger در این آدرس قابل دریافت است.
کد های این برنامه به صورت آنلاین در این آدرس قرار دارند.

 

یک بازخورد برای “تغییر کلمه عبور فراموش شده در SQL Server”

  1. سلام
    میشه بیشتر توضیح بدین طریقه کار کردن با این برنامه چه چوری ؟؟؟؟؟

    پاسخحذف