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.