معرفی Linked Server
Linked Server قابلیتی در SQL Server است که امکان اجرای کوئریهای توزیع شده روی سرورهای خارجی را بدون انتقال دستی دادهها فراهم میکند. میتوانید از این قابلیت برای دسترسی به:
- دیگر نمونههای SQL Server
- پایگاههای داده رابطهای غیر SQL Server
- منابع دادهای OLE DB استفاده کنید.
مزایای استفاده از Linked Server
- یکپارچهسازی دادهها برای گزارشگیری و تحلیل
- کاهش زمان و هزینه انتقال دادهها
- امکان اجرای JOIN بین جداول محلی و خارجی
- پشتیبانی از تراکنشهای توزیعشده
گزینههای Provider
برای اتصال به هر منبع داده، ابتدا Provider مناسب را انتخاب و پیکربندی میکنید. مهمترین گزینههای Provider عبارتاند از:
| گزینه | توضیح | پیشفرض |
|---|---|---|
| AllowInProcess | اجرای Provider درون فرآیند SQL Server را مجاز میکند. | false |
| LevelZeroOnly | محدودیت به رابطهای سطح ۰ (OLE DB). | false |
| DynamicParameters | پشتیبانی از پارامترهای دینامیک در کوئریهای ارسالی. | false |
| NestedQueries | ارسال کوئریهای تو در تو به Provider را فعال میکند. | false |
| SupportsDistinct | Push-Down دستور DISTINCT به سرور مقصد. | false |
| SupportsGroupBy | Push-Down دستور GROUP BY به سرور مقصد. | false |
| SupportsUnionAll | ارسال UNION ALL به سرور مقصد. | false |
| SupportsOuterJoins | Push-Down انواع Outer Joins به سرور مقصد. | false |
| SupportsOrderBy | Push-Down دستور ORDER BY به سرور مقصد. | false |
برای تنظیم این گزینهها میتوانید از دستور زیر استفاده کنید:
EXEC sp_addlinkedserver
@server = N'LinkedServerName',
@srvproduct = N'',
@provider = N'ProviderName',
@datasrc = N'DataSource';
EXEC sp_serveroption
@server = N'LinkedServerName',
@optname = N'AllowInProcess',
@optvalue = N'true';
گزینههای Server
پس از ایجاد Linked Server، با پروسیجر sp_serveroption این تنظیمات را برای ارتباط کنترل کنید:
- data access
- rpc
- rpc out
- use remote collation
- collation compatible
- collation name
- query timeout
- connect timeout
- login timeout
- packet size
- max text repl size
- remote proc transaction promotion
مثال تنظیم rpc out:
EXEC sp_serveroption
@server = N'LinkedServerName',
@optname = N'rpc out',
@optvalue= N'true';
روشهای احراز هویت Linked Server
انتخاب روش احراز هویت مناسب برای امنیت و کارایی ارتباط توزیع شده حیاتی است. ۲ بخش اصلی عبارتاند از نگاشت تکبهتک لاگینها و تعریف رفتار برای لاگینهای غیرتعریف شده.
نگاشت تکبهتک لاگینها
با sp_addlinkedsrvlogin میتوانید اعتبارسنجی هر لاگین محلی را به یکی از این صورت انجام دهید:
- استفاده از SQL Authentication (User/Password مشخص)
- استفاده از Windows Authentication همراه با Impersonation (نیاز به Kerberos)
نمونه تعریف نگاشت:
EXEC sp_addlinkedsrvlogin
@rmtsrvname = N'MyLinkedServer',
@locallogin = N'LocalUser',
@useself = N'false',
@rmtuser = N'RemoteUser',
@rmtpassword= N'RemotePwd';
EXEC sp_addlinkedsrvlogin
@rmtsrvname = N'MyLinkedServer',
@locallogin = N'LocalUser',
@useself = N'true';
رفتار لاگینهای غیر تعریف شده
برای لاگینهایی که نگاشت اختصاصی ندارند، ۴ حالت قابل انتخاب است:
| حالت | توضیح |
|---|---|
| Not be made | اتصال برای لاگینهای غیرنگاشتشده مسدود میشود. |
| Be made without using a security context | اتصال بهصورت ناشناس و بدون ارسال Credential. |
| Be made using the login’s current security context | ارسال توکن ویندوزی جاری (نیاز به Kerberos و delegation). |
| Be made using this security context | استفاده از User/Password مشخص ذخیرهشده در متادیتای Linked Server. |
این تنظیم در SSMS یا با پارامترهای مناسب sp_addlinkedsrvlogin اعمال میشود.
گامهای کلیدی پیکربندی
- انتخاب Provider مناسب
- ایجاد Linked Server با
sp_addlinkedserver - تنظیم گزینههای Provider برای بهینهسازی عملکرد
- تنظیم گزینههای Server با
sp_serveroption - تعریف نگاشت لاگینها و احراز هویت
- تست اتصال و اجرای کوئری ساده
نکات عملی و بهترین شیوهها
- استفاده از Kerberos در دامنه یکپارچه برای Windows Authentication
- رعایت اصل حداقل دسترسی (Least Privilege)
- مانیتورینگ لاگهای اتصال و خطاها با Extended Events
- تنظیم مناسب Timeout و Packet Size برای جلوگیری از قطع ارتباط
- استفاده از Collation Compatible در صورت یکسان بودن ترتیببندی دو سرور
نتیجهگیری
راهاندازی و بهینهسازی Linked Server در SQL Server کمک میکند تا دادههای توزیع شده را به سادگی در یک کوئری واحد ترکیب کنید. انتخاب درست Provider، پیکربندی گزینههای ارتباط و احراز هویت مناسب، امنیت و کارایی سیستم شما را تضمین میکند.
همین حالا پیکربندی Linked Server خود را تکمیل کنید و از یکپارچگی و سرعت دسترسی به دادهها لذت ببرید!
تماس و مشاوره با لاندا
اگر به دنبال اتصال امن، سریع و یکپارچه بین پایگاههای داده مختلف هستید، Linked Server در SQL Server راهحل قدرتمندی است؛ اما اجرای درست آن نیازمند شناخت دقیق تنظیمات، احراز هویت و بهینهسازی عملکرد است.
لاندا با تجربه عملی در پیادهسازی ارتباطات توزیع شده، آماده است تا زیرساخت دادهای شما را به سطحی جدید از کارایی و امنیت برساند.
همین حالا با تیم فنی لاندا تماس ✆ بگیرید و از مشاوره تخصصی برای طراحی و پیکربندی Linked Server بهرهمند شوید.
یکپارچگی دادهها را بدون پیچیدگی تجربه کنید.

و سپس «افزودن به صفحه اصلی» ضربه بزنید
و سپس «افزودن به صفحه اصلی» ضربه بزنید

نظری داده نشده