نحوه ایجاد و پیکربندی یک linked server در SQL Server Management Studio (بخش اول)
نحوه ایجاد و پیکربندی یک linked server در SQL Server Management Studio (بخش اول)
- آموزش برنامه نویسی | linked server چیست؟
- SQL Server instances چیست؟
نحوه ایجاد و پیکربندی یک linked server در SQL Server Management Studio (بخش اول)
- آموزش برنامه نویسی |linked server چیست؟
- SQL Server instances چیست؟
با linked server می توان یک دستور T-SQL را در یک SQL Server instances ارائه داد که می توان داده ها را از دیگر SQL Server instances باز گرداند.
SQL Server instances چیست؟
یک instance از موتور پایگاه داده یک کپی از sqlservr.exe است که به عنوان سیستم عامل اجرا می شود. هر instance چندین پایگاه داده سیستم و یک یا چند پایگاه داده کاربر را مدیریت می کند. هر کامپیوتر می تواند چند instance (نمونه) از موتور پایگاه داده را اجرا کند. برنامه ها به منظور انجام کار در پایگاه داده، به نمونه instance می شوند.
تعریف ساده تر linked server
بعبارت ساده تر، یک سرور مرتبط اجازه می دهد تا داده ها را از چندین SQL Server instances با استفاده از یک دستور T-SQL در چند پایگاه داده در نمونه های مختلف SQL پیوند دهید. با استفاده از یک سرور مرتبط برای بازیابی داده ها از چند SQL instances ، تنها چیزی که باید انجام شود اتصال به یک SQL instanceاست.
برخی مواقع شما نیاز دارید تا یک Query را بر روی یک سرور اجرا نمایید و این Query برخی اطلاعات خود را از سرور دیگری دریافت مینماید. در این صورت باید یک پل ارتباطی بین سرور جاری و سرور دیگر وجود داشته باشد تا بتوانید در یک Query به سرور دیگری متصل شوید و اطلاعاتی را دریافت نمایید. در حالت عادی یک Query فقط میتواند بر روی سرور جاری اجرا شده و اطلاعاتی را بازیابی نماید. اما اگر همین Query بخواهد به سرور دیگری متصل شود، آن سرور باید در سرور جاری بصورت Linked Server تعریف شده باشد.
دو راه برای پیکربندی سرور مرتبط در SSMS وجود دارد. یکی از راه ها استفاده از سیستم sp_addlinkedserver سیستم ذخیره شده است و دیگری با استفاده از رابط گرافیکی رابط کاربری SQL Server Management Studio (SSMS) است.
در این مقاله توضیح خواهیم داد که چگونه یک سرور مرتبط را با استفاده از یک منبع داده SQL Server پیکربندی کنیم.بنابراین با ما در مجموعه ABLY همراه باشید.
برای دیدن همه سرورهای مرتبط ایجاد شده در SSMS، پوشه Objects Explorer را انتخاب کرده و پوشه Linked Servers را باز کنید:
برای ایجاد linked server در ssms بر روی آن کلیک راست کنید و گزینه ی New Linked Server را انتخاب نمایید.
وقتی گزینه New Linked Server را انتخاب کردید، پنجره زیر برای شما باز می شود:
در این پنجره نام و نوع لینکدسرور باید تعریف شود. در قسمت type server دو گزینه وجود دارد که گزینه اول استفاده از اسکویلسرور است و با انتخاب گزینه دوم می توانید از منابع دیگر استفاده کنید.
توجه داشته باشید که اگر از گزینه اول استفاده می کنید نام لینکدسرور باید همان نام remote sql server باشد.
اگر که SQL Server instance نام پیش فرض باشد که خودش را به تنهایی می نویسیم. مانند: (WSERVER2012). اما اگر اسکویلسرور نام آن باشد که با یک اسلش آنها را از هم جدا می کنیم. مانند: (WSERVER2012\SQLEXPRESS)
سپس دکمه ok را بزنید.
خطای بالا مربوط به احراز هویت کاربر میشود.
برای تعیین اینکه چگونه یک کاربر به صورت مثال WSERVER2012 \ SQLEXPRESS احراز هویت می کند، در همان پنجره قبل در گوشه سمت چپ بالای کادر محاوره ای ، گزینه Security را انتخاب کنید:
در این قسمت راه های مختلف برای احراز هویت وجود دارد:
در پایین Local server login to remote server login mappings شما می توانید دو نوع لاگین داشته باشید.
- Local login و Remote login
Local Login
در قسمت لوکال لاگین، تمام ورودی های محلی ذکر شده است. ورود محلی می تواند SQL Server Authentication login محلی باشد:
یا Windows Authentication login
حال بر روی ok کلیک کنید. با خطای زیر مواجه می شوید:
این اتفاق به این دلیل است که Impersonate را چک نکرده اید!
Impersonate
Impersonate زمانی چک می شود که اعتبار ورودی محلی را به سرور مرتبط متصل کند. برای تایید هویت SQL Server، ورود به سیستم باید با اعتبار دقیق بر روی سرور مرتبط باشد، در غیر این صورت هنگامی که به سرور با SQL Server Authentication متصل می شود، لیست پایگاه های داده زیر پوشه کاتالوگ ممکن است شبیه به این باشد:
برای ورود به ویندوز، ورود باید یک ورود معتبر در سرور مرتبط باشد. برای استفاده از جعل هویت، مجوز بین سرور محلی و سرور مرتبط باید تنظیم شود.
اجازه دهید یک لینکدسرور با ورودی local Windows login ایجاد کنیم سپس Impersonate را چک کنید و ok کنید
در پوشه زیر تمام پایگاه های داده که در لینکدسرور شده قرار دارند ذکر شده است:
Remote User
گزینه ی کاربر از راه دور اساسا، اجازه می دهد تا ورودی های محلی به یک سرور راه دور به عنوان یک ورودی متفاوت که باید در یک سرور از راه دور وجود داشته باشد، برقرار شود.
Remote Password
رمز عبور کاربر راه دور را مشخص کنید.
از لیست کشویی local login، یک ورودی محلی را انتخاب کنید که باید به یک ورودی از راه دور دهید. در قسمت کاربر Remote User، نام کاربری Remote User که در سرور راه دور وجود دارد وارد کنید و رمز عبور Remote Password را نیز درج کنید، سپس دکمه OK را فشار دهید:
حالا، وقتی که از طریق SQL Server Authentication به local login متصل شدید (با Miki یا Zivko credentialsدر پوشه های زیر) می توانید تمام دیتابیس ها را بر روی remote server ببینید:
اگر نمیخواهید که از روش بالا استفاده کنید در زیر 4 گزینه دیگر وجود دارد که می توانید از آنها برای لاگین شدن استفاده نمایید:
(این 4 گزینه و ادامه این مقاله را در بخش دوم توضیح خواهیم داد)
در این قسمت سعی کردیم که نحوه ایجاد linked server و طریقه ی لاگین شدن را به شما عزیزان یاد دهیم. برای اطلاع از ادامه این مطلب با ما در بخش دوم نیز همراه باشید.
نحوه ایجاد و پیکربندی یک linked server در SQL Server Management Studio (بخش اول)
"با تشکر، منتشر شده در سایت ABLY"