نیازمندیهای SQL Server 2022
برای اینکه سرور SQL خود را راهاندازی کنیم، نیاز داریم بدانیم که این سرور چقدر از منابع سختافزاری ما را قرار است مصرف کند، برای همین به جدول ۱-۲ توجه کنید.
جدول ۱-۲ نیازمندی سختافزاری
جدول ۲-۲ نشان میدهد که کدام نسخه های SQL Server 2022 با کدام نسخههای Windows سازگار است:
جدول ۲-۲ سیستمعامل
از نیازمندیهای دیگر SQL Server میتوان به . NET Framework اشاره کرد که باید نسخه ی مورد نظر آن را که در خود ویندوز ارائه میشود نصب کنید، البته این نرمافزار بهصورت پیشفرض بر روی سرور نصب خواهد شد.
توجه داشته باشید در هنگام نصب SQL Server اجزای زیر بر روی سرور نصب خواهد شد:
- SQL Server Native Client
- SQL Server Setup support files
اگر بخواهید SQL را به همراه اجزای کامل آن بر روی سرور نصب کنید، هرکدام از اجزا طبق جدول ۳-۲ نیازمند فضای موردنیاز هستند.
توجه داشته باشید که این مورد را در موقع نصب SQL انتخاب خواهیم کرد.
جدول ۳-۲ اجزای SQL
نکته:
SQL Server از دیسک با سکتورهای ۵۱۲ بایت تا ۴ کیلوبایت پشتیبانی میکند و اگر بخواهید از سکتورهای بالای ۴ کیلوبایت استفاده کنید، مطمئناً با خطا روبرو خواهید شد، برای دریافت اطلاعات بیشتر میتوانید از لینک زیر استفاده کنید.
SQL Server برای ذخیرهی اطلاعات از منابع ذخیرهسازی زیر میتواند استفاده کند:
- حافظه داخلی سرور یا همان هارددیسک محلی.
- محل ذخیرهسازی به اشتراک گذاشته شده در شبکه.
- SQL Server failover cluster.
- Storage Spaces Direct (S2D) (تکنولوژی شبیه به RAID که اطلاعات دیتابیس در چند سرور قابلدسترس است، این ویژگی همان Fault Tolerance است).
- فضای ذخیرهسازی SMB (میتوانید از یک Windows Server بهعنوان FileServer برای انکار استفاده کنید).
به دلایل امنیتی که مایکروسافت اعلام کرده، بهتر است که SQL Server را بر روی Domain Controller نصب نکنید، چون موارد زیر را در پی خواهد داشت:
۱- نمیتوانید سرویسهای SQL Server را در یک Domain Controller تحت اکانت local service اجرا کنید که بسیار اذیتکننده خواهد بود.
۲- پس از نصب SQL Server بر روی سیستم مورد نظر، نمیتوانید سیستم مورد نظر را از یک عضو دامنه به یک کنترلکنندهی دامنه تغییر دهید؛ قبل از تغییر سیستم میزبان به یک کنترلکنندهی دامنه، باید SQL Server را حذف نصب کنید.
۳- پس از نصب SQL Server بر روی رایانه، نمیتوانید رایانه را از یک کنترلکنندهی دامنه به یک عضو دامنه تغییر دهید. قبل از تغییر رایانه میزبان به عضو دامنه، باید SQL Server را حذف و بعد نصب کنید.
۴- SQL Server failover cluster در یک دومین کنترل خواندنی پشتیبانیی نمیشوند.
۵- SQL Server در یک کنترلکنندهی دامنه فقط خواندنی پشتیبانی نمیشود. SQL Server Setup نمیتواند گروههای امنیتی یا حسابهای ارائهدهندهی خدمات SQL Server را در یک کنترلکنندهی دامنهی فقط خواندنی ایجاد کند. در این سناریو، نصب ناموفق است.
۶- یک نمونه خوشهی شکستخورندهی SQL Server در محیطی که فقط یک کنترلکنندهی دامنهی فقط خواندنی قابلدسترسی است پشتیبانی نمیشود.
۲-۲ نصب و راهاندازی SQL Server 2022 در ویندوز
قبل از نصب SQL Server 2022 بهتر است یک موضوع بسیار مهم را بررسی کنیم، همانطور که میدانید دو نوع سیستم داریم:
- فیزیکی
- مجازی
به طور معمول یک سیستم فیزیکی با رم و هارد و فضای ذخیرهسازی مناسب را برای نصب SQL Server در نظر میگیرید و فکر میکنید بهترین عملکرد را ارائه دادید، اما اگر در این بین، اطلاعات شما از دست برود و هارددیسک شما خراب شود، آنوقت چه کاری باید انجام دهید، آیا به نظر شما استفاده از سیستم فیزیکی برای استفادهی مستقیم از SQL Server کار درستی خواهد بود؟
هرچند میتوانید با روشهایی مانند Raid بندی و روشهای دیگر جلوی ازبینرفتن اطلاعات را بگیرید، اما بهترین کار این است که از مجازیسازی استفاده کنیم و ازروی ماشینی که ایجاد میکنیم، پشتیبان تهیه کنیم تا در موقع ازدسترفتن سرور در سریعترین زمان ممکن بتوانیم آن را برگردانیم، البته روشهای پشتیبانگیری در SQL یک موضوع مفصل خواهد بود که در فصل مربوط به پشتیبانگیری بهصورت کامل به آن خواهیم پرداخت.
ما برای این کتاب سرور مجازی را انتخاب میکنیم، بهترین عملکرد در مجازیسازی را شرکت VMware ارائه میدهد و شما میتوانید ماشین مورد نظر خود را توسط نرمافزار VMware Workstation و یا با سیستمعامل ESXi ایجاد کنید که کار با این نرمافزارها را در کتاب VMware Systems به طور کامل توضیح دادیم و میتوانید نسخهی الکترونیکی را از سایت بنده دریافت کنید.
برای این کتاب ما از یک سرور ESXi استفاده کردیم که روی آن یک ماشین مجازی ایجاد کردیم و سختافزار مناسب را برای آن در نظر گرفتیم، بعد از این کار بر روی آن ویندوز سرور ۲۰۲۲ نصب کردیم تا همه چیز برای نصب نرمافزار SQL آماده باشد.
برای اینکه نرمافزار SQL Server 2022 را دانلود کنید میتوانید بهصورت مستقیم از سایت مایکروسافت دانلود کنید و یا اینکه آن را از سایتهای ایرانی مانند Soft98.ir دانلود کنید:
https://www.microsoft.com/en-us/sql-server/sql-server-downloads
بعد از دانلود فایل مورد نظر، بهمانند شکل ۱-۲ بر روی فایل Setup.exe دو بار کلیک کنید.
شکل ۱-۲ فایل Setup
اولین صفحهای که به شما نمایش داده میشود، شکل ۲-۲ است که گزینههای مختلفی را به شما ارائه میدهد، مثلاً در گزینهی اول اطلاعاتی را در مورد سختافزار و نرمافزار موردنیاز برای نصب SQL Server توضیح میدهد و همچنین در گزینههای دیگر میتوانید موارد دیگر را هم بررسی کنید.
برای اینکه متوجه شویم که سیستمی که در حال نصب SQL بر روی آن هستید آیا مناسب است یا نه باید در شکل ۲-۲ بر روی لینک System Configuration Checker کلیک کنید، تا بهمانند شکل ۳-۲ همهی گزینه ها اوکی باشد.
شکل ۲-۲ نصب SQL Server 2022
شکل ۳-۲ بررسی نصب SQL
برای اینکه نصب SQL Server را آغاز کنید، باید بهمانند شکل ۴-۲ وارد Installation شوید و بر روی New SQL Server stand-alone installation or add fearure to an existing installation کلیک کنید.
شکل ۴-۲ نصب SQL
در شکل ۵-۲ باید سریال نرمافزار را وارد و بر روی Next کلیک کنید.
شکل ۵-۲ سریال برنامه
در شکل ۶-۲ باید توافقنامهی استفاده از این نرمافزار را مطالعه و درصورتیکه آن را قبول دارید، تیک گزینهی I accept the license terms را انتخاب و بر روی Next کلیک کنید.
شکل ۶-۲ تأیید توافقنامه
بهمانند شکل ۷-۲ میتوانید با انتخاب تیک گزینهی Use Microsoft Updates To … آخرین آپدیتهای نرمافزار SQL را از سایت مایکروسافت دریافت کنید.
شکل ۷-۲ دریافت آپدیت
در شکل ۸-۲ نیازی به ابزار مربوط به Azure نیست، همانطور که میدانید سرویس Azure مایکروسافت یک سرویس ابری است که تمام ابزارهای مایکروسافت در آن در دسترس است و در این مرحله ما نیازی به این ابزار نداریم و تیک گزینهی مورد نظر را بردارید.
شکل ۸-۲ Azure
در شکل ۹-۲ بررسی اولیه انجام میشود و در این قسمت همه چیز باید Passed باشد، اگر به شکل ۹-۲ توجه کنید، متوجه خواهید شد که قسمت Firewall با یک اخطار روبرو شده است و به این موضوع اشاره دارد که برای استفاده از SQL در شبکه باید پورتهای مورد نظر آن در فایروال باز باشد که ادامه این کار را انجام خواهیم داد.
شکل ۹-۲ بررسی نیازمندیهای اولیه
در شکل ۱۰-۲ باید تیک گزینهی Database Engine را انتخاب کنید و همچنین میتوانید مسیر نصب را تغییر دهید، Database Engine هستهی اصلی SQL Server است و تمام اطلاعات مانند دیتابیسها، جداول و… در آن قرار میگیرد و برای شروع باید انتخاب و نصب شود.
شکل ۱۰- ۲ انتخاب Feature
در شکل ۱۱-۲ باید Instance را مشخص کنید، Instance را بهعنوان یک ظرف در نظر بگیرید که داخل آن میتوانید دیتابیس خود را قرار دهید و نرمافزارهای خاص خود را داشته باشید، مثلاً اطلاعاتی که در Instance با نام DB1 قرار دارد با اطلاعاتی که در Instance با نام DB2 قرار دارد متفاوت است، اصولاً Instance را بهعنوان یک مزرعهی جدا میشناسند که داخل آن میتوانید دیتابیسها و سرویسهای خود را داشته باشید، در شکل ۱۱-۲ Instance با نام پیشفرض MSSQLSERVER قرار دارد که سرویس را بر روی آن فعال میکنیم، البته شما میتوانید نامهای دیگر را هم انتخاب کنید.
شکل ۱۱-۲ بررسی Instance
در شکل ۱۲-۲ باید یک کاربر را برای اجرای سرویسهای SQL در نظر بگیرید، توجه داشته باشید که آن کاربر دسترسی لازم در شبکه را داشته باشد، برای همین منظور کاربر babajani که یک کاربر تحت دومین است با دسترسی کامل به شبکه وارد شده است و با همین کاربر هم باید در ادامه وارد SQL شویم.
شکل ۱۲-۲ تنظیم سرور
در شکل ۱۳-۲ باید مشخص کنید که چه کاربرانی دسترسی به Database داشته باشند که با کلیک بر روی Add Current User میتوانید با کاربری که در حال نصب SQL هستید، آن را به لیست اضافه کنید و یا اینکه هر کاربر دیگری که مورد نظر شماست با کلیک بر روی Add آن را به لیست اضافه کنید، توجه داشته باشید دو حالت احراز هویت وجود دارد که بهصورت پیشفرض Windows aythentication mode انتخاب شده است و اگر بخواهید کاربر sa که کاربر پیشفرض در SQL است باید در این قسمت گزینه Mixed Mode را انتخاب و یک رمز عبور برای آن در نظر بگیرید.
شکل ۱۳-۲ تنظیم دسترسی به دیتابیس
در شکل ۱۴-۲ بر روی Install کلیک کنید تا کار نصب آغاز شود.
شکل ۱۴-۲ Install SQL
همانطور که در شکل ۱۵-۲ مشاهده میکنید نرمافزار SQL Server بهدرستی بر روی سرور نصب شده است.
شکل ۱۵-۲ Finish Install
اگر بعد از نصب بهمانند شکل ۱۶-۲ وارد Services شوید، مشاهده خواهید کرد که سرویس SQL Server بهدرستی در حال اجرا است.
شکل ۱۶-۲ سرویس SQL Server
بعد از نصب نرمافزار SQL Server نیاز به یک نرمافزاری داریم تا بتوانیم SQL را مدیریت کنیم، یعنی کاربر جدید تعریف کنیم، دسترسی آن را مشخص کنیم، دیتابیس جدید ایجاد کنیم و موارد دیگر؛ همهی این کارها توسط نرمافزار SQL Server Management Tools یا بهاختصار SSMS انجام خواهد گرفت، در نسخههای جدید این نرمافزار بهصورت جداگانه ارائه میشود و میتوانید از طریق لینک زیر آن را دانلود کنید:
بعد از ورود به صفحه شکل ۱۷-۲ بر روی لینک دانلود کلیک کنید تا نرمافزار مورد نظر دانلود شود و بعد از دانلود آن را بر روی سرور و یا هر سیستمی که میخواهید نصب کنید.
شکل ۱۷ -۲ دانلود SSMS
بعد از نصب و از طریق منوی Start نرمافزار SSMS را اجرا کنید که بهمانند شکل ۱۸-۲ صفحه مورد نظر برای شما ظاهر خواهد شد. در این صفحه شما باید در قسمت Server Type، گزینهی Database Engine را انتخاب کنید که شامل دیتابیس شما خواهد بود؛ در قسمت Server Name باید نام سرور SQL خود را وارد کنید، توجه داشته باشید اگر داخل سرور هستید میتوانید از نام localhost نیز استفاده کنید، اما برای دسترسی از بیرون باید از نام سرور استفاده کنید. در قسمت Authentication نیز اگر بر روی Windows Authentication قرار دهید با همان نام کاربری که Login کردید وارد خواهد شد که مسلماً باید دسترسی لازم را داشته باشد و یا اینکه میتوانید از SQL Server Authentication استفاده کنید.
شکل ۱۸-۲ ورود به SQL Server
در شکل ۱۹-۲ یک نمای کلی از نرمافزار SSMS را که به Database Engine متصل شده است را مشاهده میکنید، در قسمت Databases میتوانید دیتابیسهای خود و دیتابیسهایی که توسط نرمافزارهای دیگر بهصورت اتوماتیک ایجاد میشود را مشاهده کنید. در قسمت Security باید کاربران خود را معرفی و دسترسیهای لازم برای آنها را مشخص کنید؛ در قسمت Server Objects یک سری اشیا یا همان Object وجود دارد که برای مانیتور کردن عملکرد سرور خواهد بود. در قسمت Replication نیز یک سری ابزار وجود دارد تا بتوانید دیتابیسها را از یک پایگاهداده به یک پایگاهداده بهصورت درست و امن انتقال دهید، PolyBase نیز یک ابزار برای انتقال اطلاعات از یک پایگاهداده متفاوت، مانند Oracle به SQL است؛ گزینهی Always On High Availability برای ایجاد یک گروه از سرورها برای پایدار نگهداشتن دیتابیسها و سرورها است که یک روش جدید در میان روشهای دیگر است. در قسمت Managemnt یک سری ابزار وجود دارد، مانند پشتیبانگیری از دیتابیسها، LOG گیری و موارد دیگر که در مدیریت SQL بسیار کمککننده خواهد بود؛ قسمت Inetgaration Service Catalog نیز برای یکپارچهسازی دادهها در سازمان شما است که با یاری خدا همهی این گزینهها را در ادامه توضیح خواهیم داد و در آخر نیز سرویس SQL Agent برای انجام پشتیبانگیری و کارهایی دیگر موردنیاز است.
شکل ۱۹-۲ شکل کلی نرم افزار
اولین قسمتی که بررسی میکنیم Databases است، بهمانند شکل ۲۰-۲، بعد از بازکردن قسمت Databases، دو گزینه را مشاهده میکنید، یکی Systems و دیگری Database Snapshots است؛ در قسمت Systems، چهار دیتابیس را مشاهده میکنید که بهصورت پیشفرض ایجاد میشوند.
شکل ۲۰-۲ بررسی Database
جدول ۴-۲ دیتابیسهای سیستم
دیتابیس سیستم | توضیحات |
master | پایگاهداده Master بهعنوان قلب تپنده SQL است و اگر از دست برود با مشکل مواجه خواهید شد، دیتابیس Master شامل اطلاعاتی حیاتی زیر است: · زمانی که یک کاربر ایجاد میکنید، ID آن در این دیتابیس قرار میگیرد. · تمام رویدادها یا همان Logها در این دیتابیس قرار میگیرد. · نام و اطلاعات مربوط به پایگاه دادهها. · خطاهای سیستم و تمام پیامهای موجود در سرور. · مقداردهی اولیهی SQL Server . · پایگاه دادههای محلی. · جدولهای خاص پایگاه دادهها. |
tempdb | همانطور که از اسم آن مشخص است، یک پایگاهداده موقت است، زمانی که شما ۲۰۲۲ Server SQL را اجرا میکنید، اطلاعات موقت در این پایگاهداده قرار میگیرد، مثالی که در این رابطه میتوان زد، مانند RAM سیستم شما که زمانی نرمافزاری را اجرا میکنید، اطلاعات بهصورت موقت در این حافظه قرار میگیرد و بعد از بستن نرمافزار، اطلاعات نیز از حافظه پاک میشوند. زمانی که یک دستور را در SQL اجرا میکنید، اطلاعات این دستور بهصورت موقت در این پایگاهداده قرار میگیرد و پردازش میشود و طول عمر آن به کار کاربر مورد نظر برمیگردد. |
model | این پایگاهداده بهعنوان یک الگو در نظر گرفته میشود، یعنی اینکه یک سری استانداردهایی در آن تعریف شده است که همهی پایگاه دادهها از آن استاندارد پیروی میکنند. مجموعههای از پیش تعیینشده در این پایگاه وجود دارد که برای ساخت پایگاه دادههای دیگر به کار میرود، مانند حجم پایگاه دادهها، اندازهی جدولها و موارد دیگر. |
Resource | یک پایگاهدادهی فقط خواندنی که اطلاعات System Object در آن نگهداری میشود، البته در لیست ظاهری وجود ندارد. |
msdb | در این پایگاهداده یک سری کارهای از پیش تعیینشده قرار دارد این کارها میتواند پشتیبانگیری و یا بازگردانی اطلاعات باشد که این کار بدون دخالت کسی و بهصورت خودکار انجام میشود. |
در بالای نرمافزار چندین منو قرار دارد که با هم آنها را بررسی میکنیم:
در منوی فایل میتوانید با کلیک بر روی Connect Object Explorer به دیتابیس جدید خود متصل شوید و یا با انتخاب گزینهی Disconnect، ارتباط را قطع کنید؛ گزینههای دیگر برای ایجاد پروژهی جدید و یا بازکردن پروژههای قبلی است؛ در قسمت Recent Projects and Solutuin میتوانید آخرین پروژههایی را که باز کردید را مشاهده کنید.
در منوی Edit میتوانید اطلاعات را جستجو، کپی، حذف و… کنید.
در منوی View، گزینهی Explorer Object ابزاری برای نمایش کلی دیتابیسها، سرویسها و… است که اگر به نرمافزار توجه کنید در سمت چپ، این ابزار را میتوانید ببینید؛ گزینهی Details Explorer Object ابزاری است زیرمجموعهی ابزار Explorer Object که اطلاعات داخلی آن را نمایش میدهد.
گزینهی Explorer Solution، ابزاری که در سمت راست برنامه ظاهر میشود و برای نمایش اطلاعات پروژهی شما ایجاد شده است؛ این پروژهها میتواند پروژههای در Visual Studio شما باشد.
گزینهی Window Bookmark، این ابزار مفید برای ایجاد Bookmarkهایی در کد است که شما را سریع به کد مورد نظر در پروژه میرساند.
گزینهی Explorer Utility، ابزاری برای مدیریت پایگاهدادهها و نظارت کلی بر روی آنها در داخل سازمان و یا سازمانهایی در فواصل دورتر از آن است.
منوی Debug، این منو برای کنترل پروژه است و برای بررسی و اشکالزدایی پروژه کاربرد دارد که در خلال کار بیشتر با آن آشنا خواهیم شد.
منوی Tools، با استفاده از Profiler Server SQL میتوانیم تمام Logهای مربوط به پروژه را در مسیر مشخصی ذخیره کنیم تا بتوانیم در صورت مواجهشدن با مشکل آنها را بررسی کنیم.
اگر در منوی فایل بر روی Options کلیک کنید، میتوانید تنظیمات کلی نرمافزار SQL را مشاهده و آنها را تغییر دهید.
قبل از اینکه ادامه کار را انجام دهیم باید به این نکته اشاره کنیم که SQL Server یک سرویس بسیار حریصانه است و به راحتی از تمام منابع موجود استفاده میکند. این مورد میتواند در مورد RAM به یک مشکل تبدیل شود زیرا سیستم عامل هنوز برای عملکرد به مقداری رم نیاز دارد، حتی اگر ۱۰۰٪ به سرور DBMS اختصاص داده شده باشد، برای حل این مشکل بر روی سرور کلیک راست کنید و به مانند شکل ۲-۲۱ گزینهی Properties را انتخاب کنید.
شکل ۲۱-۲ تغییر مقدار رم
در شکل ۲۲-۲ وارد قسمت Memory شوید و در بخش Maximum server Memory حداکثر مقدار استفاده از رم را برای SQL مشخص کنید که در اینجا مقدار ۱۰ هزار مگابایت تقریباً برابر با ۱۰ گیگ قرار گرفته است.
شکل ۲۲-۲ تغییر مقدار رم
با این کار SQL بیشتر از این مقدار رم را مصرف نخواهد کرد و سرور شما تحت فشار قرار نمیگیرد.