اونجایی که انسان ممکن الخطا هست و این امکان وجود داره که یوزر ویندوز روبه اس کیو ال اضافه نکرده باشیم و یا فرد دیگه ای اس کیو ال رو نصب کرده باشه که در حال حاضر در دسترس نباشه و صدها مورد مشابه. تو این پست میخوایم روش ریست کردن پسورد SA رو با هم یاد بگیریم. برای این کار چند روش وجود داره یه راه حل ابتدایی این هستش که سرور رو Shutdown بدیم و فایلهای MDF و LDF رو منتقل کنیم به یک سرور دیگه و بعد اونها رو در سرور جدید Attach کنیم و یوزرها رو هم Add کنیم و .... که این روش درمحیط عملیاتی قابل اجرا نیست و توی موارد محدودی میتونه مشکلمون رو حل کنه. بعضی از روشها هم نیازمند Stop کردن سرور و سوئیچ به حالت single user mode هستش اما با توجه به اینکه توقف سرویس دهی دیتا بیس همیشه و خصوصا در سیستم های حساس امکان پذیر نیست، من در ادامه روشی رو توضیح میدم که برای انجام اون نیازی به توقف سرویس دهی سیستم نیست.
برای این کار از برنامه اجرایی ساده و کم حجم PsExec استفاده می کنیم (این برنامه توسط Mark Russinovich نوشته شده). این برنامه با استفاده از اکانت AUTHORITY\SYSTEM و با دسترسی Sysadmin به اس کیو ال لاگین میکنه. همونطور که می دونین AUTHORITY\SYSTEM از اکانتهای Built in ویندوز هست که مثلا برا ی اجرای سرویسها میتونیم ازش استفاده کنیم. خوب بعد از لاگین کردن به اس کیو ال از اونجایی که این یوزر دسترسی در سطح SA داره شما میتونین پسورد SA رو تغییر بدین.و اما مراحل کار:

1-دانلود PsExec از این آدرس http://s3.picofile.com/file/8228747800/PSTools.zip.html و قرار دادن اون در یک مسیر ساده. مثلا پوشه دانلودی با نام PSTools رو در درایو D کپی کنین.
2- Command Prompt رو Run As Admin کنین و دستور زیر رو وارد کنین:

PsExec -s -i "C:\Program Files (x86)\Microsoft SQL Server\110\Tools\Binn\ManagementStudio\Ssms.exe"

بعد از اجرای دستور بالا به صورت خودکار پنجره ای نمایش داده می شود( لاگین به اس کیو ال با یوزر NT AUTHORITY\SYSTEM).

با انتخاب Connect به اس کیو ال متصل میشیم و از اونجایی که یوزر NT AUTHORITY\SYSTEM دارای دسترسی مشابه SA هستش میتونیا پسورد ست شده برای SA رو ریست کنیم.