راهنمای جامع نصب و مدیریت SQL Server بر روی Linux: قدرت پایگاه داده مایکروسافت در دنیای متنباز
SQL Server مایکروسافت، یکی از قدرتمندترین سیستمهای مدیریت پایگاه داده رابطهای (RDBMS) در جهان، اکنون فراتر از اکوسیستم ویندوز گسترش یافته و امکان نصب و اجرا بر روی سیستمعاملهای Linux را فراهم کرده است. این گام بزرگ، فرصتهای بینظیری را برای توسعهدهندگان و مدیران پایگاه داده فراهم میآورد تا از قابلیتهای پیشرفته SQL Server در محیطهای متنوع و منعطف Linux بهرهمند شوند. هدف این مقاله، ارائه یک راهنمای کامل برای نصب، پیکربندی و مدیریت SQL Server در Linux است، به گونهای که تمامی مراحل از ابتدا تا انتها به سادگی قابل پیگیری باشند.
SQL Server بر روی Linux از چندین توزیع محبوب پشتیبانی میکند که شامل: Red Hat Enterprise Linux (RHEL)، Ubuntu Server و SUSE Linux Enterprise Server (SLES) میشوند. انتخاب توزیع مناسب بستگی به نیازها و زیرساخت موجود شما دارد. مایکروسافت به طور مداوم پشتیبانی خود را برای نسخههای جدید این توزیعها به روز میکند.
فرایند نصب SQL Server بر روی Linux برای هر توزیع، مراحل مشابهی دارد، اما جزئیات دستورات ممکن است کمی متفاوت باشد. در ادامه، مراحل کلی و سپس دستورات خاص برای هر توزیع کلیدی را بررسی میکنیم.
نصب SQL Server در Red Hat Enterprise Linux (RHEL)
برای نصب SQL Server در RHEL، ابتدا باید فایلهای پیکربندی مخزن (repository) مایکروسافت را اضافه کنید. این کار به سیستم شما اجازه میدهد تا بستههای SQL Server را از سرورهای مایکروسافت دریافت کند.
sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/8/mssql-server-2019.repo
پس از اضافه کردن مخزن، بسته SQL Server را با استفاده از مدیر بسته `yum` نصب کنید.
sudo yum install -y mssql-server
بعد از اتمام نصب، باید ابزار `mssql-conf` را اجرا کرده تا SQL Server را پیکربندی کنید. این مرحله شامل تنظیم کلمه عبور کاربر `SA` و انتخاب نسخه SQL Server (مثلاً Developer، Express، Standard، Enterprise) است.
sudo /opt/mssql/bin/mssql-conf setup
با دنبال کردن دستورالعملهای روی صفحه، نصب و پیکربندی اولیه SQL Server شما کامل میشود. حتماً یک کلمه عبور قوی برای کاربر `SA` تنظیم کنید.
نصب SQL Server در Ubuntu Server
برای نصب SQL Server در اوبونتو، ابتدا کلیدهای GPG مخزن مایکروسافت را وارد کرده و سپس مخزن را اضافه کنید.
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/20.04/mssql-server-2019.list)"
سپس لیست بستههای موجود را بهروزرسانی کرده و SQL Server را نصب کنید.
sudo apt-get update
sudo apt-get install -y mssql-server
مانند RHEL، باید `mssql-conf setup` را اجرا کنید تا SQL Server را پیکربندی کرده و پسورد `SA` را تنظیم کنید.
sudo /opt/mssql/bin/mssql-conf setup
نصب SQL Server در SUSE Linux Enterprise Server (SLES)
برای نصب SQL Server در SLES، ابتدا مخزن مایکروسافت را اضافه کنید.
sudo zypper addrepo -fc https://packages.microsoft.com/config/sles/12/mssql-server-2019.repo
سپس کلیدهای GPG را وارد کنید.
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
و در نهایت SQL Server را نصب کنید.
sudo zypper install -y mssql-server
و در پایان، برای پیکربندی اولیه، `mssql-conf setup` را اجرا کنید.
sudo /opt/mssql/bin/mssql-conf setup
مدیریت سرویس SQL Server
پس از نصب SQL Server بر روی Linux، میتوانید سرویس آن را با استفاده از `systemctl` مدیریت کنید. این دستورات به شما امکان میدهند تا وضعیت سرویس را بررسی کنید، آن را شروع یا متوقف کنید.
برای بررسی وضعیت SQL Server:
systemctl status mssql-server --no-pager
برای شروع سرویس SQL Server:
systemctl start mssql-server
برای توقف سرویس SQL Server:
systemctl stop mssql-server
برای راهاندازی مجدد سرویس SQL Server:
systemctl restart mssql-server
و برای فعال کردن سرویس SQL Server جهت راهاندازی خودکار پس از بوت شدن سیستم:
systemctl enable mssql-server
پیکربندی SQL Server با mssql-conf
ابزار خط فرمان `mssql-conf` قلب پیکربندی SQL Server در Linux است. این ابزار به شما امکان میدهد تا تنظیمات مختلفی از جمله پورت پیشفرض، مکان فایلهای داده و لاگ، تنظیمات امنیتی و بسیاری موارد دیگر را تغییر دهید. برای مشاهده تمام گزینههای قابل پیکربندی، میتوانید دستور `help` را اجرا کنید.
sudo /opt/mssql/bin/mssql-conf help
به عنوان مثال، برای تغییر پورت TCP پیشفرض SQL Server از 1433 به پورت دیگر (مثلاً 1401)، از دستور زیر استفاده کنید:
sudo /opt/mssql/bin/mssql-conf set network.tcpport 1401
sudo systemctl restart mssql-server
پس از تغییر هر تنظیم با `mssql-conf`، معمولاً نیاز است که سرویس SQL Server را راهاندازی مجدد کنید تا تغییرات اعمال شوند.
اتصال به SQL Server
برای اتصال به SQL Server نصب شده بر روی Linux، میتوانید از ابزارهای مختلفی استفاده کنید. محبوبترین ابزارها شامل `sqlcmd` (ابزار خط فرمان مایکروسافت) و SQL Server Management Studio (SSMS) از یک ماشین ویندوز یا macOS هستند.
برای نصب ابزارهای خط فرمان SQL Server مانند `sqlcmd` و `bcp` در Linux، مراحل مشابه نصب خود SQL Server را دنبال کنید. برای RHEL:
sudo curl -o /etc/yum.repos.d/mssql-tools.repo https://packages.microsoft.com/config/rhel/8/prod.repo
sudo yum install -y mssql-tools unixODBC-devel
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
source ~/.bashrc
بعد از نصب، میتوانید با استفاده از `sqlcmd` به SQL Server متصل شوید. پورت پیشفرض 1433 است.
sqlcmd -S localhost -U SA -P 'YourStrongPassword'
برای اتصال از راه دور با SSMS، مطمئن شوید که فایروال Linux شما پورت SQL Server (پیشفرض 1433) را باز کرده باشد.
برای فعالسازی پورت در فایروال RHEL:
sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent
sudo firewall-cmd --reload
در اوبونتو، از `ufw` استفاده میشود:
sudo ufw allow 1433/tcp
sudo ufw enable
تفاوتها و ملاحظات کلیدی
با وجود شباهتهای زیاد، تفاوتهایی بین SQL Server بر روی ویندوز و Linux وجود دارد که باید مد نظر قرار گیرد:
* پشتیبانی از سرویسها: برخی از قابلیتهای SQL Server مانند SQL Server Agent (که در Linux با cron job یا systemd timer قابل جایگزینی است)، Reporting Services، Analysis Services و Integration Services به طور بومی در SQL Server Linux وجود ندارند و نیازمند راهکارهای جایگزین یا استقرار جداگانه هستند.
* ابزارهای مدیریت: SQL Server Management Studio (SSMS) ابزار اصلی مدیریت گرافیکی است و بر روی ویندوز اجرا میشود. در Linux، میتوانید از Azure Data Studio یا ابزارهای خط فرمان مانند `sqlcmd` و `bcp` استفاده کنید.
* فایلسیستم: SQL Server Linux بر روی فایلسیستمهای Ext4 و XFS بهینه شده است.
* امنیت: امنیت SQL Server در Linux از طریق مکانیسمهای Linux مانند SELinux/AppArmor و فایلسیستم مدیریت میشود.
نتیجهگیری
SQL Server بر روی Linux یک گزینه قدرتمند و انعطافپذیر برای سازمانها و توسعهدهندگانی است که به دنبال بهرهگیری از قابلیتهای برتر پایگاه داده مایکروسافت در محیط متنباز هستند. با پیروی از راهنمای ارائه شده در این مقاله، میتوانید به راحتی SQL Server را نصب، پیکربندی و مدیریت کنید و از مزایای آن در پروژههای خود بهرهمند شوید. این حرکت مایکروسافت نه تنها نشاندهنده تعهد آن به اکوسیستمهای متنوع است، بلکه فرصتهای جدیدی را برای استقرار و مدیریت پایگاه دادههای SQL Server فراهم میآورد.