Instruktaż/Tutorial MSSQL w dokerze

jerry1333

void *ptr
Contributor
9 Październik 2019
628
3
318
63
Tomaszów Mazowiecki
github.com
QNAP
TS-x53Be
Ethernet
1 GbE
W tym krótkim poradniku chciałbym opisać jak zainstalować serwer MS SQL, jak przywrócić bazę z kopii oraz w jaki sposób można wykonać kopię bazy. Całość będzie działać na serwerze QNAP z procesorem x86 a do instalacji wykorzystamy kontenery dockera od Microsoftu. Postaram się pokazać jak zrobić wszystko z linii komend oraz w skróconej formie jak wyklikać to w interfejsie Portainer.

Czego będziemy potrzebować?
Instalacja z linii komend
  1. Łączymy się z serwerem QNAP przez SSH
  2. Tworzymy trzy woluminy np. o nazwach mssql-data, mssql-log oraz mssql-backup - jeden będzie przechowywał bazy danych, drugi wykorzystamy do sprawdzania logów serwera a trzeci na kopie zapasowe i do odtwarzania danych w przypadku awarii / migracji itp.
    Bash:
    docker volume create mssql-data
    docker volume create mssql-log
    docker volume create mssql-backup
    ALTERNATYWNIE:
    Możemy pominąć tworzenie woluminu mssql-backup a zamiast tego wskazać dowolny katalog na Qnapie (patrz kolejny krok).
  3. Następnie tworzymy kontener MS SQL Server (tutaj w ostatniej wersji 2017)
    Bash:
    docker run \
    --name 'mssql' \
    -e 'ACCEPT_EULA=Y' \
    -e 'MSSQL_PID=Express' \
    -e 'SA_PASSWORD=yourStrong(!)Password' \
    -v mssql-data:'/var/opt/mssql/data/' \
    -v mssql-log:'/var/opt/mssql/log' \
    -v mssql-backup:'/var/backups/' \
    -p 1433:1433 \
    -e 'MSSQL_MEMORY_LIMIT_MB=4096' \
    --memory="4096m" \
    --restart=unless-stopped \
    -d mcr.microsoft.com/mssql/server:2017-latest
    ALTERNATYWNIE:
    Mapujemy katalog /share/Public do katalogu /var/backups/ w kontenerze. Tym sposobem kopie zapasowe stworzone w katalogu /var/backups/ będą widoczne w katalogu /share/Public na Qnapie.
    Bash:
    docker run \
    --name 'mssql' \
    -e 'ACCEPT_EULA=Y' \
    -e 'MSSQL_PID=Express' \
    -e 'SA_PASSWORD=yourStrong(!)Password' \
    -v mssql-data:'/var/opt/mssql/data/' \
    -v mssql-log:'/var/opt/mssql/log' \
    -v /share/Public:'/var/backups/' \
    -p 1433:1433 \
    -e 'MSSQL_MEMORY_LIMIT_MB=4096' \
    --memory="4096m" \
    --restart=unless-stopped \
    -d mcr.microsoft.com/mssql/server:2017-latest

Opis istotnych części polecenia:
  • -e 'MSSQL_PID=Express' – jakiej edycji serwera SQL użyć - w tym przypadku Express, można podać swój klucz produktu. Domyślnie uruchamiany jest SQL Server Developer
  • -e 'SA_PASSWORD=yourStrong(!)Password' – po znaku = podajemy hasło do serwera SQL, tym hasłem będziemy się posługiwali w aplikacjach itd. Hasło powinno być trudne do odgadnięcia oraz wystarczająco długie / skomplikowane aby nie dało się go złamać metodą siłową.
  • -p 1433:1433 – port serwera (domyślny 1433), w większości aplikacji nie musimy podawać domyślnego portu połączenia.
  • -e 'MSSQL_MEMORY_LIMIT_MB=4096' --memory="4096m" – ustawiamy limit pamięci na 4096 MB - dopasowujemy tą wartość w zależności od przewidywanego obciążenia serwera (+20%) oraz możliwości QNAP-a.
Kompletny opis wszystkich zmiennych: Configure environment variables for SQL Server on Linux - SQL Server
Zmienne dockera: Docker run reference

Instalacja przez Portainer
  1. Tworzymy woluminy
    portainer-volume-create.png portainer-volume-list.png
  2. Tworzymy kontener podając te same wartości w odpowiednich polach
    portainer-create-container-1.png portainer-create-container-2.png portainer-create-container-3.png portainer-create-container-4.png portainer-create-container-5.png portainer-create-container-6.png

JAK PODŁĄCZYĆ SIĘ DO SERWERA?
W aplikacji klienckiej podajemy następujące informacje:
  • Nazwa serwera / host / adres serwera: ADRES IP QNAPA
  • Port (jeśli takie pole występuje): 1433 (lub ten który podaliśmy przy -p)
  • Użytkownik: sa
  • Hasło: hasło podane przy tworzeniu kontenera po SA_PASSWORD=
Czasami aplikacja nie ma pola na port możemy spróbować podać adres w formacie ADRES_IP:pORT np. 192.168.0.1:21433

IMPORTOWANIE / PRZYWRACANIE BAZY DANYCH
Jeśli posiadamy pliki .MDF oraz .LDF możemy spróbować podłączyć taką bazę do serwera SQL. Nie ma żadnej gwarancji, że to zadziała bo przyczyn może być wiele (niezgodne architektury serwera, nieobsługiwana wersja bazy / serwera itd.) ale jeśli nie mamy innej opcji to próbujemy :!
  1. Kopiujemy pliki bazy na wolumin mssql-data (zarówno plik MDF jak i LDF)
    db-attach-1.png
  2. Uruchamiamy SSMS i logujemy się do serwera
  3. Klikamy prawym przyciskiem na Databases i wybieramy Attach...
  4. Dodajemy plik i wskazujemy nasz plik MDF (LDF podłączy się automatycznie)
    db-attach-2.png
  5. Klikamy OK i czekamy
    db-attach-3.png
  6. Jeśli nie wystąpią błędy baza powinna pojawić się na liście i w aplikacji która ma jej używać - weryfikujemy czy zawiera dane których potrzebujemy.

