How to recover SA password on Microsoft SQL Server 2008 R2
برای بازیابی پسورد sa در سکیول سرور بطریق زیر عمل نمائید
۱- sql server configuration manager را اجرا کنید
اگر در اجرای آن مشکل داشتید یعنی پیغام خطای WMI را گرفتید با اجرای دستور زیر در منوی Run اشکال آن را رفع کنید. البته می توانید این دستورات را در cmd بشکل صحیحش وارد کنید و یا اینکه از طریق دستور cmd به دایرکتوری مربوطه رفته و دستور mofcomp زا مسیر صحیح اجرا کنید.
|
For Microsoft SQL Server 2012 mofcomp "%programfilesx86%\Microsoft SQL Server\110\Shared\sqlmgmproviderxpsp2up.mof" For Microsoft SQL Server 2008 R2 & Microsoft SQL Server 2008 mofcomp "%programfilesx86%\Microsoft SQL Server\100\Shared\sqlmgmproviderxpsp2up.mof" For Microsoft SQL Server 2005 mofcomp "%programfilesx86%\Microsoft SQL Server\90\Shared\sqlmgmproviderxpsp2up.mof" |
2- روی sql server services کلیک کنید
۳- روی instance دلخواه از باکس سمت راست کلیک راست کنید و سرویس آنرا stop کنید
۴- روی instance مربوطه کلیک راست کنید و Properties را انتخاب کنید
۵- از تب advance سطر startup parameters را پیدا کنید و حرف -m: را به اول آن اضافه کنید (حرف m نشاندهنده single user بودن دیتابیس هست)مشابه شکل زیر

توجه داشته باشید که اگر SQL Server 2012 باشد باید به شکل زیر عمل کنید

۶- دوباره روی instance مربوطه کلیک راست کنید و سرویس را start کنید
۷- صفحه cmd را باز کنید و دستور sqlcmd را وارد کنید شکل پرامت بشکل >1 عوض خواهد شد.
۸- به ترتیب دستورات زیر را وارد کنید
|
1>CREATE LOGIN myrecovery WITH PASSWORD = 'MySecret 1' 2>GO |
توجه داشته باشید که اگر Instance دیفالت نبود بشکل زیر عمل کنید
|
>sqlcmd -S SERVERNAME\INSTANCENAME |
9- توجه داشته باشید که پسورد وارده باید strong password policy را رعایت کرده باشد.
۱۰- حالا باید نقش SYSADMIN را به یوسر مربوطه اختصاص دهیم
|
1>sp_addsrvrolemember 'myrecovery', 'sysadmin' 2>GO |
11- مجدد سرویس را stop کنید و -m; را از ابتدای سطر مربوطه حذف کنید
۱۲- سرویس را start کنید و با یوسری که تعریف کرده اید وارد شده و پسورد sa را تغییر دهید.