ایجاد لاگین ها در secondary database برای read-scale availability group

mohsen1 سال قبل
ارسال شده در
mohsen

بعد از ایجاد availability group و وصل کردن دیتابیس فرعی (secondary)، برای اتصال به دیتابیس فرعی باید لاگین های موجود در دیتابیس اصلی را در دیتابیس فرعی ایجاد کنیم. چون با ایجاد دیتابیس فرعی، تنها کاربران دیتابیس اصلی به دیتابیس فرعی انتقال پیدا می کنند و لاگین ها در سرور فرعی ایجاد نمی شوند و چون دیتابیس فرعی به صورت فقط خواندنی است، نمی توانیم لاگین های مورد نیاز رو در سرور فرعی به صورت دستی ایجاد کنیم و با اجرای استور پراسیجر تغییر لاگین های کاربر دیتابیس امکان اتصال به دیتابیس فرعی را فراهم کنیم.

      EXEC sp_change_users_login 'Update_One', 'user_name', 'login_name';
    

برای همین ابتدا باید دستور زیر را در سرور اصلی اجرا کنیم و خروجی آن را در سرور فرعی اجرا کنیم تا لاگین های سرور اصلی به سرور فرعی منتقل شوند:

      SELECT N'CREATE LOGIN ['+sp.[name]+'] WITH PASSWORD=0x'+ CONVERT(nvarchar(max), l.password_hash, 2)+N' HASHED, '+ N'SID=0x'+CONVERT(nvarchar(max), sp.[sid], 2)+N';'
FROM master.sys.server_principals AS sp
INNER JOIN master.sys.sql_logins AS l ON sp.[sid]=l.[sid]
WHERE sp.name='login_name'
    
رای
0
ارسال نظر
مرتب سازی:
اولین نفری باشید که نظر می دهید!