خانه SQL Server مفهوم SQL Server Instance چیست؟ آشنایی با کاربرد و نحوه ایجاد آن ها SQL Server افزایش سرعت SQL Server نوشته شده توسط: تیم فنی نیک آموز تاریخ انتشار: ۱۶ مرداد ۱۴۰۳ آخرین بروزرسانی: 06 آذر 1403 زمان مطالعه: 16 دقیقه ۰ (۰) SQL Server Instance چیست؟ برای درک پاسخ این سوال، فرض کنید SQL Server یک فروشگاه اداری بزرگ است. این فروشگاه بخشهای مختلفی را در خود جای داده که هرکدام بهصورت مجزا و مستقل فعالیت میکنند. هر کدام از این بخشها را میتوان به عنوان یک Instance در نظر گرفت. Instance به شما این امکان را میدهند تا چندین محیط دیتابیس مجزا روی یک کامپیوتر اجرا کنید. در این مطلب، به بررسی کامل Instance و نحوه ایجاد آن خواهیم پرداخت. پس از خواندن این مقاله با ضرورت، مزایا، معایب و نحوه ایجاد چندین Instance آشنا خواهید شد. SQL Server Instance چیست؟ SQL Server Instance مثل یک آپارتمان مستقل در یک ساختمان است. اگر نرمافزار SQL Server را یک ساختمان بزرگ در نظر بگیریم،Instanceها آپارتمانهای این ساختمان هستند. هر Instance تنظیمات، دیتابیس و کاربران خاص خود را دارد و مستقل از سایر Instanceها عمل میکند. ویژگی های کلیدی SQL Server Instance چیست؟ هر SQL Server Instance دنیای خودش را دارد. یعنی دیتابیسها، جداول، تنظیمات و کاربران خاص خودش را مدیریت میکند و از سایر Instanceها، چه روی همان کامپیوتر چه روی کامپیوترهای دیگر، جداست. در ادامه، با ویژگیهای منحصربهفرد آن آشنا خواهید شد. نام و شناسه منحصر به فرد هر SQL Server Instance یک اسم یا کد مخصوص دارد. برای مثال، میتوانید روی یک کامپیوتر دو Instance با نامهای «SQLServer1» و «SQLServer2» داشته باشید. پایگاه داده های مجزا در هر SQL Server Instance میتوانید چندین پایگاه داده جداگانه ایجاد کنید. هرکدام از این پایگاهدادهها شامل جداول، رکوردها و سایر اجزای مخصوص به خودشان هستند. این پایگاه دادهها باهم ارتباط مستقیم ندارند و اطلاعاتشان را به اشتراک نمیگذارند. اجرای همزمان چندین Instance شما میتوانید چندین SQL Server Instance را بهصورت همزمان روی یک کامپیوتر داشته باشید. هر Instance تنظیمات و منابع اختصاصی دارد. این قابلیت به شما اجازه میدهد تا برنامههای کاربردی یا کاربران مختلف، محیط اختصاصی SQL Server خودشان را داشته باشند. دسترسی و مدیریت برای دسترسی و مدیریت یک SQL Server Instance خاص، معمولا از یک ابزار مدیریت مانند SQL Server Management Studio استفاده میشود. این ابزار به شما امکان اتصال به Instance، انجام کارهای اداری، اجرای کوئریها و مدیریت پایگاه دادههای آن Instance را میدهد. اهمیت SQL Server Instance چیست؟ هر نمونه از SQL Server مثل نصب SQL Server مجزا عمل میکند. با این قابلیت، برنامههای مختلف، هر کدام با Instance اختصاصی خودشان کار میکنند. برای مثال، میتوانید یک برنامه حسابداری و یک برنامه سیستم مدیریت فروش داشته باشید. هر کدام از این برنامهها بهطور مستقل و بدون تداخل باهم کار میکنند. نحوه ایجاد SQL Server Instance در این قسمت از مقاله «SQL Server Instance چیست»، نحوه ایجاد SQL Server Instance را برای ورژن ۲۰۲۲ بررسی خواهیم کرد. ۱. فایل نصب را اجرا کنید فایل نصب SQL Server 2022 (با پسوند exe) که از سایت مایکروسافت دانلود کردید، اجرا کنید. در صفحه خوشآمدگویی، روی Installation کلیک کنید. گزینه New SQL Server stand-alone installation را برای نصب یک Instance جدید انتخاب کنید و سپس Next را بزنید. ۲. مراحل نصب را تکمیل کنید در این بخش از مقاله «SQL Server Instance چیست» مراحل نصب را با تکمیل فرمهای زیر در نرمافزار راهنمای نصب (SQL Server Setup wizard) پیش ببرید: Edition: نسخه SQL Server موردنظرتان را انتخاب کنید. کلید محصول را وارد و تیک گزینه مجوز را بزنید. سپس روی Next کلیک کنید. License Terms: شرایط مجوز را مطالعه کرده و Next را بزنید. Global Rules: نتایج بررسی را مشاهده کرده و Next را بزنید. Microsoft Update: برای بررسی بهروزرسانیها، گزینه Use Microsoft Update را انتخاب کرده و سپس Next را بزنید. Install Rules: نتایج بررسی را مشاهده کرده و Next را بزنید. تیک گزینه Azure Extension for SQL Server را بردارید و سپس Next را بزنید. ۳. ویژگیهای موردنظرتان را انتخاب کنید تیک گزینه Database Engine Services را برای نصب Database Engine انتخاب کنید و سپس Next را بزنید. مسیر نصب را بررسی کرده و درصورت نیاز تغییر دهید. سپس Next را بزنید. برای نصبهای حجیم، میتوانید مسیر نصب را به یک درایو مجزا تغییر دهید. نتایج بررسی را مشاهده کرده و Next را بزنید. ۴. تنظیمات Instance را انجام دهید نوع Instance مناسب را انتخاب کنید. همچنین میتوانید درصورت تمایل (Instance ID) را تغییر دهید. سپس Next را بزنید. ۵. تنظیمات سرور را انجام دهید به تب Collation بروید، سپس روی Customize کلیک کنید. برای تعیین Collation گزینه مطابق با ویندوز سرور خود را انتخاب کنید. اگر نمیدانید از کدام Collation استفاده کنید، گزینه Latin1_General_100 را بزنید. نسخه ۲۴.۱ از Collation قدیمی SQL Server پشتیبانی نمیکند و حتما باید از یک Collation ویندوزی استفاده کنید. درصورت نیاز میتوانید گزینه Accent-sensitive and Supplementary characters را انتخاب کنید. سایر گزینهها را انتخاب نکنید. فقط برای ذخیرهسازی کاراکترهای نوع Char/Varchar، گزینه «Windows Code Page» را انتخاب کنید. بعد از انجام تنظیمات بالا، روی دکمه «OK» و سپس روی دکمه «Next» کلیک کنید. ۶. تنظیمات پیکربندی Database Engine را تکمیل کنید حالت Mixed Mode را انتخاب کنید. این حالت به شما امکان میدهد تا علاوهبر حساب کاربری SQL Server (حساب sa)، بتوانید با حساب کاربری ویندوز نیز به پایگاهداده وصل شوید. یک رمز قوی و پیچیده برای اکانت خود انتخاب کنید. این حساب کاربری دسترسی مدیریتی دارد. با کلیک روی «User add» میتوانید حساب کاربری خودتان را به لیست مدیران SQL Server اضافه کنید. با این کار، امکان مدیریت پایگاهداده را با حساب کاربری ویندوز خودتان خواهید داشت. درنهایت، نگاهی به اطلاعات وارد شده بیندازید و روی Next کلیک کنید. ۷. تنظیمات انجام شده را بررسی کنید در این مرحله تنظیمات انتخابی خود را در هر مرحله مرور کنید و سپس روی دکمه Next کلیک کنید. بررسی نقشهای پیکربندی (Roles): پیامهای احتمالی مربوط به پیکربندی نقشها را بررسی کنید و سپس روی دکمه Next بزنید. آماده نصب: یک مرور نهایی روی تمام گزینههای نصب انجام دهید. درنهایت، روی دکمه Install کلیک کنید تا فرایند نصب آغاز شود. تکمیل نصب: پس از اتمام نصب، روی دکمه Close کلیک کنید تا از پنجره راهنما خارج شوید. ۸. بخش مدیریت پیکربندی SQL Server را اجرا کنید از منوی استارت ویندوز، برنامه SQL Server Configuration Manager را اجرا کنید. در پنل سمت چپ، روی گزینه SQL Server Network Configuration کلیک کنید تا آن را باز کنید. روی Protocols for MSSQLSERVER کلیک کنید. ۹. فعال کردن دسترسی از راه دور برای SQL Server روی آیکون SQL Server Configuration Manager کلیک راست و Properties را انتخاب کنید. به تب Protocol (پروتکل) بروید. مطمئن شوید گزینهی Enable روی Yes تنظیم شده باشد. گزینه Listen All را روی Yes تنظیم کنید. به تب IP Addresses بروید. در قسمت پایین صفحه و زیر عنوان IPAll ، فیلد TCP Port (پورت TCP) را روی ۱۴۳۳ تنظیم کنید. روی OK کلیک کنید. پنجره SQL Server Configuration Manager را ببندید. ۱۰. تنظیمات فایروال ویندوز را انجام دهید برنامه Windows Firewall with Advanced Security را اجرا کنید. از ستون سمت چپ، روی Inbound Rules کلیک کنید. از ستون Actions، روی New Rule کلیک کنید. در صفحه Rule Type، گزینه Port را انتخاب کنید. روی دکمه Next کلیک کنید. حالا وارد صفحه Protocol and Ports شوید. در این صفحه، در قسمت Specific local ports عدد ۱۴۳۳ را وارد کنید و سپس روی Next کلیک کنید. در صفحه بعد، یعنی عملیات (Action)، با تنظیمات پیشفرض موافق هستیم و فقط روی بعدی (Next) کلیک میکنیم. همین کار را در صفحه Profile هم انجام میدهیم. تنظیمات پیشفرض این صفحه را قبول میکنیم و روی Next کلیک میکنیم. در صفحه نهایی، یعنی Name، باید یک اسم برای این قانون جدید فایروال انتخاب کنیم. در قسمت نام (Name) میتوانید مثلا عبارت «SQL Server» را وارد کنید. در انتهای مراحل نصب روی دکمه پایان (Finish) کلیک کنید تا قانون جدید برای فایروال ایجاد شود. پیکربندی SQL Server Instance در این قسمت از مقاله «SQL Server Instance چیست» نحوه تنظیمات و پیکربندی SQL Server Instance را بررسی خواهیم کرد. تنظیمات پیش فرض (Configure Database Engine Instances) تنظیمات پیش فرض نحوه تنظیم موارد پیشفرض مانند محل ذخیره فایلها، فرمت تاریخ و نحوه استفاده از منابع سیستمعامل (مثل رم و هسته) توسط Instances را انجام میدهد. با این کارکرد میتوانید عملکرد و کارایی Instances را متناسب با نیازهای خود تنظیم کنید. مدیریت مقایسهسازی (Collation and Unicode Support) بخش مقایسهسازی (Collation) نحوه نمایش و مرتبسازی کاراکترها (مثل حروف و اعداد) را در Instances تعیین میکند. این بخش برای زبانهای مختلف و حساسیت به حروف کوچک و بزرگ کاربرد دارد. برقراری ارتباط با منابع خارجی (Linked Servers) بخش Linked Servers نحوه تعریف ارتباط با سرورهای دیگر را توضیح میدهد. با این کارکرد میتوانید ازطریق SQL Server خود به اطلاعات موجود در سایر پایگاههای داده (مثل Access یا Oracle) دسترسی داشته باشید. ماشههای ورود (Logon Triggers) ماشههای ورود (Trigger) هستند که بعد از تایید اعتبار کاربر برای ورود به نمونه اجرا میشوند. با این کارکرد میتوانید فعالیتهای ورود را ثبت کنید و یا بر اساس منطق خاصی جلوی ورود کاربر را بگیرید.این قابلیت علاوهبر احراز هویت توسط ویندوز و SQL Server فعالیت میکند. مدیریت سرویس نمونه (Manage the Database Engine Services) نقش مدیریت سرویس در SQL Server Instance چیست؟ این قسمت نحوه مدیریت سرویس نمونه را توضیح میدهد. شما میتوانید سرویس را راهاندازی یا متوقف کنید. همچنین میتوانید نحوه راهاندازی خودکار آن را تنظیم کنید. تنظیمات شبکه سرور (Server Network Configuration) در بخش تنظیمات شبکه سرور شما میتوانید پروتکلهای ارتباطی را فعال کنید، پورت یا مسیر ارتباطی را تغییر دهید، رمزنگاری را پیکربندی کنید و دسترسی به نمونه از طریق شبکه را کنترل نمایید. تنظیمات شبکه کلاینت (Client Network Configuration) بخش تنظیمات شبکه کلاینت نحوه تنظیم شبکه کلاینت را توضیح میدهد. شما میتوانید پروتکلهای ارتباطی کلاینت را پیکربندی کنید و نامهای مستعار برای سرور تعریف کنید. اسکریپت نویسی (Database Engine Scripting) وظیفه بخش اسکریپت نویسی در SQL Server Instance چیست؟ این قسمت، ابزارهای موجود برای نوشتن اسکریپتهای مدیریتی را معرفی میکند. با اسکریپت میتوانید کارهای مدیریتی تکراری را بهصورت خودکار انجام دهید. برنامه های نگهداری (Maintenance Plans) با برنامههای نگهداری (Maintenance Plan) میتوانید مجموعهای از کارهای مدیریتی را بهصورت خودکار زمانبندی کنید. این کارها شامل پشتیبانگیری از پایگاه داده و بهروزرسانی آمار برای بهبود عملکرد است. مدیریت منابع (Resource Governor) با مدیریت منابع میتوانید میزان مصرف منابع (مثل CPU و رم) توسط برنامهها را کنترل کنید. این کارکرد به شما کمک میکند تا از تخصیص بیشازحد منابع به یک برنامه و کند شدن سایر برنامهها جلوگیری کنید. ایمیل خودکار (Database Mail) با ایمیل خودکار میتوانید از طریق نمونه SQL Server ایمیل ارسال کنید. این کارکرد برای ارسال گزارشها و هشدارها کاربرد دارد. رویدادهای توسعهیافته (Extended Events) بخش رویدادهای توسعهیافته (Extended Events)، سیستم سبک و مقیاسپذیری برای جمعآوری اطلاعات عملکردی است. با این کارکرد میتوانید مشکلات عملکردی را شناسایی و برطرف کنید. ردیابی (SQL Trace) نقش ردیابی (SQL Trace) در SQL Server Instance چیست؟ این قسمت به شما امکان میدهد تا رویدادهای رخ داده در Instance را بهصورت سفارشی ضبط کنید. این اطلاعات برای تست عملکرد و عیبیابی کاربرد دارد. SQL Server Profiler با SQL Server Profiler میتوانید ترافیک ورودی به SQL Server Instance را ردیابی کنید. این اطلاعات نیز مانند بخش قبلی برای تست عملکرد و عیبیابی کاربرد دارد. ردیابی تغییرات داده (Track Data Changes) با ردیابی تغییرات داده میتوانید سوابق تغییرات ایجاد شده در جداول را ثبت کنید. این کارکرد برای بررسی و تحلیل تغییرات در طول زمان کاربرد دارد. مشاهده لاگ ( Log File Viewer) در ادامه مقاله «SQL Server Instance چیست؟» به بخش مشاهده لاگ میرسیم. با مشاهده لاگ میتوانید خطاها و پیامهای SQL Server را در لاگهای مختلف مانند تاریخچه وظایف SQL Server، لاگ سرورهای SQL Server و لاگهای رویداد ویندوز پیدا و مشاهده کنید. این کارکرد برای عیبیابی و بررسی مشکلات کاربرد دارد. راهنمای تنظیم موتور پایگاه داده (Database Engine Tuning Advisor) بخش راهنمای تنظیم موتور پایگاه داده (Database Engine Tuning Advisor) ابزاری برای تجزیه و تحلیل دیتابیس و ارائه پیشنهادات برای رفع مشکلات احتمالی عملکردی است. این کارکرد به شما کمک میکند تا عملکرد دیتابیس خود را بهینهسازی کنید. تشخیص اتصال برای ادمین دیتابیس (Diagnostic Connection for Database Administrators) در بخش تشخیص اتصال میتوانید به Instanceهایی از SQL Server که اتصالات استاندارد را قبول نمیکنند، دسترسی داشته باشید. این کارکرد برای عیبیابی و رفع مشکلات مربوط به اتصالات Instance کاربرد دارد. سرورهای راه دور (Remote Servers) نقش سرورهای راه دور (Remote Servers) در SQL Server Instance چیست؟ این بخش به شما امکان میدهد تا از یک instant به instant دیگر دسترسی داشته باشید. این کارکرد منسوخ شده است و استفاده از سرورهای مرتبط (Linked Servers) برای این منظور بهتر است. Service Broker بخش Service Broker سیستمی برای پیامرسانی و صفبندی برنامهها است. این کارکرد برای توسعه برنامههای کاربردی توزیعشده و قابل مقیاس استفاده میشود. حافظه بافر (Buffer Pool Extension File) بخش حافظه بافر (Buffer Pool Extension File) به شما امکان میدهد تا از حافظه ذخیرهسازی (SSD) در دیتابیس انجین استفاده کنید. این کارکرد بهطور قابلتوجهی وضعیت ورودی و خروجی را بهبود میبخشدمیدهد. مزایا و معایب استفاده از چندین Instance در یک سرور اگر نرمافزار SQL Server یک ساختمان بزرگ درنظر بگیریم، آپارتمانهای مجزا (Instance) در این ساختمان هرکدام یک محیط ایزوله و مستقل برای مدیریت اطلاعات شما هستند. مزایای SQL Server Instance چیست؟ هر واحد (Instance) در SQL Server از مزایای کلیدی زیر را برخوردار است: مدیریت اختصاصی هر واحد، تنظیمات، دیتابیس و کاربران خاص خودش را دارد. یعنی واحد شما کاملا مجزا از واحدهای دیگر عمل میکند و هیچ تداخلی بین آنها وجود ندارد. انعطاف پذیری بالا شما میتوانید چندین واحد (Instance) روی یک کامپیوتر داشته باشید. این قابلیت باعث میشود تا برنامههای مختلف، هر کدام در واحد اختصاصی خودشان، به مدیریت اطلاعات خود بپردازند. دسترسی راحت هر واحد یک نام منحصر به فرد دارد؛ درست مثل پلاک هر آپارتمان. با استفاده از این نام میتوانید بهراحتی به واحد موردنظر خود متصل شده و اطلاعات آن را مدیریت کنید. فضای شخصی سازی شده داخل هر واحد (Instance) میتوانید چندین دیتابیس مجزا ایجاد کنید. این پایگاه دادهها مثل اتاقهای یک آپارتمان هستند که به شما امکان میدهند اطلاعات خود را به شکل سازمانیافتهتری دستهبندی کنید. بنابراین، یک Instance در SQL Server، یک کپی مجزا از نرمافزار اصلی است که به عنوان یک محیط اختصاصی برای ساماندهی و مدیریت اطلاعات شما عمل میکند. این واحدها کاملا مستقل هستند و امکان راهاندازی چندین واحد روی یک کامپیوتر برای مدیریت اطلاعات برنامههای مختلف وجود دارد. معایب SQL Server Instance چیست؟ با تمام این مزایا، استفاده از چندین Instance پیچیدهتر از مدیریت یک Instance واحد است. شما باید برای هر Instance تنظیمات، بهروزرسانیها و پشتیبانگیریهای جداگانه انجام بدید. همچنین راهاندازی چندین Instance به مصرف بیشتر منابع سختافزاری مثل رم و CPU نیاز دارد. در برخی موارد، برای استفاده از چندین Instance به لایسنس نیاز پیدا خواهید کرد. سخن پایانی SQL Server Instance چیست؟ پاسخ این سوال را بهطور کامل در این مقاله بررسی کردیم. SQL Server Instance به شما این امکان را میدهد تا با ایجاد محیطهای مجزا و مستقل برای برنامههای کاربردی مختلف، نظم و انعطافپذیری قابلتوجهی به دیتابیسها دهید. با استفاده از Instanceها میتوانید: مصرف منابع سختافزاری را بهینه کنید. بهراحتی برنامههای جدید را تست و توسعه دهید. اطلاعات حساس را از دسترس افراد غیرمجاز دور نگه دارید. برای هر برنامه کاربردی، تنظیمات و دیتابیس اختصاصی داشته باشید. البته، راهاندازی چندین Instance بدون چالش هم نیست. مدیریت پیچیدهتر و مصرف بیشتر منابع، دو نمونه از مهمترین معایب این قابلیت است. اگر سوالی دارید که پاسخ آن را پیدا نکردید، کافیاست آن را در انتهای مقاله در بخش نظرات بنویسید تا راهنماییتان کنیم. ما در نیک آموز منتظر نظرات ارزشمند شما درباره این مقاله هستیم. چه رتبه ای میدهید؟ میانگین ۰ / ۵. از مجموع ۰ اولین نفر باش معرفی نویسنده مقالات 401 مقاله توسط این نویسنده محصولات 0 دوره توسط این نویسنده تیم فنی نیک آموز معرفی محصول مسعود طاهری دوره ۳ در ۱ آموزش performance tuning در SQL Server 6.700.000 تومان 4.020.000 تومان مقالات مرتبط ۰۲ آبان SQL Server ابزار Database Engine Tuning Advisor؛ مزایا، کاربردها و روش استفاده تیم فنی نیک آموز ۱۵ مهر SQL Server معرفی Performance Monitor ابزار مانیتورینگ SQL Server تیم فنی نیک آموز ۱۱ مهر SQL Server راهنمای جامع مانیتورینگ بکاپ ها در SQL Server تیم فنی نیک آموز ۰۸ مهر SQL Server Resource Governor چیست؟ آشنایی با نحوه پیکربندی و اهمیت های آن تیم فنی نیک آموز دیدگاه کاربران لغو پاسخ دیدگاه نام و نام خانوادگی ایمیل ذخیره نام، ایمیل و وبسایت من در مرورگر برای زمانی که دوباره دیدگاهی مینویسم. موبایل برای اطلاع از پاسخ لطفاً مرا با خبر کن ثبت دیدگاه Δ