مایکروسافت SQL Server روی لینوکس!

علی بهرامی‌نژاد - - زمان تقریبی مطالعه: 3 دقیقه

مایکروسافت SQL Server روی لینوکس!

حتی فکر کردن به جمله بالا کمی از قوه تخیل خارج بود، اما اگر اخبار این چند وقت اخیر مایکروسافت مثل«پیوستن مایکروسافت به بنیاد لینوکس»، «پیوستن گوکل به بنیاد دات نت » و یا پست «چرا باید به استک مایکروسافت بیشتر توجه کنیم» رو مطالعه کرده باشید زیاد از عنوان بالا تعجب نخواهید کرد.

پروژه SQL Server بر روی لینوکس، چندین ماه پیش به شکل رسمی توسط مایکروسافت معرفی شد و دسترسی به نسخه‌های اولیه آزمایشی تنها برای مشتریان/افراد خاص فراهم گردیده بود، در هفته گذشته مایکروسافت دسترسی نسخه آزمایشی SQL Server vNext را برای تمامی کاربران فراهم آورد.

اگر از دسته کاربرانی باشید که حداقل یکبار SQL Server روی ویندوز نصب کرده باشید؛ حتماً مشکلاتی با نصب طولانی آن داشته اید، اما در لینوکس ( در اینجا توزیع Ubuntu ) به راحتی، در عرض چند دقیقه تنها با اسفتاده از دستور apt می‌توان آن‌را نصب کرد.

sudo apt install mssql-server

SQL Server - apt get install

مایکروسافت در صفحه SQL Server vNext اطلاعات بسیار خوب کافی از قبیل راهنمایی مرحله به مرحله و ... فراهم آورده است. اگر علاقه‌مند به دریافت اطلاعات بیشتر هستید لطفاً یک ماشین مجازی/فیزیکی با حداقل رم 3.5 گیگ تهیه کنید و ادامه مطلب و بخونید.

نیازمندی‌های کلی و نحوه نصب

همانطوری که بالاتر اشاره کردم، برای نصب SQL Server vNext روی لینوکس حداقل به حافظه 3.5 گیگاباتی نیاز دارید.

در صفحه دانلود، مایکروسافت به شکل رسمی برای توزیع/سیستم‌عامل‌های زیر راهنمایی نصب قرار داده است:

  1. Red Hat Enterprise Linux 7.2
  2. Ubuntu Linux 16.04
  3. OpenSuse (به زودی)
  4. Mac OS (البته از طریق Docker)

از طریق لینک‌های بالا می‌توانید به راهنمایی‌های کافی و مرحله به مرحله مایکروسافت دسترسی پیدا کنید.

و البته در جستجویی که در اینترنت داشتم برای ArchLinux و AUR هم پکیج نصب وجود دارد.

در لینوکس، بعد از دریافت بسته‌ها، باید اسکریپت نصب را اجرا کرد که از طریق آن کاربر sa ایجاد و تنظیمات اولیه انجام میشود.

SQL Server - setup script


با استفاده از دستور htop میزان مصرف RAM , CPU را بررسی کردم، معمولاً SQL Server جزو تسک‌های اول از نظر مصرف بیشتر CPU و Ram بود.

HTOP SQL Server vnext

محیط‌های برنامه‌نویسی

در صفحه Build an app using SQL Server لینک‌ها و مطالب مختلف در رابطه با استفاده از SQL Server در این محیط‌ها ارائه شده است:

  1. C#
  2. Java
  3. NodeJS
  4. PHP
  5. Python
  6. R

ابزارهای مدیریتی

ابزارهای زیر به شکل Native برای لینوکس تهیه شده اند:

  1. sqlcmd - ابزار Command Line
  2. bcp - ابزار bulk copy
  3. sqlpackage - ابزار Export/Import کردن دیتابیس
  4. mssql-conf - ابزار تنظیمات SQL Server

همچنین در ویندوز از طریق SQL Server Management Studio امکان مدیریت و کارکردن با آن فراهم است، تنها این نکته را مد نظر قرار دهید که از آخرین نسخه آن استفاده کنید، زیرا تنها آخرین نسخه Management Studio از vNext پشتیبانی میکند.

دریافت SQL Server Management Studio (17.0 RC1)

استفاده از SQL Server vNext

اگر سرویس SQL Server روی لینوکس نصب شده باشد، خیلی راحت با استفاده از Management Studio به آن متصل شوید.

SQL Login

برای تست؛ من کوئری SELECT @@VERSION را برروی آن اجرا کردم:

SELECT @@Version

در ادامه سعی بر ساخت یک دیتابیس جدید کردم که به نکته جالب و خنده‌داری پی بردم، اگر به تصویر زیر دقت کنید در قسمتی که مسیر فایل‌ها نوشته شده است ابتدای مسیر لینوکسی نام درایو C دیده میشه که از باگ‌های جالب این نسخه می‌باشد!

Funny c drive bug

در نهایت جدولی ساختم، در آن چندین رکورد درج کردم.

INSERT INTO dbo.HelloTable
SELECT newid(), newid()
GO 100

و رکوردهای آنرا خواندم:

SELECT * FROM HelloWorld.dbo.HelloTable

SELECT

حرف پایانی

باتوجه به سیاست‌های متفاوت و عالی که مایکروسافت در رابطه با محصولات خود در پیش گرفته از نظر من باید توجه خیلی بیشتر نسبت به استک مایکروسافت داشته باشیم.

همچنین لازم به ذکر است که موسسه گارتنر، مایکروسافت را به عنوان رهبر در حوزه ODBMS (operational database management systems) معرفی کرده است. اطلاعات بیشتر

Microsoft Leader in ODBMS - Gartner

دیدگاه‌ها