Jeśli posiadamy plik .BAK/.BAC lub ogólnie plik z kopią bazy wykonaną z serwera SQL jest większa szansa na odzyskanie bazy.
  1. Kopiujemy plik kopii na wolumin mssql-backup (lub do katalogu który wskazaliśmy podczas tworzenia kontenera)
  2. Uruchamiamy SSMS i logujemy się do serwera
  3. Klikamy prawym przyciskiem na Databases i wybieramy Restore Database...
  4. Source zmieniamy na Device
    db-restore-1.png
  5. Klikamy na ... i dodajemy nasz plik .BAK/.BAC z lokalizacji /var/backups (jeśli go nie widać zmieniamy filtr na All Files (**)) i klikamy OK
    db-restore-2.png
  6. Klikamy OK i czekamy, pojawi się komunikat o zakończeniu operacji.
    db-restore-3.png
  7. Jeśli nie wystąpią błędy baza powinna pojawić się na liście i w aplikacji która ma jej używać - weryfikujemy czy zawiera dane których potrzebujemy
Linia komend:
  1. Kopiujemy plik kopii zapasowej do woluminu mssql-backup (lub do katalogu który wskazaliśmy podczas tworzenia kontenera)
  2. Logujemy się do serwera QNAP przez SSH
  3. Dostajemy się do kontenera przez polecenie:
    Bash:
    docker exec -i mssql /opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P 'yourStrong(!)Password'
  4. Wpisujemy polecenie odtworzenia kopii (zmieniamy nazwę bazy oraz nazwę pliku na własną)
    SQL:
    RESTORE DATABASE NAZWA_BAZY FROM DISK = '/var/backups/PLIK-KOPII.BAK'
    GO
    np.:
    SQL:
    RESTORE DATABASE CDN_FIRMA_DEMO FROM DISK = '/var/backups/CDN_FIRMA_DEMO-210101.BAK'
    GO
Dokumentacja polecenia RESTORE: RESTORE (Transact-SQL) - SQL Server

KOPIA ZAPASOWA BAZY DANYCH
Wykonać kopię bazy danych możemy na kilka sposobów. Podstawowym (ale nie zawsze bezpiecznym) będzie kopia samych plików MDF/LDF - zatrzymujemy kontener z serwerem, robimy kopię plików z woluminu mssql-data i uruchamiamy na nowo kontener.
Jednak lepszą metodą będzie zrobienie kopii bezpośrednio przez serwer bazy danych.
  1. Logujemy się do serwera QNAP przez SSH
  2. Dostajemy się do kontenera przez polecenie:
    Bash:
    docker exec -i mssql /opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P 'yourStrong(!)Password'
  3. Wpisujemy polecenie wykonania kopii (zmieniamy nazwę bazy na własną)
    SQL:
    BACKUP DATABASE NAZWA_BAZY TO DISK = '/var/backups/PLIK-KOPII.BAK'
    GO
    np.:
    SQL:
    BACKUP DATABASE CDN_FIRMA_DEMO TO DISK = '/var/backups/CDN_FIRMA_DEMO-210101.BAK'
    GO
  4. Tak stworzona kopia pojawi się w woluminie mssql-backup (lub w katalogu który wskazaliśmy przy tworzeniu kontenera) skąd możemy go skopiować w dowolne miejsce.
Aby zautomatyzować tworzenie kopii możemy wywoływać polecenie z crona:
Bash:
docker exec -i mssql /opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P 'yourStrong(!)Password' -Q "BACKUP DATABASE CDN_FIRMA_DEMO TO DISK = '/var/backups/CDN_FIRMA_DEMO.BAK'"
To polecenie wrzucamy tyle razy ile baz danych posiadamy (zmieniając nazwę bazy i pliku) lub tworzymy skrypt SQL np: Simple script to backup all SQL Server databases umieszczamy w woluminie mssql-backup i wywołujemy poleceniem:
Bash:
docker exec -i mssql /opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P 'yourStrong(!)Password' -i '/var/backups/backup-all.sql'

Dokumentacja polecenia BACKUP: BACKUP (Transact-SQL) - SQL Server

FAQ

P: Gdzie znajdę kopie zapasowe utworzone w Management Studio (lub z konsoli)? Na Qnapie nie mam folderu /var/backups/?!
O: Domyślnie przykład tworzy odrębny wolumin na kopie zapasowe. Aby odnaleźć ścieżkę do tego katalogu trzeba przez SSH wykonać polecenie:
Bash:
docker volume inspect mssql-backup | jq .[0].Mountpoint
W tej ścieżce znajdziesz swoje kopie.

Alternatywnym rozwiązaniem może być bezpośrednie podłączenie katalogu /var/backups/ kontenera do katalogu na Qnapie.
Podczas tworzenia kontenera należy zamienić jedną linię z
-v mssql-backup:'/var/backups/' \
na
-v /share/Public:'/var/backups/' \
Tym sposobem kopie wykonane do katalogu /var/backups/ wylądują w /share/Public na Qnapie.

P: Problemy z uruchomieniem wersji 2019 - brak możliwości połączenia z serwerem, serwer wali błędy w konsoli!
O: Najprawdopodobniej problem z prawami dostępu do katalogów. Rozwiazaniem jest dodanie praw 777 do katalogów zawierających twoje woluminy. np.:
Bash:
chmod -R 777 /share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/volumes/mssql-data
chmod -R 777 /share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/volumes/mssql-logs
chmod -R 777 /share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/volumes/mssql-backups
Dokładne ścieżki do woluminu można uzyskać poleceniem:
Bash:
docker volume inspect NAZWA_WOLUMINU | jq .[0].Mountpoint
https://forum.qnap.net.pl/threads/ts-x31k-i-docker-mssql.39858/post-177066


