Skip to content
VDS · Windows Server

MS SQL Server trên VPS

Cách cài đặt MS SQL Server Express trên VPS Windows, giới hạn bộ nhớ của nó, mở truy cập an toàn, và thiết lập sao lưu.

Cập nhật 23 tháng 8, 2026

MS SQL Server cài trên VPS chạy Windows Server giống như một ứng dụng thông thường. Bản Express miễn phí là đủ cho nhiều trường hợp: giới hạn 10 GB mỗi cơ sở dữ liệu, 1410 MB bộ nhớ cho engine và tối đa bốn lõi.

Yêu cầu cấu hình

Bản thân Windows Server đã chiếm khoảng 2 GB bộ nhớ. Cộng thêm engine cơ sở dữ liệu và ứng dụng của bạn: VDS-1 và VDS-2 quá chật cho combo Windows + MS SQL, mức tối thiểu khả dụng là VDS-3 (4 lõi / 8 GB / 120 GB), còn với cơ sở dữ liệu chịu tải thì chọn VDS-4 trở lên. Ổ NVMe với tốc độ ghi tối đa 240 MB/s trên VDS-3 là ổn cho cơ sở dữ liệu.

Cài đặt

Tải bộ cài SQL Server Express từ trang web Microsoft và chạy cài đặt im lặng:

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

Cài riêng công cụ dòng lệnh (sqlcmd) và SQL Server Management Studio nếu bạn sẽ làm việc qua giao diện.

Kiểm tra:

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

Bộ nhớ và lõi

Mặc định engine chiếm toàn bộ bộ nhớ khả dụng, khiến hệ thống bị ảnh hưởng. Hãy giới hạn rõ ràng, chừa cho Windows ít nhất 2 GB:

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

Với VDS-3 (8 GB), giá trị hợp lý là 4096; với VDS-5 (24 GB), là 16384.

Truy cập

Bạn không được mở cổng 1433 ra bên ngoài. Các lựa chọn:

  • ứng dụng chạy trên cùng máy — để cơ sở dữ liệu trên localhost và không tạo quy tắc tường lửa nào cả;
  • bạn cần truy cập từ bên ngoài — chỉ mở cổng cho các địa chỉ của bạn:
New-NetFirewallRule -DisplayName "MSSQL" -Direction Inbound -Protocol TCP -LocalPort 1433 `
  -RemoteAddress 203.0.113.5 -Action Allow

Tốt hơn là vô hiệu hóa tài khoản sa, thay vào đó tạo người dùng có tên với quyền chỉ trên cơ sở dữ liệu của bạn:

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;

Sao lưu

Chúng tôi không có sao lưu máy tự động, cũng không có ảnh chụp trạng thái trong bảng điều khiển — bạn tự sao lưu cơ sở dữ liệu. Một tác vụ trong bộ lập lịch, mỗi ngày một lần:

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

Nén không khả dụng trong Express — hãy bỏ COMPRESSION. Nhớ đưa tệp hoàn thành ra khỏi máy: một bản sao nằm cạnh cơ sở dữ liệu sẽ không cứu bạn nếu mất ổ đĩa.

Kiểm tra khôi phục ít nhất mỗi quý một lần: bản sao lưu chưa từng được khôi phục thì không tính là sao lưu.

Lỗi thường gặp

  • Chưa bật giao thức TCP/IP. Mặc định Express chỉ lắng nghe trên named pipes. Hãy bật trong SQL Server Configuration Manager, rồi khởi động lại dịch vụ.
  • Cổng động cho instance có tên. Đặt rõ 1433, nếu không quy tắc tường lửa sẽ không khớp.
  • Cơ sở dữ liệu tăng lên 10 GB và ngừng nhận ghi. Đây là giới hạn của Express; vượt mức đó bạn cần bản khác hoặc dọn dẹp dữ liệu.
  • Quên nhật ký giao dịch. Ở mô hình khôi phục Full, tệp .ldf tăng dần cho đến khi ăn hết ổ đĩa. Hoặc sao lưu nhật ký, hoặc chuyển sang Simple.

Hãy theo dõi dung lượng trống: ổ đĩa đầy sẽ dừng cơ sở dữ liệu hoàn toàn. Cách dọn dẹp, xem bài viết Ổ đĩa và phân vùng.