MSSQL vNEXT 2017 Express- Slackware 14.2 X64
Dostępna jest wersja pełna MSSQL 2017 dla Platformy Linux !
https://packages.microsoft.com/ubuntu/18.04/ najnowsze wydania
Niestety wszystkie wydania jak do tej pory zostały oparte o dystrybucje RedHat, Ubuntu i SUSE z obsługą systemd
W załączeniu paczka txz z MSSQL dla Slackware
Do poprawnego działania potrzebne są biblioteki libc++ oraz numactl
Gotowe paczki przy linkach do slackbuildów
https://slackbuilds.org/repository/14.2/system/numactl/?search=libnuma –>numactl-2.0.10-x86_64-1_SBo
Do poprawnego zbudowania paczki z libc++ wymagane są biblioteki – w odpowiedniej kolejności:
https://slackbuilds.org/repository/14.2/libraries/libunwind/ –>libunwind-1.1-x86_64-1_SBo
https://slackbuilds.org/repository/14.2/development/docutils/–>docutils-0.12-x86_64-1_SBo
https://slackbuilds.org/repository/14.2/python/pytz/–>pytz-2016.10-x86_64-1_SBo
https://slackbuilds.org/repository/14.2/python/babel/–>babel-2.3.4-x86_64-1_SBo
https://slackbuilds.org/repository/14.2/python/six/–>six-1.10.0-x86_64-1_SBo
https://slackbuilds.org/repository/14.2/python/MarkupSafe/–>MarkupSafe-0.23-x86_64-1_SBo
https://slackbuilds.org/repository/14.2/libraries/Jinja2/–>Jinja2-2.7.3-x86_64-1_SBo
https://slackbuilds.org/repository/14.2/python/Pygments/–>Pygments-2.1.3-x86_64-1_SBo
https://slackbuilds.org/repository/14.2/python/python-requests/–>python-requests-2.13.0-x86_64-1_SBo
https://slackbuilds.org/repository/14.2/python/alabaster/–>alabaster-0.7.9-x86_64-1_SBo
https://slackbuilds.org/repository/14.2/python/imagesize/–>imagesize-0.7.1-x86_64-1_SBo
https://slackbuilds.org/repository/14.2/python/snowballstemmer/–>snowballstemmer-1.2.1-x86_64-1_SBo
https://slackbuilds.org/repository/14.2/development/Sphinx/–>Sphinx-1.5.5-x86_64-1_SBo
https://slackbuilds.org/repository/14.2/network/krb5/–>krb5-1.15.2-x86_64-1_SBo.tgz
Na koniec pakiet libc++ https://slackbuilds.org/repository/14.2/libraries/libc++/–>libc++-3.8.0-x86_64-1_SBo
MSSQL 2017 Express Build 4.0.3038.14-2 –>mssql-server_14.0.3038.14-2_amd64.txz
MSSQL 2017 tools–>mssql-tools_14.0.6.0-1_amd64
MSODBCSQL–>msodbcsql_13.1.9.2-1_amd64
Dodatkowe biblioteki dla wersji 14.0.3022-2 libsss_nss_idmap–>libsss_nss_idmap rozpakować do /usr/local/lib64
Pierwsza konfiguracja serwera poprzez /opt/mssql/bin/mssql-conf setup
Lista dostępnych opcji poprzez uruchomienie samego mssql-conf
nazwa serwera mssql vNEXT = nazwa hosta
przykładowy skrypt uruchomieniowy:
#!/bin/bash
#
# /etc/rc.d/rc.mssql
#
# Start/stop MSSQL
# Last modified: 03.01.2018
case „$1” in
'start’ )
echo „Start MSSQL”
nohup /opt/mssql/bin/sqlservr > /dev/null 2>&1 & echo $! > /var/run/sqlservr.pid
echo „MSSQL started.”
;;
'stop’)
echo „Stop MSSQL.”
pid=`cat /var/run/sqlservr.pid`
kill -s SIGINT $pid
rm /var/run/sqlservr.pid
echo „MSSQL Stopped.”
;;
*)
echo „usage $0 start|stop”
;;
esac
Tworzone bazy danych maja compatibility level 140 = mssql -vNext
Testowo baza płatnika o rozmiarze 4GB działa bez zarzutu zarówno w pierwotnym compatibility level 110 jak i w podniesionym do 140
Przydatne zapytania SQL
Podniesienie compatibility level:
ALTER DATABASE nazwa_bazy
SET COMPATIBILITY_LEVEL = 140;
GO
Sprawdzenie poziomu compatibility level:
USE nazwa_bazy;
GO
SELECT compatibility_level
FROM sys.databases WHERE name = 'nazwa_bazy’;
GO
AdHoc włączenie – dla Płatnika
sp_configure 'show advanced options’, 1;
RECONFIGURE;
GO
sp_configure 'Ad Hoc Distributed Queries’, 1;
RECONFIGURE;
GO
Dodanie nazwy serwera do sys.servers
EXEC sp_addlinkedserver @server=’Twoja_nazwa’
Sprawdzenie nazw linked server
select name from sys.servers
Po instalacji zmiana collation z domyślnego latin1 zanim uruchomimy serwer mssql
mssql-conf set-collation
wpisać: Polish_CI_AS
Jest to bardzo ważne jeżeli przenosimy bazy np pakietu firmy INSERT (Subiekt, Rewizor, Rachmistrz itp) jeżeli nie zmienimy kodowania serwera na kodowanie równe bazie danych przy aktualizacji podmiotów otrzymamy błąd 0x80040E14
Przykładowy skrypt backupu pojedynczej bazy danych
#!/bin/bash
#
KIEDY=`date +%F`
KATALOG=/katalog/przechowywania/kopii
/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P haslo_bazy -Q „BACKUP DATABASE [nazwa_bazy] TO DISK = N’$KATALOG/nazwa_bazy-$KIEDY.bak’ WITH NOFORMAT, NOINIT, NAME = 'nazwa_bazy-full’, SKIP, NOREWIND, STATS = 10”
gzip -9 $KATALOG/nazwa_bazy-$KIEDY.bak
Aktualności instrukcje oraz wersje MSSQL vNEXT na platforme LINUX
mssql-server_14.0.3022.28-2_amd64