Jeśli macie jakieś uwagi, konstruktywną krytykę lub dodatkowe informacje warte umieszczenia piszcie, post będzie uzupełniany.
 
Witam

Po chwili przerwy znów zabieram się do pracy aby dostać się do plików backupów bazy w kontenerze i przenieść je na zasób w qnapie.
Z opisów jakie znalazłem trochę mnie to przerosło np. instalacja Portainer i boje się to spieprzyć ale przeanalizowałem to i chcę zrobić tak:

1. Loguję się po SSH do qnapa,
2. Sprawdzam mój kontener poleceniem:

docker container ls

upload_2021-11-30_21-44-13.png


3. Dostaję się do kontenera poleceniem biorąc dane z powyższej odpowiedzi

docker exec -i LomagSQL1 /opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P ‘moje hasło'

4. Mapuję udział sieciowy qnapa Folder BackupLomag na qnapie i zasób Shared w kontenerze

upload_2021-11-30_21-45-22.png



-v ~/BackupLomag:/Shared/

Czy po tym zabiegu po zrobieniu backupu bazy pojawi się udział sieciowy qnapa? I tam się pojawią moje pliki ? Czy coś mam poprawić w poleceniach ?


Dziękuję
 
1. rozumiem w sumie masz rację czyli robię bez tyldy i podaję zasób qnapa ogólny nie domowy usera? A co z loginem i hasłem do udziału ?

2. Backup na qnapie to folder gdzie mam pliki backupów. a shared to odczytałem z drzewa MSS Studio jak pokazałem to na poprzednim zdjęciu.

poleceniem w dokerze -v ~/Backup/BackupLomag:/Shared/

upload_2021-11-30_22-3-14.png

pigers dobrze zrozumiałem Twoje pytanie dotyczące mapowania ?
 
pomoż sobie samemu - zainstaluj WinSCP i podłącz się do QNAPa


upload_2021-11-30_22-20-38.png


po prawej (przeważnie jest to zdalny - czyli QNAP) przejdź do folderu gdzie CHCESZ mieć ten backup
i następnie dwa razy klinij w nagłówek
upload_2021-11-30_22-21-38.png

i tą ścieżkę wstaw do dockera zamiast tego "~/..."

uwierz mi .. to jest pierdoła - tylko trzeba się do tego przyzwyczaić.
 
dobra masz racje znalazłem miejsce na qnapie i ma postać
/share/CACHEDEV1_DATA/Backup/BackupLomag

Czy polecenie mapowania powinno wyglądac teraz tak

-v /share/CACHEDEV1_DATA/Backup/BackupLomag:/Shared/

i to mi zadziała nic nie sprdle...?
 
ok dzięki
Zalogowałem się do qnapa po ssh i dostaję się do kontenera ale po wpisaniu komendy

docker exec -i LomagSQL1 /opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P ‘moje hasło'

oczywiscie wpisuje hasło coś nie gra tylko stoi nie ma żadnego znaku zachęty
wpisanie polecenia mapowania
-v /share/CACHEDEV1_DATA/Backup/BackupLomag:/Shared/

nic nie daje

Mam porawne polecenie wejścia do mojego kontenera ?
 
ROzumiem Cie ale to musze ten zatrzymać czy jak ? no właśnie chcę tylko domapowac zasób
docker container ls

nie daje mi czasami innych danych jakie mam w poleceniu wejsia do kontenera ?
upload_2021-11-30_21-44-13-png.png


i nie powinno wyglądac inaczej patrzac na powyższe

docker exec -i LomagSQL1 /opt/mssql/bin/sqlcmd -S localhost -U sa -P ‘moje hasło'
to jak wpisać to razem bo jak podaję to się nic nie dzieje ...
Dostaje takie coś

upload_2021-11-30_23-30-24.png

mam na dziś dość niby da się ale się nie da ..
 
zainstaluj tego portainera - jest o niebo łatwiej
@Ms_ki - będziesz dalej bawił się przez tydzień, zamiast to sprawdzić w 10 minut ?
Przypominam że masz EDYTOWAĆ istniejący kontener ( w końcu masz instrukcje jak go zrobiłeś ?)
 
