Skip to content
VDS · Windows Server

MS SQL Server na VPS

Ako nainštalovať MS SQL Server Express na Windows VPS, obmedziť jeho pamäť, bezpečne otvoriť prístup a nastaviť zálohy.

Aktualizované 23. augusta 2026

MS SQL Server sa na VPS s Windows Server inštaluje ako bežná aplikácia. Bezplatná edícia Express stačí na mnohé použitia: limity sú 10 GB na databázu, 1410 MB pamäte pre engine a maximálne štyri jadrá.

Požiadavky na tarifu

Samotný Windows Server si vezme približne 2 GB pamäte. K tomu pripočítaj databázový engine a tvoju aplikáciu: VDS-1 a VDS-2 sú pre kombináciu Windows + MS SQL primalé, pracovné minimum je VDS-3 (4 jadrá / 8 GB / 120 GB) a na zaťaženú databázu ber VDS-4 a vyššie. NVMe disk s limitom zápisu 240 MB/s na VDS-3 databáze postačí.

Inštalácia

Stiahni inštalátor SQL Server Express zo stránky Microsoftu a spusť tichú inštaláciu:

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

Samostatne nainštaluj nástroje príkazového riadka (sqlcmd) a SQL Server Management Studio, ak budeš pracovať cez rozhranie.

Skontroluj:

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

Pamäť a jadrá

Engine si štandardne vezme všetku dostupnú pamäť a systém tým trpí. Obmedz ho explicitne a Windowsu nechaj aspoň 2 GB:

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

Pre VDS-3 (8 GB) je rozumná hodnota 4096, pre VDS-5 (24 GB) 16384.

Prístup

Port 1433 nesmieš otvoriť do vonkajšieho sveta. Možnosti:

  • aplikácia beží na tom istom stroji — nechaj databázu na localhoste a pravidlo firewallu vôbec nevytváraj;
  • potrebuješ externý prístup — otvor port len pre svoje adresy:
New-NetFirewallRule -DisplayName "MSSQL" -Direction Inbound -Protocol TCP -LocalPort 1433 `
  -RemoteAddress 203.0.113.5 -Action Allow

Radšej vypni účet sa a vytvor namiesto neho pomenovaného používateľa s právami len na tvoju databázu:

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;

Zálohy

Nemáme automatické zálohy stroja ani snímky stavu v paneli — zálohy databázy si robíš sám. Úloha v plánovači raz denne:

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

Kompresia nie je v Express dostupná — odober COMPRESSION. Hotový súbor určite prenes zo stroja: kópia vedľa databázy ťa pri strate disku nezachráni.

Obnovu skontroluj aspoň raz za štvrťrok: záloha, ktorá sa nikdy neobnovila, sa ako záloha nepočíta.

Časté chyby

  • Protokol TCP/IP nie je zapnutý. Express štandardne počúva len na named pipes. Zapni ho v SQL Server Configuration Manager a potom reštartuj službu.
  • Dynamický port pri pomenovanej inštancii. Nastav 1433 explicitne, inak pravidlo firewallu minie.
  • Databáza narástla na 10 GB a prestala prijímať zápisy. To je limit Expressu; za ním potrebuješ inú edíciu alebo vyčistenie dát.
  • Zabudnutý transakčný log. V modeli obnovy Full rastie súbor .ldf, kým nezje disk. Buď zálohuj log, alebo prepni na Simple.

Sleduj voľné miesto: plný disk úplne zastaví databázu. Ako upratať, nájdeš v článku Disky a partície.