لیست تازههای SQL Server 2019
برخی مواقع شما نیاز دارید تا یک Query را بر روی یک سرور اجرا نمایید و این Query برخی اطلاعات خود را از سرور دیگری دریافت مینماید. در این صورت باید یک پل ارتباطی بین سرور جاری و سرور دیگر وجود داشته باشد تا بتوانید در یک Query به سرور دیگری متصل شوید و اطلاعاتی را دریافت نمایید. در حالت عادی یک Query فقط میتواند بر روی سرور جاری اجرا شده و اطلاعاتی را بازیابی نماید. اما اگر همین Query بخواهد به سرور دیگری متصل شود، آن سرور باید در سرور جاری بصورت Linked Server تعریف شده باشد.
به عنوان مثال:
من سروری با آدرس 192.168.0.1 دارم که دارای پایگاه دادهای با نام Salary می باشد. نام این سرور را A میگذارم.
همچنین من سرور دیگری با آدرس 192.168.1.100 دارم که دارای پایگاه داده ای با نام Accounting است. نام این سرور را B میگذارم.
حالا میخواهم در سرور A یک Query بنویسم که جدول Payment را با اتصال به سرور B به جدول Document متصل نموده و نتیجه ی JOIN این دو جدول را نمایش دهد. به عنوان مثال:
SELECT * FROM Payment AS pay JOIN Document AS doc ON pay.DocumentId = doc.Id
نحوهی ایجاد یک Linked Server
بر روی سیستم من دو نسخه از SQL نصب شده است. یکی Standard Edition و دیگری Express Edition. من میخواهم در نسخه Standard یک Linked Server به نسخهی Express ایجاد کنم. بنابراین با اتصال به نسخه Standard مراحل زیر را طی میکنم:
1. یک New query ایجاد میکنم.
2. دستورات زیر را در Query ایجاد شده مینویسم:
sp_addlinkedserver 'MyServer', '', 'SQLNCLI', '.\sqlexpress'
sp_addlinkedserver نام رویه ای است که یک Linked Server را ایجاد مینماید.
پارامتر اول نام Linked Server را مشخص مینماید که جهت دسترسی به سرور دیگر مورد استفاده قرار میگیرد.
پارامتر دوم Product Name میباشد که من خالی گذاشتم.
پارامتر سوم Provider Name یا نام فراهم کننده دادهای است. چون من میخواهم به یک سرور SQL متصل شوم SQLNCLI (SQL Native Client) را انتخاب کردم. اگر به منبع دادهای دیگری مثل Access،Oracle، MySql و ... متصل میشوید باید Provider Name دیگری را نتخاب کنید.
پارامتر چهارم نام یا IP سروری است که میخواهیم به آن لینک شویم.
3. با فشردن F5 یا منوی Execute این Query را اجرا کنید.
با اجرای موفقیت آمیز مراحل فوق باید عنوان MyServer را در مسیر Server Objects > Linked Server مشاهده کنید. در نسخه Express پایگاه دادهای با نام test دارم که شامل جدولی به نام tbl می باشد. با نوشتن Query زیر میتوانم محتویات این جدول را مشاهده کنم:
SELECT * FROM MyServer.test.dbo.tbl
sp_addlinkedsrvlogin 'MyServer',@rmtuser='user1', @rmtpassword='abc123'
sp_addlinkedsrvlogin نام رویه ای است که نام کاربری و رمز عبور را به یک Linked Server اضافه میکند.
پارامتر اول نام Linked Server می باشد.
پارامتر دوم نام کاربری جهت اتصال به سرور لینک شده میباشد.
پارامتر سوم رمز عبور جهت اتصال به سرور لینک شده میباشد.
درک SQL Server Database Errors
- SPs will no longer be made available. Only CUs, and GDRs when needed.
- CUs will be delivered more often at first and then less frequently. Every month for the first 12 months, and every quarter for the remainder 4 years of the full 5-year mainstream lifecycle.
- CUs are delivered on the same week of the month: week of 3rd Tuesday.