Hej. U mnie ruszyło to tak:
Bash:
[UserAdmin@MM ~]$ docker run \
> --name 'mssql' \
> -e 'ACCEPT_EULA=Y' \
> -e 'MSSQL_PID=Express' \
> -e 'SA_PASSWORD=tujakieśhasło' \
> -v mssql-data:'/share/CE_CACHEDEV1_DATA/Docker/data/' \
> -v mssql-log:'/share/CE_CACHEDEV1_DATA/Docker/log' \
> -p 1433:1433 \
> -e 'MSSQL_MEMORY_LIMIT_MB=4096' \
> --memory="4096m" \
> --restart=unless-stopped \
> mcr.microsoft.com/mssql/server
Unable to find image 'mcr.microsoft.com/mssql/server:latest' locally
latest: Pulling from mssql/server
6e66059d3f09: Pull complete
72f7cb869583: Pull complete
7947fa790a24: Pull complete
Digest: sha256:4f81d897a7373459d694c44fdd43f18ab30b762b177a4b9e6a2ca0e7406ca342
Status: Downloaded newer image for mcr.microsoft.com/mssql/server:latest
SQL Server 2022 will run as non-root by default.
This container is running as user mssql.
To learn more visit https://go.microsoft.com/fwlink/?linkid=2099216.
2023-04-24 09:08:16.11 Server      The licensing PID was successfully processed.                                                                The new edition is [Express Edition].
2023-04-24 09:08:17.00 Server      Setup step is copying system data file 'C:\te                                                               mplatedata\master.mdf' to '/var/opt/mssql/data/master.mdf'.
2023-04-24 09:08:17.13 Server      Did not find an existing master data file /va                                                               r/opt/mssql/data/master.mdf, copying the missing default master and other system                                                                database files. If you have moved the database location, but not moved the data                                                               base files, startup may fail. To repair: shutdown SQL Server, move the master da                                                               tabase to configured location, and restart.
2023-04-24 09:08:17.20 Server      Setup step is copying system data file 'C:\te                                                               mplatedata\mastlog.ldf' to '/var/opt/mssql/data/mastlog.ldf'.
2023-04-24 09:08:17.22 Server      Setup step is copying system data file 'C:\te                                                               mplatedata\model.mdf' to '/var/opt/mssql/data/model.mdf'.
2023-04-24 09:08:17.31 Server      Setup step is copying system data file 'C:\te                                                               mplatedata\modellog.ldf' to '/var/opt/mssql/data/modellog.ldf'.
2023-04-24 09:08:17.38 Server      Setup step is copying system data file 'C:\te                                                               mplatedata\msdbdata.mdf' to '/var/opt/mssql/data/msdbdata.mdf'.
2023-04-24 09:08:17.48 Server      Setup step is copying system data file 'C:\te                                                               mplatedata\msdblog.ldf' to '/var/opt/mssql/data/msdblog.ldf'.
2023-04-24 09:08:17.63 Server      Setup step is copying system data file 'C:\te                                                               mplatedata\model_replicatedmaster.mdf' to '/var/opt/mssql/data/model_replicatedm                                                               aster.mdf'.
2023-04-24 09:08:17.77 Server      Setup step is copying system data file 'C:\te                                                               mplatedata\model_replicatedmaster.ldf' to '/var/opt/mssql/data/model_replicatedm                                                               aster.ldf'.
2023-04-24 09:08:17.82 Server      Setup step is copying system data file 'C:\te                                                               mplatedata\model_msdbdata.mdf' to '/var/opt/mssql/data/model_msdbdata.mdf'.
2023-04-24 09:08:17.88 Server      Setup step is copying system data file 'C:\te                                                               mplatedata\model_msdblog.ldf' to '/var/opt/mssql/data/model_msdblog.ldf'.
2023-04-24 09:08:18.19 Server      Microsoft SQL Server 2022 (RTM-CU3) (KB502439                                                               6) - 16.0.4025.1 (X64)
        Mar 13 2023 19:10:08
        Copyright (C) 2022 Microsoft Corporation
        Express Edition (64-bit) on Linux (Ubuntu 20.04.6 LTS) <X64>
2023-04-24 09:08:18.22 Server      UTC adjustment: 0:00
2023-04-24 09:08:18.23 Server      (c) Microsoft Corporation.
2023-04-24 09:08:18.24 Server      All rights reserved.
2023-04-24 09:08:18.24 Server      Server process ID is 440.
2023-04-24 09:08:18.24 Server      Logging SQL Server messages in file '/var/opt                                                               /mssql/log/errorlog'.
2023-04-24 09:08:18.25 Server      Registry startup parameters:
         -d /var/opt/mssql/data/master.mdf
         -l /var/opt/mssql/data/mastlog.ldf
         -e /var/opt/mssql/log/errorlog
