Skip to content
VDS · Windows Server

VPS-এ MS SQL Server

Windows VPS-এ MS SQL Server Express কীভাবে ইনস্টল করবেন, এর মেমোরি সীমিত করবেন, নিরাপদে অ্যাক্সেস খুলবেন, এবং ব্যাকআপ সেট করবেন।

আপডেট: ২৩ আগস্ট, ২০২৬

MS SQL Server একটি VPS-এ Windows Server-এর উপর সাধারণ অ্যাপ্লিকেশনের মতোই ইনস্টল হয়। অনেকের জন্যই ফ্রি Express সংস্করণ যথেষ্ট: সীমাগুলো হলো প্রতি ডেটাবেসে 10 GB, ইঞ্জিনের জন্য 1410 MB মেমোরি এবং সর্বোচ্চ চারটি কোর।

টিয়ার প্রয়োজনীয়তা

Windows Server নিজেই প্রায় 2 GB মেমোরি নেয়। এর সাথে ডেটাবেস ইঞ্জিন ও আপনার অ্যাপ্লিকেশন যোগ করুন: Windows + MS SQL কম্বলের জন্য VDS-1 এবং VDS-2 খুবই সংকীর্ণ, কার্যকর ন্যূনতম হলো VDS-3 (4 কোর / 8 GB / 120 GB), আর লোডেড ডেটাবেসের জন্য VDS-4 ও তার উপরের টিয়ার নিন। VDS-3-এ 240 MB/s রাইট সীমার NVMe ডিস্ক ডেটাবেসের জন্য যথেষ্ট।

ইনস্টলেশন

Microsoft-এর ওয়েবসাইট থেকে SQL Server Express ইনস্টলার ডাউনলোড করুন এবং একটি সাইলেন্ট ইনস্টলেশন চালান:

.\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"

মেমোরি ও কোর

ডিফল্টভাবে ইঞ্জিন সব উপলব্ধ মেমোরি নিয়ে নেয়, ফলে সিস্টেম ভোগে। এটি স্পষ্টভাবে সীমিত করুন, Windows-এর জন্য অন্তত 2 GB রেখে দিন:

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 শুধু named pipes-এ শোনে। SQL Server Configuration Manager-এ এটি চালু করুন, তারপর সার্ভিস রিস্টার্ট করুন।
  • নামযুক্ত ইনস্ট্যান্সের জন্য ডায়নামিক পোর্ট। স্পষ্টভাবে 1433 সেট করুন, নইলে ফায়ারওয়াল রুল মিস করবে।
  • ডেটাবেস 10 GB-তে পৌঁছে রাইট নেওয়া বন্ধ করে দিয়েছে। এটি Express-এর সীমা; এর বেশি হলে ভিন্ন সংস্করণ বা ডেটা পরিষ্কার করা প্রয়োজন।
  • ভুলে যাওয়া ট্রানজেকশন লগ। Full recovery মডেলে .ldf ফাইল ডিস্ক খেয়ে ফেলা পর্যন্ত বাড়তে থাকে। হয় লগ ব্যাকআপ করুন, নয়তো Simple-এ সুইচ করুন।

খালি জায়গার দিকে নজর রাখুন: ডিস্ক ভরে গেলে ডেটাবেস সম্পূর্ণ বন্ধ হয়ে যায়। পরিষ্কার করার উপায় জানতে দেখুন ডিস্ক ও পার্টিশন নিবন্ধটি।