Skip to content
VDS · Windows Server

MS SQL Server على VPS

كيفية تثبيت MS SQL Server Express على VPS بنظام Windows، وتحديد ذاكرته، وفتح الوصول بشكل آمن، وإعداد النسخ الاحتياطي.

آخر تحديث 23 أغسطس 2026

يُثبَّت MS SQL Server على VPS بنظام Windows Server مثل أي تطبيق عادي. تكفي النسخة المجانية Express لكثير من الحالات: الحدود هي 10 GB لكل قاعدة بيانات، و1410 MB من الذاكرة للمحرك، وحتى أربعة أنوية.

متطلبات المستوى

يستهلك Windows Server نفسه نحو 2 GB من الذاكرة. أضف إلى ذلك محرك قاعدة البيانات وتطبيقك: المستويان VDS-1 وVDS-2 ضيقان جدًا لتوليفة Windows + MS SQL، والحد الأدنى العملي هو VDS-3 (4 أنوية / 8 GB / 120 GB)، ولقاعدة بيانات محمّلة اختر VDS-4 وما فوق. قرص NVMe بحد كتابة 240 MB/s على VDS-3 كافٍ لقاعدة البيانات.

التثبيت

نزّل مثبّت SQL Server Express من موقع Microsoft وشغّل تثبيتًا صامتًا:

.\SQLEXPR_x64_ENU.exe /q /ACTION=Install /FEATURES=SQLEngine /INSTANCENAME=SQLEXPRESS `
  /SQLSVCACCOUNT="NT AUTHORITY\NETWORK SERVICE" /SQLSYSADMINACCOUNTS="BUILTIN\Administrators" `
  /SECURITYMODE=SQL /SAPWD="LongPasswordHere" /TCPENABLED=1 /IACCEPTSQLSERVERLICENSETERMS

ثبّت بشكل منفصل أدوات سطر الأوامر (sqlcmd) وSQL Server Management Studio إذا كنت ستعمل عبر الواجهة.

تحقق:

Get-Service MSSQL$SQLEXPRESS
sqlcmd -S .\SQLEXPRESS -Q "select @@version"

الذاكرة والأنوية

افتراضيًا، يستهلك المحرك كل الذاكرة المتاحة، ويعاني النظام من ذلك. حدّدها صراحةً، مع ترك 2 GB على الأقل لـ Windows:

EXEC sp_configure 'show advanced options', 1; RECONFIGURE;
EXEC sp_configure 'max server memory (MB)', 4096; RECONFIGURE;

بالنسبة إلى VDS-3 (8 GB)، القيمة المعقولة هي 4096؛ وبالنسبة إلى VDS-5 (24 GB)، 16384.

الوصول

يجب ألا تفتح المنفذ 1433 إلى الخارج. الخيارات:

  • يعمل التطبيق على الجهاز نفسه — اترك قاعدة البيانات على localhost ولا تنشئ قاعدة جدار حماية على الإطلاق؛
  • تحتاج إلى وصول خارجي — افتح المنفذ لعناوينك فقط:
New-NetFirewallRule -DisplayName "MSSQL" -Direction Inbound -Protocol TCP -LocalPort 1433 `
  -RemoteAddress 203.0.113.5 -Action Allow

من الأفضل تعطيل حساب sa، وإنشاء مستخدم مسمّى بدلًا منه بحقوق على قاعدة بياناتك فقط:

CREATE LOGIN app WITH PASSWORD = 'LongPassword';
CREATE DATABASE shop;
USE shop; CREATE USER app FOR LOGIN app;
ALTER ROLE db_owner ADD MEMBER app;
ALTER LOGIN sa DISABLE;

النسخ الاحتياطية

لا تتوفر لدينا نسخ احتياطية آلية للجهاز، ولا لقطات للحالة في لوحة التحكم — أنت من ينشئ نسخًا احتياطية لقاعدة البيانات بنفسك. مهمة في المجدول، مرة واحدة يوميًا:

sqlcmd -S .\SQLEXPRESS -Q "BACKUP DATABASE shop TO DISK='C:\backup\shop.bak' WITH INIT, COMPRESSION"

الضغط غير متاح في Express — احذف COMPRESSION. تأكد من نقل الملف الناتج خارج الجهاز: نسخة بجوار قاعدة البيانات لن تنقذك إذا فُقد القرص.

تحقق من الاستعادة مرة واحدة كل ربع سنة على الأقل: النسخة الاحتياطية التي لم تُستعد قط لا تُعد نسخة احتياطية.

أخطاء شائعة

  • بروتوكول TCP/IP غير مفعّل. افتراضيًا، يستمع Express إلى الأنابيب المسمّاة فقط. فعّله في SQL Server Configuration Manager، ثم أعد تشغيل الخدمة.
  • منفذ ديناميكي لنسخة مسمّاة. حدّد 1433 صراحةً، وإلا فلن تنطبق قاعدة جدار الحماية.
  • نمت قاعدة البيانات إلى 10 GB وتوقفت عن قبول الكتابة. هذا حد Express؛ وما بعده تحتاج إلى نسخة أخرى أو تنظيف البيانات.
  • سجل المعاملات المنسي. في نموذج الاستعادة Full ينمو ملف .ldf حتى يلتهم القرص. إما أن تنسخ السجل احتياطيًا أو تنتقل إلى Simple.

راقب المساحة الحرة: القرص الممتلئ يوقف قاعدة البيانات تمامًا. لمعرفة كيفية التنظيف، راجع مقالة الأقراص والأقسام.