2023-04-24 09:08:18.27 Server      SQL Server detected 1 sockets with 4 cores pe                                                               r socket and 4 logical processors per socket, 4 total logical processors; using                                                                4 logical processors based on SQL Server licensing. This is an informational mes                                                               sage; no user action is required.
2023-04-24 09:08:18.28 Server      SQL Server is starting at normal priority bas                                                               e (=7). This is an informational message only. No user action is required.
2023-04-24 09:08:18.29 Server      Detected 3679 MB of RAM. This is an informati                                                               onal message; no user action is required.
2023-04-24 09:08:18.29 Server      Using conventional memory in the memory manag                                                               er.
2023-04-24 09:08:18.29 Server      Detected pause instruction latency: 152 cycle                                                               s.
2023-04-24 09:08:18.30 Server      Spin divider value used: 3
2023-04-24 09:08:18.31 Server      Page exclusion bitmap is enabled.
2023-04-24 09:08:18.44 Server      Buffer pool extension is not supported on Lin                                                               ux platform.
2023-04-24 09:08:18.44 Server      Buffer Pool: Allocating 65536 bytes for 44076                                                                hashPages.
2023-04-24 09:08:18.87 Server      Buffer pool extension is already disabled. No                                                                action is necessary.
2023-04-24 09:08:20.46 Server      Installing Client TLS certificates to the sto                                                               re.
2023-04-24 09:08:20.76 Server      Error searching first file in /var/opt/mssql/                                                               security/ca-certificates: 3(The system cannot find the path specified.)
2023-04-24 09:08:20.81 Server      CPU vectorization level(s) detected:  SSE SSE                                                               2 SSE3 SSSE3 SSE41 SSE42 POPCNT
2023-04-24 09:08:21.02 Server      Successfully initialized the TLS configuratio                                                               n. Allowed TLS protocol versions are ['1.0 1.1 1.2']. Allowed TLS ciphers are ['                                                               ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM                                                               -SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES256                                                               -SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA:AES256-GCM-SHA384:AES128-G                                                               CM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:!DHE-RSA-AES256-GCM-                                                               SHA384:!DHE-RSA-AES128-GCM-SHA256:!DHE-RSA-AES256-SHA:!DHE-RSA-AES128-SHA'].
2023-04-24 09:08:21.11 Server      Query Store settings initialized with enabled                                                                = 1,
2023-04-24 09:08:21.25 Server      The maximum number of dedicated administrator                                                                connections for this instance is '1'
2023-04-24 09:08:21.26 Server      Node configuration: node 0: CPU mask: 0x00000                                                               0000000000f:0 Active CPU mask: 0x000000000000000f:0. This message provides a des                                                               cription of the NUMA configuration for this computer. This is an informational m                                                               essage only. No user action is required.
2023-04-24 09:08:21.28 Server      Using dynamic lock allocation.  Initial alloc                                                               ation of 2500 Lock blocks and 5000 Lock Owner blocks per node.  This is an infor                                                               mational message only.  No user action is required.
2023-04-24 09:08:21.36 Server      In-Memory OLTP initialized on lowend machine.
2023-04-24 09:08:21.53 Server      [INFO] Created Extended Events session 'hkeng                                                               inexesession'
2023-04-24 09:08:21.68 Server      Database Instant File Initialization: enabled                                                               . For security and performance considerations see the topic 'Database Instant Fi                                                               le Initialization' in SQL Server Books Online. This is an informational message                                                                only. No user action is required.
2023-04-24 09:08:21.72 Server      CLR version v4.0.30319 loaded.
ForceFlush is enabled for this instance.
2023-04-24 09:08:21.74 Server      Total Log Writer threads: 2, Node CPUs: 2, No                                                               des: 1, Log Writer threads per CPU: 1, Log Writer threads per Node: 2
2023-04-24 09:08:21.77 Server      clwb is selected for pmem flush operation.
2023-04-24 09:08:21.80 Server      Software Usage Metrics is disabled.
2023-04-24 09:08:22.75 spid19s     [1]. Feature Status: PVS: 0. CTR: 0. Concurre                                                               ntPFSUpdate: 1. ConcurrentGAMUpdate: 1. ConcurrentSGAMUpdate: 1, CleanupUnderUse                                                               rTransaction: 0. TranLevelPVS: 0
2023-04-24 09:08:22.86 spid19s     Starting up database 'master'.
ForceFlush feature is enabled for log durability.
2023-04-24 09:08:23.06 spid19s     The tail of the log for database master is be                                                               ing rewritten to match the new sector size of 4096 bytes.  1024 bytes at offset                                                                396288 in file /var/opt/mssql/data/mastlog.ldf will be written.
2023-04-24 09:08:23.27 spid19s     Converting database 'master' from version 927                                                                to the current version 957.
2023-04-24 09:08:23.28 spid19s     Database 'master' running the upgrade step fr                                                               om version 927 to version 928.
2023-04-24 09:08:23.32 spid19s     Database 'master' running the upgrade step fr                                                               om version 928 to version 929.
2023-04-24 09:08:23.36 spid19s     Database 'master' running the upgrade step fr                                                               om version 929 to version 930.
2023-04-24 09:08:23.40 spid19s     Database 'master' running the upgrade step fr                                                               om version 930 to version 931.
2023-04-24 09:08:23.42 spid19s     Database 'master' running the upgrade step fr                                                               om version 931 to version 932.
2023-04-24 09:08:23.45 spid19s     Database 'master' running the upgrade step fr                                                               om version 932 to version 933.
2023-04-24 09:08:23.47 Server      Common language runtime (CLR) functionality i                                                               nitialized.
2023-04-24 09:08:23.53 spid19s     Database 'master' running the upgrade step fr                                                               om version 933 to version 934.
2023-04-24 09:08:23.76 spid19s     Database 'master' running the upgrade step fr                                                               om version 934 to version 935.
2023-04-24 09:08:24.18 spid19s     Database 'master' running the upgrade step fr                                                               om version 935 to version 936.
2023-04-24 09:08:24.25 spid19s     Database 'master' running the upgrade step fr                                                               om version 936 to version 937.
2023-04-24 09:08:24.27 spid19s     Database 'master' running the upgrade step fr                                                               om version 937 to version 938.
2023-04-24 09:08:24.33 spid19s     Database 'master' running the upgrade step fr                                                               om version 938 to version 939.
2023-04-24 09:08:24.35 spid19s     Database 'master' running the upgrade step fr                                                               om version 939 to version 940.
2023-04-24 09:08:24.36 spid19s     Database 'master' running the upgrade step fr                                                               om version 940 to version 941.
2023-04-24 09:08:24.37 spid19s     Database 'master' running the upgrade step fr                                                               om version 941 to version 942.
2023-04-24 09:08:24.38 spid19s     Database 'master' running the upgrade step fr                                                               om version 942 to version 943.
2023-04-24 09:08:24.55 spid19s     Database 'master' running the upgrade step fr                                                               om version 943 to version 944.
2023-04-24 09:08:24.56 spid19s     Database 'master' running the upgrade step fr                                                               om version 944 to version 945.
2023-04-24 09:08:24.69 spid19s     Database 'master' running the upgrade step fr                                                               om version 945 to version 946.
2023-04-24 09:08:24.71 spid19s     Database 'master' running the upgrade step fr                                                               om version 946 to version 947.
2023-04-24 09:08:24.72 spid19s     Database 'master' running the upgrade step fr                                                               om version 947 to version 948.
2023-04-24 09:08:24.72 spid19s     Database 'master' running the upgrade step fr                                                               om version 948 to version 949.
2023-04-24 09:08:24.81 spid19s     Database 'master' running the upgrade step fr                                                               om version 949 to version 950.
2023-04-24 09:08:24.83 spid19s     Database 'master' running the upgrade step fr                                                               om version 950 to version 951.
2023-04-24 09:08:24.87 spid19s     Database 'master' running the upgrade step fr                                                               om version 951 to version 952.
2023-04-24 09:08:24.87 spid19s     Database 'master' running the upgrade step fr                                                               om version 952 to version 953.
2023-04-24 09:08:24.90 spid19s     Database 'master' running the upgrade step fr                                                               om version 953 to version 954.
2023-04-24 09:08:24.91 spid19s     Database 'master' running the upgrade step fr                                                               om version 954 to version 955.
2023-04-24 09:08:24.94 spid19s     Database 'master' running the upgrade step fr                                                               om version 955 to version 956.
2023-04-24 09:08:25.14 spid19s     Database 'master' running the upgrade step fr                                                               om version 956 to version 957.
2023-04-24 09:08:25.65 spid28s     External governance manager initialized
2023-04-24 09:08:25.65 spid28s     Attribute synchronization manager initialized
2023-04-24 09:08:25.66 spid19s     SQL Server Audit is starting the audits. This                                                                is an informational message. No user action is required.
2023-04-24 09:08:25.79 spid19s     SQL Server Audit has started the audits. This                                                                is an informational message. No user action is required.
2023-04-24 09:08:25.85 spid19s     XE session 'system_health' started.
2023-04-24 09:08:25.99 spid19s     SQL Trace ID 1 was started by login "sa".
2023-04-24 09:08:26.01 spid50s     Password policy update was successful.
2023-04-24 09:08:26.04 spid19s     Server name is '4344997aa317'. This is an inf                                                               ormational message only. No user action is required.
2023-04-24 09:08:26.12 spid24s     [32767]. Feature Status: PVS: 0. CTR: 0. Conc                                                               urrentPFSUpdate: 1. ConcurrentGAMUpdate: 1. ConcurrentSGAMUpdate: 1, CleanupUnde                                                               rUserTransaction: 0. TranLevelPVS: 0
2023-04-24 09:08:26.12 spid19s     [4]. Feature Status: PVS: 0. CTR: 0. Concurre                                                               ntPFSUpdate: 1. ConcurrentGAMUpdate: 1. ConcurrentSGAMUpdate: 1, CleanupUnderUse                                                               rTransaction: 0. TranLevelPVS: 0
2023-04-24 09:08:26.13 spid53s     Always On: The availability replica manager i                                                               s starting. This is an informational message only. No user action is required.
2023-04-24 09:08:26.23 spid19s     Starting up database 'msdb'.
2023-04-24 09:08:26.23 spid24s     Starting up database 'mssqlsystemresource'.
2023-04-24 09:08:26.25 spid53s     Always On: The availability replica manager i                                                               s waiting for the instance of SQL Server to allow client connections. This is an                                                                informational message only. No user action is required.
2023-04-24 09:08:26.30 spid24s     The resource database build version is 16.00.                                                               4025. This is an informational message only. No user action is required.
2023-04-24 09:08:26.37 spid24s     [3]. Feature Status: PVS: 0. CTR: 0. Concurre                                                               ntPFSUpdate: 1. ConcurrentGAMUpdate: 1. ConcurrentSGAMUpdate: 1, CleanupUnderUse                                                               rTransaction: 0. TranLevelPVS: 0
2023-04-24 09:08:26.39 spid24s     Starting up database 'model'.
2023-04-24 09:08:26.40 spid19s     Converting database 'msdb' from version 927 t                                                               o the current version 957.
2023-04-24 09:08:26.40 spid19s     Database 'msdb' running the upgrade step from                                                                version 927 to version 928.
2023-04-24 09:08:26.56 spid19s     Database 'msdb' running the upgrade step from                                                                version 928 to version 929.
2023-04-24 09:08:26.56 spid50s     A self-generated certificate was successfully                                                                loaded for encryption.
2023-04-24 09:08:26.56 spid24s     The tail of the log for database model is bei                                                               ng rewritten to match the new sector size of 4096 bytes.  2048 bytes at offset 7                                                               5776 in file /var/opt/mssql/data/modellog.ldf will be written.
2023-04-24 09:08:26.71 spid50s     Server is listening on [ 'any' <ipv6> 1433] a                                                               ccept sockets 1.
2023-04-24 09:08:26.88 spid50s     Server is listening on [ 'any' <ipv4> 1433] a                                                               ccept sockets 1.
2023-04-24 09:08:26.92 spid24s     Converting database 'model' from version 927                                                                to the current version 957.
2023-04-24 09:08:26.94 spid50s     Dedicated administrator connection support wa                                                               s not started because it is disabled on this edition of SQL Server. If you want                                                                to use a dedicated administrator connection, restart SQL Server using the trace                                                                flag 7806. This is an informational message only. No user action is required.
2023-04-24 09:08:26.95 spid24s     Database 'model' running the upgrade step fro                                                               m version 927 to version 928.
2023-04-24 09:08:27.05 spid19s     Database 'msdb' running the upgrade step from                                                                version 929 to version 930.
2023-04-24 09:08:27.14 spid24s     Database 'model' running the upgrade step fro                                                               m version 928 to version 929.
2023-04-24 09:08:27.16 spid50s     Server is listening on [ ::1 <ipv6> 1431] acc                                                               ept sockets 1.
2023-04-24 09:08:27.18 spid50s     Server is listening on [ 127.0.0.1 <ipv4> 143                                                               1] accept sockets 1.
2023-04-24 09:08:27.19 spid19s     Database 'msdb' running the upgrade step from                                                                version 930 to version 931.
2023-04-24 09:08:27.19 spid50s     SQL Server is now ready for client connection                                                               s. This is an informational message; no user action is required.
2023-04-24 09:08:27.21 spid19s     Database 'msdb' running the upgrade step from                                                                version 931 to version 932.
2023-04-24 09:08:27.23 spid19s     Database 'msdb' running the upgrade step from                                                                version 932 to version 933.
2023-04-24 09:08:27.27 spid24s     Database 'model' running the upgrade step fro                                                               m version 929 to version 930.
2023-04-24 09:08:27.28 spid19s     Database 'msdb' running the upgrade step from                                                                version 933 to version 934.
2023-04-24 09:08:27.35 spid19s     Database 'msdb' running the upgrade step from                                                                version 934 to version 935.
2023-04-24 09:08:27.35 spid24s     Database 'model' running the upgrade step fro                                                               m version 930 to version 931.
2023-04-24 09:08:27.38 spid19s     Database 'msdb' running the upgrade step from                                                                version 935 to version 936.
2023-04-24 09:08:27.39 spid24s     Database 'model' running the upgrade step fro                                                               m version 931 to version 932.
2023-04-24 09:08:27.39 spid19s     Database 'msdb' running the upgrade step from                                                                version 936 to version 937.
2023-04-24 09:08:27.41 spid24s     Database 'model' running the upgrade step fro                                                               m version 932 to version 933.
2023-04-24 09:08:27.41 spid19s     Database 'msdb' running the upgrade step from                                                                version 937 to version 938.
2023-04-24 09:08:27.43 spid19s     Database 'msdb' running the upgrade step from                                                                version 938 to version 939.
2023-04-24 09:08:27.43 spid24s     Database 'model' running the upgrade step fro                                                               m version 933 to version 934.
2023-04-24 09:08:27.44 spid19s     Database 'msdb' running the upgrade step from                                                                version 939 to version 940.
2023-04-24 09:08:27.45 spid24s     Database 'model' running the upgrade step fro                                                               m version 934 to version 935.
2023-04-24 09:08:27.45 spid19s     Database 'msdb' running the upgrade step from                                                                version 940 to version 941.
2023-04-24 09:08:27.46 spid24s     Database 'model' running the upgrade step fro                                                               m version 935 to version 936.
2023-04-24 09:08:27.46 spid19s     Database 'msdb' running the upgrade step from                                                                version 941 to version 942.
2023-04-24 09:08:27.47 spid24s     Database 'model' running the upgrade step fro                                                               m version 936 to version 937.
2023-04-24 09:08:27.48 spid19s     Database 'msdb' running the upgrade step from                                                                version 942 to version 943.
2023-04-24 09:08:27.48 spid24s     Database 'model' running the upgrade step fro                                                               m version 937 to version 938.
2023-04-24 09:08:27.48 spid24s     Database 'model' running the upgrade step fro                                                               m version 938 to version 939.
2023-04-24 09:08:27.51 spid24s     Database 'model' running the upgrade step fro                                                               m version 939 to version 940.
2023-04-24 09:08:27.53 spid24s     Database 'model' running the upgrade step fro                                                               m version 940 to version 941.
2023-04-24 09:08:27.55 spid24s     Database 'model' running the upgrade step fro                                                               m version 941 to version 942.
2023-04-24 09:08:27.57 spid19s     Database 'msdb' running the upgrade step from                                                                version 943 to version 944.
2023-04-24 09:08:27.58 spid24s     Database 'model' running the upgrade step fro                                                               m version 942 to version 943.
2023-04-24 09:08:27.59 spid19s     Database 'msdb' running the upgrade step from                                                                version 944 to version 945.
2023-04-24 09:08:27.66 spid19s     Database 'msdb' running the upgrade step from                                                                version 945 to version 946.
2023-04-24 09:08:27.67 spid24s     Database 'model' running the upgrade step fro                                                               m version 943 to version 944.
2023-04-24 09:08:27.69 spid19s     Database 'msdb' running the upgrade step from                                                                version 946 to version 947.
2023-04-24 09:08:27.69 spid24s     Database 'model' running the upgrade step fro                                                               m version 944 to version 945.
2023-04-24 09:08:27.71 spid19s     Database 'msdb' running the upgrade step from                                                                version 947 to version 948.
2023-04-24 09:08:27.72 spid19s     Database 'msdb' running the upgrade step from                                                                version 948 to version 949.
2023-04-24 09:08:27.73 spid24s     Database 'model' running the upgrade step fro                                                               m version 945 to version 946.
2023-04-24 09:08:27.74 spid24s     Database 'model' running the upgrade step fro                                                               m version 946 to version 947.
2023-04-24 09:08:27.74 spid19s     Database 'msdb' running the upgrade step from                                                                version 949 to version 950.
2023-04-24 09:08:27.76 spid24s     Database 'model' running the upgrade step fro                                                               m version 947 to version 948.
2023-04-24 09:08:27.77 spid19s     Database 'msdb' running the upgrade step from                                                                version 950 to version 951.
2023-04-24 09:08:27.78 spid24s     Database 'model' running the upgrade step fro                                                               m version 948 to version 949.
2023-04-24 09:08:27.79 spid24s     Database 'model' running the upgrade step fro                                                               m version 949 to version 950.
2023-04-24 09:08:27.95 spid19s     Database 'msdb' running the upgrade step from                                                                version 951 to version 952.
2023-04-24 09:08:27.96 spid24s     Database 'model' running the upgrade step fro                                                               m version 950 to version 951.
2023-04-24 09:08:27.98 spid19s     Database 'msdb' running the upgrade step from                                                                version 952 to version 953.
2023-04-24 09:08:28.03 spid19s     Database 'msdb' running the upgrade step from                                                                version 953 to version 954.
2023-04-24 09:08:28.04 spid24s     Database 'model' running the upgrade step fro                                                               m version 951 to version 952.
2023-04-24 09:08:28.06 spid19s     Database 'msdb' running the upgrade step from                                                                version 954 to version 955.
2023-04-24 09:08:28.07 spid24s     Database 'model' running the upgrade step fro                                                               m version 952 to version 953.
2023-04-24 09:08:28.07 spid19s     Database 'msdb' running the upgrade step from                                                                version 955 to version 956.
2023-04-24 09:08:28.23 spid24s     Database 'model' running the upgrade step fro                                                               m version 953 to version 954.
2023-04-24 09:08:28.30 spid24s     Database 'model' running the upgrade step fro                                                               m version 954 to version 955.
2023-04-24 09:08:28.32 spid24s     Database 'model' running the upgrade step fro                                                               m version 955 to version 956.
2023-04-24 09:08:28.32 spid19s     Database 'msdb' running the upgrade step from                                                                version 956 to version 957.
2023-04-24 09:08:28.37 spid24s     Database 'model' running the upgrade step fro                                                               m version 956 to version 957.
2023-04-24 09:08:28.48 spid24s     Clearing tempdb database.
2023-04-24 09:08:28.82 spid24s     [2]. Feature Status: PVS: 0. CTR: 0. Concurre                                                               ntPFSUpdate: 1. ConcurrentGAMUpdate: 1. ConcurrentSGAMUpdate: 1, CleanupUnderUse                                                               rTransaction: 0. TranLevelPVS: 0
2023-04-24 09:08:28.83 spid24s     Starting up database 'tempdb'.
2023-04-24 09:08:29.09 spid53s     The Service Broker endpoint is in disabled or                                                                stopped state.
2023-04-24 09:08:29.11 spid53s     The Database Mirroring endpoint is in disable                                                               d or stopped state.
2023-04-24 09:08:29.11 spid19s     Recovery is complete. This is an informationa                                                               l message only. No user action is required.
2023-04-24 09:08:29.14 spid53s     Service Broker manager has started.
2023-04-24 09:08:29.21 spid27s     The default language (LCID 0) has been set fo                                                               r engine and full-text services.
2023-04-24 09:10:31.43 spid61      Attempting to load library 'xplog70.dll' into memory. This is an informational message only. No user action is required.
2023-04-24 09:10:32.69 spid61      Using 'xplog70.dll' version '2022.160.4025' to execute extended stored procedure 'xp_msver'. This is an informational message only; no user action is required.
^C2023-04-24 09:12:18.71 spid19s     Always On: The availability replica manager is going offline because SQL Server is shutting down. This is an informational message only. No user action is required.
2023-04-24 09:12:19.25 spid19s     SQL Server shutdown due to Ctrl-C or Ctrl-Break signal. This is an informational message only. No user action is required.
2023-04-24 09:12:20.49 spid19s     SQL Server Agent service is not running.
2023-04-24 09:12:20.60 spid19s     SQL Trace was stopped due to server shutdown. Trace ID = '1'. This is an informational message only; no user action is required.

