MSSQL 2022 na Slackaware 15.0

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

MSSQL 2022 Build 16.0.950.9-1 –>mssql-server_16.0.950.9-1

MSSQL 2019 tools–>mssql-tools_17.7.1.1-1_amd64.txz

MSODBCSQL–>msodbcsql17_17.10.1.1-1

Dodatkowe biblioteki dla wersji 16.0.950.9-1 libsss_nss_idmap.0.6.0–>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 150 , czyli dalej mssql 2019
Testowo baza płatnika o rozmiarze 4GB działa bez zarzutu zarówno w pierwotnym compatibility level 110 jak i w podniesionym do 150

Przydatne zapytania SQL

Podniesienie compatibility level:
ALTER DATABASE nazwa_bazy
SET COMPATIBILITY_LEVEL = 150;
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

Korzystając z serwisu zgadzasz się na korzystanie z plików cookie. Więcej informacji

Aby zapewnić Tobie najwyższy poziom realizacji usługi, opcje ciasteczek na tej stronie są ustawione na "zezwalaj na pliki cookies". Kontynuując przeglądanie strony bez zmiany ustawień lub klikając przycisk "Akceptuję" zgadzasz się na ich wykorzystanie.

Zamknij