انتقال رمز عبور hash شده لاگین در MSSQL
با توجه به اینکه تاکنون انتقال هاست های ویندوزی بصورت دستی انجام می شود، یکی از مشکلاتی که در روند انتقال با آن مواجه می شویم عدم تشخیص رمز عبور لاگین SQl در صورت نبود connectionstring در فایل وبکانفیگ می باشد.
از طریق اجرای دستورات زیر بعنوان یک new query در mssql می توانید رمز عبور سرور قبل را در سرور جدید نیز ثبت نمائید.
سرور قدیم:
به sql server لاگین نموده و سپس گزینه new query را انتخاب نمائید.
دستور زیر را اجرا نمائید:
SELECT LOGINPROPERTY(‘Login’,’PASSWORDHASH’);
بجای Login نام user دیتابیس ایجاد شده در کنترل پنل را درج نمائید.
نتیجه اجرای کوئری، رمز عبور کد شده را در اختیار شما قرار می دهد.
سرور جدید:
در سرور جدید از طریق کنترل پنل user دیتابیس را بنام user سرور قبل و با رمز دلخواه ایجاد نمائید.
به sql server لاگین نموده و سپس گزینه new query را انتخاب نمائید.
دستورات زیر را اجرا نمائید:
ALTER LOGIN Login WITH CHECK_POLICY = OFF; alter LOGIN Login WITH PASSWORD = 0x02002FE3C1503B9F5FD6EB7A904168925D71D1E8E44DDF35621551537C5CC51969D178906C6CB4C74C0D07B87D181AE22CB8A3F61D6597EA8E3E1748C15A45A85447C170C935 HASHED ALTER LOGIN Login WITH CHECK_POLICY = ON;
بجای Login نام user دیتابیس ایجاد شده در کنترل پنل را درج نمائید.
و در مقابل PASSWORD = نیز رمزعبور کد شده که در نتیجه اجرای کوئری در سرور قدیم ثبت شده است را درج نمائید.
با انجام گام های ذکر شده رمز عبور سرور مبدا و مقصد یکسان می باشد.