Myłaby ktoś czas żeby sprawdzić tego loga, zanim załaduje tu bazy? Pozdrawiam
 
  • Fire
Reakcje: Silas Mariusz
@DeNiro nie wskazanie wersji oznacza pobranie ostatniej czytaj najnowszej ustal potrzeby i ustaw odpowiednią wersję dostępne masz tu Docker
[UserAdmin@MM ~]$ docker run \
> --name 'mssql' \
> -e 'ACCEPT_EULA=Y' \
> -e 'MSSQL_PID=Express' \
> -e 'SA_PASSWORD=tujakieśhasło' \
> -v mssql-data:'/share/CE_CACHEDEV1_DATA/Docker/data/' \
> -v mssql-log:'/share/CE_CACHEDEV1_DATA/Docker/log' \
> -p 1433:1433 \
> -e 'MSSQL_MEMORY_LIMIT_MB=4096' \
> --memory="4096m" \
> --restart=unless-stopped \
> mcr.microsoft.com/mssql/server

.. wersję specyfikujesz dodając wersję po nazwie obrazu poprzedzając dwukropkiem

> mcr.microsoft.com/mssql/server:TWOJA_WYMARZONA_WERSJA
 
@DeNiro nie wskazanie wersji oznacza pobranie ostatniej czytaj najnowszej ustal potrzeby i ustaw odpowiednią wersję dostępne masz tu Docker


