تغییر کلمه عبور فراموش شده در SQL Server
۱۳۹۱/۰۴/۱۱ ۱۶:۰۹ منتشر شده در تاریخ : ۱۳۹۱/۰۴/۱۱ دسته بندی : SQL Server 1
فراموشی کلمه عبور SQL Server از مواردی هست که کم برای کسی پیش می آید ولی اگر پیش بیاد دردسر بزرگی خواهد بود.
چند راه مختلف برای بازیابی و ریست کلمه عبور وجود دارد، در اینجا قصد ندارم آنها رو شرح بدهم. اما شاید ساده ترین روش ورود با استفاده از حساب sa و یا با استفاده از حساب ویندوز (Windows authentication) باشد.
اما اگه این دو نشد چه؟ مثلا حساب sa غیر فعال است و windows authentication برای کاربران تعریف نشده باشد .(البته غیر فعال بودن sa توصیه میشه.)
یک راه جالبی وجود دارد که نیاز به روش خاصی برای انجام دارد که در ادامه می خوانید، اما قبل از آن لینک های زیر شامل روشهای مختلف دیگری برای بازیابی کلمه عبور هستند:
اما روشی که من استفاده کردم بر یک نکته ساده مربوط به حساب کاربری جاری متصل شونده به دیتابیس استوار است. در زمان اتصال به sql server و استفاده از روش windows authentication حساب کاربر جاری مورد استفاده قرار می گیرد. برای مثال اگه حساب کاربری ویندوزی جاری salar باشد، وجود حساب وی و دسترسی وی به sql server بررسی شده و سپس اجازه ادامه عملیات و برقراری اتصال داده می شود.
حال اگر کاربر جاری را به SYSTEM تغییر دهیم چه می شود؟ به طور پیشفرض کاربر SYSTEM جزو کاربران مجاز با دسترسی کامل در هنگام نصب sql server تعیین می شود.
پس با این اوصاف اگر بتوانیم با کاربر SYSTEM وارد شویم امکان تغییر کلمه عبور کاربران و کارهای دیگر فراهم می شود.
نکته ای که اینجا هست کاربران یا برنامه های عادی اجازه اجرای برنامه در حساب کاربری SYSTEM را ندارند، فقط سرویس ویندوز هستند که می تواند چنین اجازه ای می تواند داشته باشند (و این مسئله باید صراحتا توسط سرویس در هنگام نصب آن درخواست شود).
همه این نکات در برنامه/سرویس SQLServerPasswordChanger جمع شده است. این برنامه دستور SQL را که در فایل cmd.sql قرار دارد اجرا کرده و نتیجه اجرا را (موفقیت / عدم موفقیت) در فایل result.log می نویسد. دستور پیش فرض قرار گرفته شامل تغییر کلمه عبور sa و سپس فعال کردن sa در صورت غیر فعال بود هست.
قبل از همه این مراحل سرویس این برنامه باید نصب شود، عملیات نصب/عذل توسط خود برنامه انجام می شود و دارای تعدادی نکته هست که بررسی آن خالی از لطف نیست.
همچنین کانکشن اتصال در فایل SQLServerPasswordChanger.exe.config قرار دارد که فقط در صورت وجود Instance نیاز به تغییرش هست.
کد های این برنامه به صورت آنلاین در این آدرس قرار دارند.
چند راه مختلف برای بازیابی و ریست کلمه عبور وجود دارد، در اینجا قصد ندارم آنها رو شرح بدهم. اما شاید ساده ترین روش ورود با استفاده از حساب sa و یا با استفاده از حساب ویندوز (Windows authentication) باشد.
اما اگه این دو نشد چه؟ مثلا حساب sa غیر فعال است و windows authentication برای کاربران تعریف نشده باشد .(البته غیر فعال بودن sa توصیه میشه.)
یک راه جالبی وجود دارد که نیاز به روش خاصی برای انجام دارد که در ادامه می خوانید، اما قبل از آن لینک های زیر شامل روشهای مختلف دیگری برای بازیابی کلمه عبور هستند:
- How to reset lost sql sa password?
- SQL SERVER – Forgot the Password of Username SA
- SQL SERVER – Reset sa Password
- Phoenix: Forgot the SA password in Sql Server 2005
- How to change the SQL sa password from a command prompt
اما روشی که من استفاده کردم بر یک نکته ساده مربوط به حساب کاربری جاری متصل شونده به دیتابیس استوار است. در زمان اتصال به 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 نیاز به تغییرش هست.
- دانلود
کد های این برنامه به صورت آنلاین در این آدرس قرار دارند.
سلام
پاسخحذفمیشه بیشتر توضیح بدین طریقه کار کردن با این برنامه چه چوری ؟؟؟؟؟