برقراری ارتباط بین پایگاه داده های دو سرور مختلف در SQL Server
جهت برقراری ارتباط بین دو SQL Server مختلف مراحل زیر را طی نمایید:
1- تعریف یک User مشترک
در SQL Server نصب شده در هر دو سرور، باید یک User مشترک تعریف شود.
توجه: شناسه کاربری و کلمه عبور User مشترک در هر دو سرور باید دقیقاً یکی باشد.
2- بدست آوردن مشخصات SQL Server
در SQL Server نصب شده بر روی سرور X کوئری زیر را اجرا فرمایید:
select * from sys.servers
خروجی کوئری بالا:
3- اضافه کردن اطلاعات بالا در SQL Server خودمان
برای اینکه اطلاعات سرور مورد نظرمان را در SQL Server خودمان اضافه کنیم از دستور زیر استفاده کنید:
exec sp_addlinkedserver
@server='dbserver',
@srvproduct='SQLServer',
@provider='SQLNCLI',
@datasrc='271.61.33.21'
توضیح:
- sp_addlinkedserver یک پروسیجر از پیش تعریف شده است.
- مقدار پارامتر server@ یک نام اختیاری است.
- مقدار پارامترهای 2 و 3 را با مقادیری که از مرحله قبل بدست آوردیم تنظیم می کنیم.
- مقدار پارامتر datasrc@ یا آی پی سرور X تنظیم می شود.
نکته: با اجرای کد بالا اطلاعات SQL Server جدید در سرورمان اضافه خواهد شد، اگر تصمیم گرفتید که اطلاعات آنرا حذف کنید از کوئری زیر استفاده کنید:
exec sp_dropserver 'web-server\Tcserver','droplogins'
مثال: Join زدن بین دو جدولِ دو سرور مختلف
با User مشترکی که در SQL Server خودتان ایجاد کردید، وارد شوید(Login)، توجه داشته باشید که باید، دسترسی به جدول tbl2 در پایگاه داده DB2 را برای این User تعریف کنید، حالا می توانید به طور مثال بین دو جدول دو سرور مختلف Join بزنید:
select * from [dbserver].[DB1].dbo.[tbl1] INNER JOIN
[DB2].dbo.[tbl2] ON (...)
توضیح مثال بالا:
- dbserver در واقع مقداری است که در مرحله دو، در دستور sp_addlinkedserver تنظیم کردیم.
- DB1 و DB2 نام پایگاه داده است.
- قسمت dbo الزامی است و باید ذکر شود.
- tbl1 و rbl2 نام جداول مربوطه است.
برای مشاهده فیلم های آموزشی مقدماتی تا پیشرفته پایگاه داده SQLServer کلیک کنید.
READ MORE