.. wersję specyfikujesz dodając wersję po nazwie obrazu poprzedzając dwukropkie

Bash:
docker run \
> --name 'mmsql' \
> -e 'ACCEPT_EULA=Y' \
> -e 'MSSQL_PID=Express' \
> -e 'SA_PASSWORD=tujakieśhasło' \
> -v mmsql-data:'/var/opt/mssql/data/' \
> -v mmsql-log:'/var/opt/mssql/log' \
> -v /share/Public:'/var/backups/' \
> -p 1433:1433 \
> -e 'MSSQL_MEMORY_LIMIT_MB=4096' \
> --memory="4096m" \
> --restart=unless-stopped \
> -d mcr.microsoft.com/mssql/server:2022-latest
Unable to find image 'mcr.microsoft.com/mssql/server:2022-latest' locally
2022-latest: Pulling from mssql/server
6e66059d3f09: Pull complete
72f7cb869583: Pull complete
7947fa790a24: Pull complete
Digest: sha256:4f81d897a7373459d694c44fdd43f18ab30b762b177a4b9e6a2ca0e7406ca342
Status: Downloaded newer image for mcr.microsoft.com/mssql/server:2022-latest
5af91d60bc12caf982b38c83340ef7745777672ce71221bd010c377fbb110882

zwraca mi:

