SQL Server na Linux 1GB RAM (obraz Docker)

Czy SQL Server na Linuxie na maszynie 1GB RAM ma sens? Jest wiele tanich VPS z 1GB i istnieje pokusa zabawy.

Próbując zainstalować jednak otrzymamy komunikat:
This program requires a machine with at least 2000 megabytes of memory.

Przetestowałem to rozwiązanie na Linuxie (RHEL, Ubuntu), Zapakowałem instancję w Docker ze specjalnym obrazem justin2004/mssql_server_tiny (to obraz SQL Server 2017 i jest skonfigurowany aby omijać konfigurację sprzętową, co pozwala go instalować na maszynie z mniej niż 2GB ram).

Poniżej prosta konfiguracja i kilka wyjaśnień:
-e 'MSSQL_PID=Express' (biorę Express mniejszy narzut na pamięć, a mając VPS np. publiczy nie łamiesz licencji MS)
-p 4444:1433 (mapuję standardowy port sqlserver 1433 na własny 4444)
-v /sqldata:/var/opt/mssql (mapuję domyślny katalog mssql w /var/opt/mssql na własny /sqldata i tam ustawiam domyślne katalogi na data,log,backup,dump)
--memory-swap -1 (jak zabraknie fizycznego ram, zrzucam pamięć na dysk do pełnego jego wykorzystania)
--name ms1 (to moja nazwa instancji w Docker)
--hostname ms1 (to moja nazwa instancji w SQLServer)
--d justin2004/mssql_server_tiny

Na terminalu w Linux jeśli masz już Docker wpisz polecenie na uruchomienie obrazu:

sudo docker run
-e 'ACCEPT_EULA=Y'
-e 'SA_PASSWORD=WpiszTwojeMocneHaslo'
-e 'MSSQL_PID=Express'
-e 'MSSQL_COLLATION=Polish_CI_AS'
-p 4444:1433
-v /sqldata:/var/opt/mssql
-e 'TZ=Europe/Warsaw'
-e 'MSSQL_DATA_DIR=/sqldata/data'
-e 'MSSQL_LOG_DIR=/sqldata/log'
-e 'MSSQL_BACKUP_DIR=/sqldata/backup'
-e 'MSSQL_DUMP_DIR=/sqldata/dump'
--memory-swap -1
--name ms1
--hostname ms1
-d justin2004/mssql_server_tiny

PS: Po uruchomieniu instancja owszem działa, jednak w miarę im dłużej chodzi i kilka prostych workloadów zaraz sprawi, że będziesz otrzymywał błędy związane z pamięcią. Moim zdaniem nie warto na dłuższą metę w to się bawić i szukać VPS gdzie postawimy SQL Server z 4GB minimum do prostych zastosowań.