MSSQL Server

MSSQL

Microsoft SQL Server یک سیستم مدیریت پایگاه داده رابطه ای )RDBMS( است که از طیف گسترده ای از برنامه های پردازش تراکنش، هوش تجاری و تجزیه و تحلیل پشتیبانی می کند. Microsoft SQL Server به همراه اوراکل دیتابیس و IBM DB2 یکی از سه فناوری پیشرو در بازار هستند.
Microsoft SQL Server مانند سایر نرم افزارهای RDBMS دیگر، بر اساس SQL ساخته شده است؛ یک زبان برنامه نویسی استاندارد که مدیران بانک اطلاعاتی )DBA( و دیگر متخصصان فناوری اطلاعات برای مدیریت پایگاه داده و پرس و جو از داده های موجود در آن استفاده می کنند.
SQL Server با Transact-SQL (T-SQL) پیوند و ارتباط نزدیکی دارد؛ پیاده‌سازی منحصر به فردی از SQL توسط مایکروسافت که مجموعه ای از extensionهای برنامه نویسی اختصاصی را به زبان استاندارد اضافه کرده است.

حال برای اینکه بتوانید این سرویس محبوب را بر روی فضانام خود دیپلوی کنید، پارامتر‌های زیر را می‌توانید مشخص کنید:

کانفیگنوعپیش‌فرضتوضیح
service_namestringsql-serverنامی که برای سرویس مایلید در نظر گرفته شود
volume_namestringNoneنام volumeای که به سرویس وصل می شود
adminer_enabledbooleanTrueفعال یا غیرفعال بودن Adminer
mssql_agent_enabledbooleanFalseفعال یا غیرفعال بودن MSSQL Agent
mssql_sa_passwordstringMicrosoftSQL@123رمز عبور دیتابیس
volume_browser_enabledbooleanfalseآیا سرویس مدیریت Dedicated Volume برای این سرویس ساخته شود یا خیر
راهنمایی

توجه داشته باشید که سرویس ‌MSSQL Server برای آنکه بتواند داده‌های خود را ذخیره کند و از سرعت و کارایی مناسبی برخوردار باشد باید حتما به یک dedicated volumes متصل شود در غیر این صورت با خطا مواجه شده و سرویس به درستی عمل نمی‌کند.

نکته

از آنجایی که سرویس MSSQL Server یکی از سرویس‌های سنگین حساب می‌شود، برای ساخت این سرویس حداقل میزان رم برای عملکرد بهینه طبق مستندات مایکروسافت باید حداقل ۲ گیگابایت باشد.

توجه

توجه داشته باشید برای استفاده از قابلیت Volume Browser سرویس شما باید به یک Dedicated Volume متصل باشد؛ در غیر این صورت با خطای سرور مواجه خواهید شد.

به عنوان مثال برای دیپلوی کردن یک MSSQL Server می‌توانیم به این شکل یک سرویس بسازیم:

fandogh managed-service deploy mssql 4.2 \
-c service_name=test-mssql \
-c mssql_sa_password=MicrosoftSQL@123 \
-c adminer_enabled=True \
-c volume_name=mssql-volume

این دستور یک سرویس MSSQL Server ایجاد می‌کند که:

  • نام آن test-mssql )یعنی در شبکه داخلی فضانام شما باقی سرویس‌ها از طریق نام test-mssql و بر روی پورت 1433 می‌توانند به آن متصل شوند( است .
  • نام کاربری سرویس sa است.
  • رمز عبور آن MicrosoftSQL@123 است.
  • و نام volume که به آن متصل بوده و داده‌های خود را بر روی آن ذخیره می‌کند mssql-volume است.
مهم

برای استفاده از سرویس MSSQL Server باید به نکته زیر توجه داشته باشید: برای حفط مسائل امنیتی سرویس MSSQL Server به صورت یک Internal Service عمل می‌کند و شما خارج از namespace خود به آن دسترسی ندارید.

افزودن دامنه دلخواه

اگر قصد داشته باشید دامنه یا دامنه‌های دلخواهتان را به سرویس مدیریت شده مورد نظر متصل نمایید، از طریق این بخش می‌توانید لیست این دامنه‌ها را مشخص کنید.
برای مثال فرض کنید تمایل دارید سرویس مدیریت شده مورد نظر شما روی domain.com و www.domain.com در دسترس باشد:

domains:
- name: domain.com
- name: www.domain.com
...

بدین شکل بخش دامنه را به مانیفست سرویس خود اضافه کرده و آن را مستقر نمایید:

mssql_deployment.yml
kind: ManagedService
name: test-mssql
spec:
service_name: mssql
version: latest
parameters:
- name: adminer_enabled
value: false
- name: mssql_sa_password
value: YOUR_PASSWORD
- name: volume_name
value: YOUR_VOLUME_NAME
domains:
- name: domain.com
- name: www.domain.com
resources:
memory: 2048Mi
توجه

توجه داشته باشید، دامنه‌هایی که به سرویس مدیریت شده MSSQL SERVER اضافه می‌شوند، در اصل به داشبورد مدیریتی آن متصل می‌شوند، نه خود سرویس دیتابیس.

Deploy With Manifest

شما همچنین می توانید برای اجرای راحت تر سرویس های مدیریت شده از مانیفست همانند مثال زیر استفاده کنید.

  • مانیفست MSSQL Server بدون داشبورد مدیریتی
mssql_deployment.yml
kind: ManagedService
name: test-mssql
spec:
service_name: mssql
version: latest
parameters:
- name: adminer_enabled
value: false
- name: mssql_sa_password
value: YOUR_PASSWORD
- name: volume_name
value: YOUR_VOLUME_NAME
resources:
memory: 2048Mi
  • مانیفست MSSQL Server همراه با داشبورد مدیریتی
mssql_deployment.yml
kind: ManagedService
name: test-mssql
spec:
service_name: mssql
version: latest
parameters:
- name: adminer_enabled
value: true
- name: mssql_sa_password
value: YOUR_PASSWORD
- name: volume_name
value: YOUR_VOLUME_NAME
resources:
memory: 2048Mi