Bash:
SQL Server 2022 will run as non-root by default.
This container is running as user mssql.
To learn more visit https://go.microsoft.com/fwlink/?linkid=2099216.
2023-04-24 17:27:24.17 Server      Setup step is copying system data file 'C:\templatedata\master.mdf' to '/var/opt/mssql/data/master.mdf'.
2023-04-24 17:27:24.42 Server      ERROR: Setup FAILED copying system data file 'C:\templatedata\master.mdf' to '/var/opt/mssql/data/master.mdf':  5(Access is denied.)
ERROR: BootstrapSystemDataDirectories() failure (HRESULT 0x80070005)
 
I mi się wydaje że czymś jeszcze się różni ;) "-d"
Bardzo dziwnie i chaotycznie wpisujesz parametry czasem z apostrofem czasem nie czasem kawałek czas nie.
 
Dobra, wydaje się że znalazłam rozwiązanie:

Bash:
 docker run \
> --name 'mssql' \
> -e 'ACCEPT_EULA=Y' \
> --cap-add SYS_PTRACE \
> -u 0:0 \
> -e 'MSSQL_PID=Express' \
> -e 'SA_PASSWORD=tubyłohasło' \
> -v msql-data:'/var/opt/mssql/data/' \
> -v msql-log:'/var/opt/mssql/log' \
> -v /share/Public:'/var/backups/' \
> -p 1433:1433 \
> -e 'MSSQL_MEMORY_LIMIT_MB=4096' \
> --memory="4096m" \
> --restart=unless-stopped \
> -d mcr.microsoft.com/mssql/server:2022-latest

wydaje sie że na problem "no-root" pomogło :
> --cap-add SYS_PTRACE \
> -u 0:0 \
 

Użytkownicy znaleźli tą stronę używając tych słów:

  1. mssql
  2. non-root
  3. MSSQL_PID="Express" \
  4. brak dostępu do qnapa
  5. mssql w dokerze\
  6. mssql-server
  7. Failed to access the file.
  8. repozytorium
  9. docker status
  10. NAS instalacja Kontenera MSSQL
  11. portainer instalacja
  12. MSSQL W DOKERZE
  13. error 102
  14. sql server
  15. *
  16. jak zainstalować PDO mssql