Konfigurera SQL Server på Linux med verktyget mssql-conf
gäller för:SQL Server – Linux
mssql-conf är ett konfigurationsskript som installeras med SQL Server 2017 (14.x) för Red Hat Enterprise Linux, SUSE Linux Enterprise Server och Ubuntu. Den ändrar filen mssql.conf där konfigurationsvärden lagras. Du kan använda mssql-conf-verktyget för att ange följande parametrar:
Parameter | Beskrivning |
---|---|
Agent | Aktivera SQL Server-agent. |
autentisera med Windows | Inställningar för Windows Server Active Directory-autentisering. |
sortering | Ange en ny sortering för SQL Server i Linux. |
Kundfeedback | Välj om SQL Server ska skicka feedback till Microsoft eller inte. |
Databaspostprofil | Ange standarddatabasens e-postprofil för SQL Server i Linux. |
Standarddatakatalog | Ändra standardkatalogen för nya SQL Server-databasdatafiler (.mdf). |
Standardloggkatalog | Ändrar standardkatalogen för nya SQL Server-databasloggfiler (.ldf). |
standardkatalog för huvuddatabasen | Ändrar standardkatalogen för master -databasen och loggfilerna. |
Standardnamn för huvuddatabasfil | Ändrar namnet på master databasfiler. |
Standarddumpkatalog | Ändra standardkatalogen för nya minnesdumpar och andra felsökningsfiler. |
Standardfelloggkatalog | Ändrar standardkatalogen för nya SQL Server-felloggar, Standardprofilerspårning, System Health Session XE och Hekaton Session XE-filer. |
standardkatalog för säkerhetskopiering | Ändra standardkatalogen för nya säkerhetskopieringsfiler. |
dumptyp | Välj vilken typ av dumpminnesdumpfil som ska samlas in. |
Edition | Ange utgåva av SQL Server. |
Hög tillgänglighet | Aktivera tillgänglighetsgrupper. |
Lokal granskningskatalog | Ange en katalog för att lägga till lokala granskningsfiler. |
nationella inställningar | Ange det språk som SQL Server ska använda. |
minnesgräns | Ange minnesgränsen för SQL Server. |
Nätverksinställningar | Ytterligare nätverksinställningar för SQL Server. |
Microsoft Distributed Transaction Coordinator | Konfigurera och felsöka MSDTC i Linux. |
TCP-port | Ändra porten där SQL Server lyssnar efter anslutningar. |
TLS- | Konfigurera säkerhet på transportnivå. |
Spårningsflaggor | Ange spårningsflaggor som tjänsten ska använda. |
mssql-conf är ett konfigurationsskript som installeras med SQL Server 2019 (15.x) för Red Hat Enterprise Linux, SUSE Linux Enterprise Server och Ubuntu. Du kan använda det här verktyget för att ange följande parametrar:
Parameter | Beskrivning |
---|---|
Agent | Aktivera SQL Server-agent |
autentisera med Windows | Inställningar för Windows Server Active Directory-autentisering. |
sortering | Ange en ny sortering för SQL Server i Linux. |
Kundfeedback | Välj om SQL Server ska skicka feedback till Microsoft eller inte. |
Databas-e-postprofil | Ange standarddatabasens e-postprofil för SQL Server i Linux. |
Standarddatakatalog | Ändra standardkatalogen för nya SQL Server-databasdatafiler (.mdf). |
Förvald loggkatalog | Ändrar standardkatalogen för nya SQL Server-databasloggfiler (.ldf). |
standardfilkatalog för huvuddatabasen | Ändrar standardkatalogen för master -databasfilerna vid befintlig SQL-installation. |
Standardnamn för huvuddatabasfil | Ändrar namnet på master databasfiler. |
Standarddumpkatalog | Ändra standardkatalogen för nya minnesdumpar och andra felsökningsfiler. |
Standardfelprotokollkatalog | Ändrar standardkatalogen för nya SQL Server-felloggar, Standardprofilerspårning, System Health Session XE och Hekaton Session XE-filer. |
standardkatalog för säkerhetskopiering | Ändra standardkatalogen för nya säkerhetskopieringsfiler. |
dumptyp | Välj vilken typ av dumpminnesdumpfil som ska samlas in. |
Utgåva | Ange utgåva av SQL Server. |
Hög tillgänglighet | Aktivera tillgänglighetsgrupper. |
Lokal Granskningskatalog | Ange en katalog för att lägga till lokala granskningsfiler. |
nationella inställningar | Ange det språk som SQL Server ska använda. |
minnesgräns | Ange minnesgränsen för SQL Server. |
Microsoft Distribuerad Transaktionskoordinator | Konfigurera och felsöka MSDTC i Linux. |
Machine Learning Services EULAs | Acceptera R- och Python-EUA:er för mlservices paket. Gäller endast för SQL Server 2019 (15.x). |
Nätverksinställningar | Ytterligare nätverksinställningar för SQL Server. |
utgåendenätverkåtkomst | Aktivera utgående nätverksåtkomst för Machine Learning Services R-, Python- och Java-tillägg. |
TCP-port | Ändra porten där SQL Server lyssnar efter anslutningar. |
TLS | Konfigurera säkerhet på transportnivå. |
Spårningsflaggor | Ange spårningsflaggor som tjänsten ska använda. |
mssql-conf är ett konfigurationsskript som installeras med SQL Server 2022 (16.x) för Red Hat Enterprise Linux och Ubuntu. Du kan använda det här verktyget för att ange följande parametrar:
Parameter | Beskrivning |
---|---|
Agent | Aktivera SQL Server-agent |
autentisera med Microsoft Entra ID | Inställningar för autentisering med Microsoft Entra-ID (tidigare Azure Active Directory). |
autentisera med Windows | Inställningar för Windows Server Active Directory-autentisering. |
Sammanställning | Ange en ny sortering för SQL Server i Linux. |
Kundfeedback | Välj om SQL Server ska skicka feedback till Microsoft eller inte. |
Databaspostprofil | Ange standarddatabasens e-postprofil för SQL Server i Linux. |
Standarddatakatalog | Ändra standardkatalogen för nya SQL Server-databasdatafiler (.mdf). |
Standardloggkatalog | Ändrar standardkatalogen för nya SQL Server-databasloggfiler (.ldf). |
standardfilkatalog för huvuddatabasen | Ändrar standardkatalogen för master -databasfilerna vid befintlig SQL-installation. |
Standardnamn för huvuddatabasfil | Ändrar namnet på master databasfiler. |
Standarddumpkatalog | Ändra standardkatalogen för nya minnesdumpar och andra felsökningsfiler. |
Standardfellägesloggkatalog | Ändrar standardkatalogen för nya SQL Server-felloggar, Standardprofilerspårning, System Health Session XE och Hekaton Session XE-filer. |
standardkatalog för säkerhetskopiering | Ändra standardkatalogen för nya säkerhetskopieringsfiler. |
dumptyp | Välj vilken typ av dumpminnesdumpfil som ska samlas in. |
Edition | Ange utgåva av SQL Server. |
Hög tillgänglighet | Aktivera tillgänglighetsgrupper. |
Lokal Granskningskatalog | Ange en katalog för att lägga till lokala granskningsfiler. |
nationella inställningar | Ange det språk som SQL Server ska använda. |
minnesgräns | Ange minnesgränsen för SQL Server. |
Microsoft Distributed Transaction Coordinator (Coordinator för distribuerade transaktioner från Microsoft) | Konfigurera och felsöka MSDTC i Linux. |
Maskininlärningstjänster EULAs | Acceptera R- och Python-EUA:er för mlservices paket. Gäller endast för SQL Server 2019 (15.x). |
Nätverksinställningar | Ytterligare nätverksinställningar för SQL Server. |
Utgående nätverksåtkomst | Aktivera utgående nätverksåtkomst för Machine Learning Services R-, Python- och Java-tillägg. |
SQL Server Connector | Konfigurera loggningsnivå för SQL Server Connector. |
TCP-port | Ändra porten där SQL Server lyssnar efter anslutningar. |
TLS | Konfigurera säkerhet på transportnivå. |
Spårningsflaggor | Ange spårningsflaggor som tjänsten ska använda. |
Tips
Vissa av de här inställningarna kan också konfigureras med miljövariabler. Mer information finns i Konfigurera SQL Server-inställningar med miljövariabler i Linux.
Användningstips
För AlwaysOn-tillgänglighetsgrupper och delade diskkluster gör du alltid samma konfigurationsändringar på varje nod.
För scenariot med delat diskkluster ska du inte försöka starta om
mssql-server
-tjänsten för att tillämpa ändringar. SQL Server körs som ett program. Ta i stället resursen offline och sedan online igen.Dessa exempel kör mssql-conf genom att ange den fullständiga sökvägen:
/opt/mssql/bin/mssql-conf
. Om du väljer att navigera till den sökvägen i stället kör du mssql-conf i kontexten för den aktuella katalogen:./mssql-conf
.Om du vill ändra filen
mssql.conf
i en container skapar du enmssql.conf
fil på värden på vilket du har containern körs med önskade inställningar och återinstallerar sedan containern. Följande tillägg till filenmssql.conf
aktiverar till exempel SQL Server Agent.[sqlagent] enabled = true
Du kan distribuera containern med följande kommandon:
docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=<password>" \ -p 5433:1433 --name sql1 \ -v /container/sql1:/var/opt/mssql \ -d mcr.microsoft.com/mssql/server:2019-latest
Försiktighet
Lösenordet bör följa SQL Server-standardprincipen för lösenord. Lösenordet måste som standard vara minst åtta tecken långt och innehålla tecken från tre av följande fyra uppsättningar: versaler, gemener, bas-10 siffror och symboler. Lösenord kan vara upp till 128 tecken långa. Använd lösenord som är så långa och komplexa som möjligt.
Mer information finns i Skapa de konfigurationsfiler som ska användas av SQL Server-containern.
Aktivera SQL Server-agent
Inställningen sqlagent.enabled
aktiverar SQL Server Agent. Som standard är SQL Server-agenten inaktiverad. Om sqlagent.enabled
inte finns i mssql.conf
-inställningsfilen förutsätter SQL Server internt att SQL Server-agenten är inaktiverad.
Om du vill ändra den här inställningen använder du följande steg:
Aktivera SQL Server-agenten:
sudo /opt/mssql/bin/mssql-conf set sqlagent.enabled true
Starta om SQL Server-tjänsten:
sudo systemctl restart mssql-server
Ange standardprofilen för Database Mail för SQL Server i Linux
Med sqlagent.databasemailprofile
kan du ange standardprofilen för DB Mail för e-postaviseringar.
sudo /opt/mssql/bin/mssql-conf set sqlagent.databasemailprofile <profile_name>
SQL Agent-felloggar
Med inställningarna sqlagent.errorlogfile
och sqlagent.errorlogginglevel
kan du ange sökvägen till SQL Agent-loggfilen respektive loggningsnivån.
sudo /opt/mssql/bin/mssql-conf set sqlagent.errorlogfile <path>
SQL Agent-loggningsnivåer är bitmaskvärden som är lika med:
-
1
= Fel -
2
= Varningar -
4
= Info
Om du vill samla in alla nivåer använder du 7
som värde.
sudo /opt/mssql/bin/mssql-conf set sqlagent.errorlogginglevel <level>
Konfigurera Microsoft Entra-autentisering
Från och med SQL Server 2022 (16.x) kan du konfigurera Microsoft Entra-ID för SQL Server. För att konfigurera Microsoft Entra-ID måste du installera Azure-tillägget för SQL Server efter installationen av SQL Server. Information om hur du konfigurerar Microsoft Entra-ID finns i Självstudie: Konfigurera Microsoft Entra-autentisering för SQL Server.
Ändra standardcertifikatsökvägen för Microsoft Entra ID
Som standard lagras Microsoft Entra-certifikatfilen i /var/opt/mssql/aadsecrets/
. Du kan ändra den här sökvägen om du använder ett certifikatarkiv eller en krypterad enhet. Om du vill ändra sökvägen kan du använda följande kommando:
sudo /opt/mssql/bin/mssql-conf set network.aadcertificatefilepath /path/to/new/location.pfx
I föregående exempel är /path/to/new/location.pfx
önskad sökväg inklusive certifikatnamnet.
Certifikatet för Microsoft Entra-autentisering, som laddas ned av Azure-tillägget för SQL Server, lagras på den här platsen. Du kan inte ändra den till /var/opt/mssql/secrets
.
Notera
Standardsökvägen för Microsoft Entra ID kan ändras när som helst efter att SQL Server har installerats, men måste ändras innan aktivering av Microsoft Entra ID.
Konfigurationsalternativ för Microsoft Entra-ID
Följande alternativ används av Microsoft Entra-autentisering för en instans av SQL Server som körs på Linux.
Varning
Microsoft Entra ID-parametrar konfigureras av Azure-tillägget för SQL Server och bör inte konfigureras om manuellt. De visas här i informationssyfte.
Alternativ | Beskrivning |
---|---|
network.aadauthenticationendpoint |
Slutpunkt för Microsoft Entra-autentisering |
network.aadcertificatefilepath |
Sökväg till certifikatfilen för autentisering till Microsoft Entra-ID |
network.aadclientcertblacklist |
Blockeringslista för Microsoft Entra-ID-klientcertifikat |
network.aadclientid |
Microsoft Entra-klient-GUID |
network.aadfederationmetadataendpoint |
Slutpunkt för Microsoft Entra-federationsmetadata |
network.aadgraphapiendpoint |
Slutpunkt för Azure AD Graph API |
network.aadgraphendpoint |
Azure AD Graph-slutpunkt |
network.aadissuerurl |
URL för Microsoft Entra utfärdare |
network.aadmsgraphendpoint |
Microsoft Entra MS Graph Endpoint |
network.aadonbehalfofauthority |
Microsoft Entra-ID på uppdrag av myndighet |
network.aadprimarytenant |
Microsoft Entra Primär Tenant GUID |
network.aadsendx5c |
Microsoft Entra ID Send X5C |
network.aadserveradminname |
Namnet på det Microsoft Entra-konto som ska göras till sysadmin |
network.aadserveradminsid |
SID för Microsoft Entra-kontot som kommer att bli sysadmin |
network.aadserveradmintype |
Typ av Microsoft Entra-konto som kommer att göras till sysadmin |
network.aadserviceprincipalname |
Tjänstens huvudnamn för Microsoft Entra |
network.aadserviceprincipalnamenoslash |
Microsoft Entra-tjänstens huvudnamn, utan snedstreck |
network.aadstsurl |
Microsoft Entra STS-URL |
Konfigurera Windows Active Directory-autentisering
Alternativet setup-ad-keytab
kan användas för att skapa en nyckelflik, men användaren och tjänstens huvudnamn (SPN) måste ha skapats för att kunna använda det här alternativet. Active Directory-verktyget adutil kan användas för att skapa användare, SPN och nyckelflikar.
Kör följande kommando för alternativ för att använda setup-ad-keytab
:
sudo /opt/mssql/bin/mssql-conf setup-ad-keytab --help
Alternativet validate-ad-config
verifierar konfigurationen för Active Directory-autentisering.
Ändra SQL Server-kollation
Alternativet set-collation
ändrar kollationsvärdet till någon av de kollationer som stöds. För att göra den här ändringen måste SQL Server-tjänsten stoppas.
Först säkerhetskopiera alla användardatabaser på din server.
Du kan sedan använda den sp_detach_db lagrade proceduren för att koppla bort användardatabaserna.
Kör alternativet
set-collation
och följ anvisningarna:sudo /opt/mssql/bin/mssql-conf set-collation
Verktyget mssql-conf försöker ändra till det angivna sorteringsvärdet och starta om tjänsten. Om det finns några fel återställs sorteringen till föregående värde.
Återställ säkerhetskopior av användardatabasen.
För att få en lista över de sorteringar som stöds, kör funktionen sys.fn_helpcollations: SELECT Name from sys.fn_helpcollations()
.
Konfigurera kundfeedback
Inställningen telemetry.customerfeedback
ändrar om SQL Server skickar feedback till Microsoft eller inte. Som standard är det här värdet inställt på true
för alla utgåvor. Om du vill ändra värdet kör du följande kommandon:
Viktig
Du kan inte inaktivera kundfeedback för kostnadsfria utgåvor av SQL Server, Express och Developer.
Kör skriptet mssql-conf som root-användare med kommandot
set
förtelemetry.customerfeedback
. I följande exempel inaktiveras kundfeedback genom att angefalse
.sudo /opt/mssql/bin/mssql-conf set telemetry.customerfeedback false
Starta om SQL Server-tjänsten:
sudo systemctl restart mssql-server
Mer information finns i Konfigurera insamling av användnings- och diagnostikdata för SQL Server på Linux och SQL Server-sekretesstillägget.
Ändra standardplatsen för data eller loggkatalog
Inställningarna för filelocation.defaultdatadir
och filelocation.defaultlogdir
ändrar platsen där den nya databasen och loggfilerna skapas. Som standard är den här platsen /var/opt/mssql/data
. Om du vill ändra de här inställningarna använder du följande steg:
Skapa målkatalogen för nya databasdata och loggfiler. I följande exempel skapas en ny
/tmp/data
katalog:sudo mkdir /tmp/data
Ändra ägare och grupp för katalogen till användaren
mssql
.sudo chown mssql /tmp/data sudo chgrp mssql /tmp/data
Använd mssql-conf för att ändra standarddatakatalogen med kommandot
set
:sudo /opt/mssql/bin/mssql-conf set filelocation.defaultdatadir /tmp/data
Starta om SQL Server-tjänsten:
sudo systemctl restart mssql-server
Nu lagras alla databasfiler för de nya databaser som skapats på den här nya platsen. Om du vill ändra platsen för loggfilerna (.ldf) för de nya databaserna kan du använda följande
set
kommando:sudo /opt/mssql/bin/mssql-conf set filelocation.defaultlogdir /tmp/log
Det här kommandot förutsätter också att det finns en /tmp/log-katalog och att den finns under användaren och gruppen
mssql
.
Ändra standardplatsen för master
databasfilkatalog
Inställningen filelocation.masterdatafile
och filelocation.masterlogfile
ändrar platsen där SQL Server Database Engine söker efter master
databasfiler. Som standard är den här platsen /var/opt/mssql/data
.
Om du vill ändra de här inställningarna använder du följande steg:
Skapa målkatalogen för nya felloggfiler. I följande exempel skapas en ny
/tmp/masterdatabasedir
katalog:sudo mkdir /tmp/masterdatabasedir
Ändra ägare och grupp för katalogen till användaren
mssql
.sudo chown mssql /tmp/masterdatabasedir sudo chgrp mssql /tmp/masterdatabasedir
Använd mssql-conf för att ändra standardkatalogen
master
databas för huvuddata och loggfiler med kommandotset
:sudo /opt/mssql/bin/mssql-conf set filelocation.masterdatafile /tmp/masterdatabasedir/master.mdf sudo /opt/mssql/bin/mssql-conf set filelocation.masterlogfile /tmp/masterdatabasedir/mastlog.ldf
Obs
Förutom att flytta huvuddata och loggfiler flyttas även standardplatsen för alla andra systemdatabaser.
Stoppa SQL Server-tjänsten:
sudo systemctl stop mssql-server
Flytta
master.mdf
- ochmastlog.ldf
-filerna:sudo mv /var/opt/mssql/data/master.mdf /tmp/masterdatabasedir/master.mdf sudo mv /var/opt/mssql/data/mastlog.ldf /tmp/masterdatabasedir/mastlog.ldf
Starta SQL Server-tjänsten:
sudo systemctl start mssql-server
Not
Om SQL Server inte kan hitta
master.mdf
ochmastlog.ldf
filer i den angivna katalogen skapas automatiskt en mallkopia av systemdatabaserna i den angivna katalogen och SQL Server startas. Metadata som användardatabaser, serverinloggningar, servercertifikat, krypteringsnycklar, SQL-agentjobb eller gamlasa
lösenord uppdateras dock inte i den nyamaster
databasen. Du måste stoppa SQL Server och flytta din gamlamaster.mdf
ochmastlog.ldf
till den nya angivna platsen och starta SQL Server för att fortsätta använda befintliga metadata.
Ändra namnet på master
databasfiler
Inställningen filelocation.masterdatafile
och filelocation.masterlogfile
ändrar platsen där SQL Server Database Engine söker efter master
databasfiler. Du kan också använda detta för att ändra namnet på master
-databasen och loggfilerna.
Om du vill ändra de här inställningarna använder du följande steg:
Stoppa SQL Server-tjänsten:
sudo systemctl stop mssql-server
Använd mssql-conf för att ändra de förväntade
master
databasnamnen förmaster
data och loggfiler med kommandotset
:sudo /opt/mssql/bin/mssql-conf set filelocation.masterdatafile /var/opt/mssql/data/masternew.mdf sudo /opt/mssql/bin/mssql-conf set filelocation.mastlogfile /var/opt/mssql/data/mastlognew.ldf
Viktig
Du kan bara ändra namnet på
master
-databasen och loggfilerna när SQL Server har startats. Innan den första körningen förväntar sig SQL Server att filerna namngesmaster.mdf
ochmastlog.ldf
.Ändra namnet på
master
databasdata och loggfiler:sudo mv /var/opt/mssql/data/master.mdf /var/opt/mssql/data/masternew.mdf sudo mv /var/opt/mssql/data/mastlog.ldf /var/opt/mssql/data/mastlognew.ldf
Starta SQL Server-tjänsten:
sudo systemctl start mssql-server
Ändra standardplatsen för dumpkatalogen
Inställningen filelocation.defaultdumpdir
ändrar standardplatsen där minnet och SQL-dumparna genereras när det uppstår en krasch. Som standard genereras dessa filer i /var/opt/mssql/log
.
Om du vill konfigurera den här nya platsen använder du följande kommandon:
Skapa målkatalogen för nya dumpfiler. I följande exempel skapas en ny
/tmp/dump
katalog:sudo mkdir /tmp/dump
Ändra ägare och grupp för katalogen till den
mssql
användaren:sudo chown mssql /tmp/dump sudo chgrp mssql /tmp/dump
Använd mssql-conf för att ändra standarddatakatalogen med kommandot
set
:sudo /opt/mssql/bin/mssql-conf set filelocation.defaultdumpdir /tmp/dump
Starta om SQL Server-tjänsten:
sudo systemctl restart mssql-server
Ändra standardplatsen för felloggfilens katalog
Inställningen filelocation.errorlogfile
ändrar platsen där den nya felloggen, standardspårningen för profilerare, systemhälsosessionen XE och Hekaton-sessionens XE-filer skapas. Som standard är den här platsen /var/opt/mssql/log
. Katalogen där SQL Server-felloggfilen anges blir standardloggkatalogen för andra loggar.
Så här ändrar du inställningarna:
Skapa målkatalogen för nya felloggfiler. I följande exempel skapas en ny
/tmp/logs
katalog:sudo mkdir /tmp/logs
Ändra ägare och grupp för katalogen till användaren
mssql
.sudo chown mssql /tmp/logs sudo chgrp mssql /tmp/logs
Använd mssql-conf för att ändra standardfelloggfilnamnet med kommandot
set
:sudo /opt/mssql/bin/mssql-conf set filelocation.errorlogfile /tmp/logs/errorlog
Starta om SQL Server-tjänsten:
sudo systemctl restart mssql-server
Med inställningen errorlog.numerrorlogs
kan du ange antalet felloggar som sparas innan loggen roteras.
Ändra standardplatsen för säkerhetskopieringskatalogen
Inställningen filelocation.defaultbackupdir
ändrar standardplatsen där säkerhetskopieringsfilerna genereras. Som standard genereras dessa filer i /var/opt/mssql/data
.
Om du vill konfigurera den här nya platsen använder du följande kommandon:
Skapa målkatalogen för nya säkerhetskopieringsfiler. I följande exempel skapas en ny
/tmp/backup
katalog:sudo mkdir /tmp/backup
Ändra ägare och grupp för katalogen till användaren
mssql
:sudo chown mssql /tmp/backup sudo chgrp mssql /tmp/backup
Använd mssql-conf för att ändra standardkatalogen för säkerhetskopiering med kommandot
set
:sudo /opt/mssql/bin/mssql-conf set filelocation.defaultbackupdir /tmp/backup
Starta om SQL Server-tjänsten:
sudo systemctl restart mssql-server
Ange inställningar för kärndumpar
Om ett undantag eller en krasch inträffar i någon av SQL Server-processerna skapar SQL Server en minnesdump. Det kan ta lång tid att samla in en minnesdump och ta upp mycket utrymme. Om du vill spara resurser och undvika upprepade minnesdumpar kan du inaktivera automatisk dumpinsamling med hjälp av alternativet coredump.disablecoredump
.
sudo /opt/mssql/bin/mssql-conf set coredump.disablecoredump <true or false>
Användare kan fortfarande generera minnesdumpar manuellt när automatisk kärndump är inaktiverad (coredump.disablecoredump
inställd på true
).
Det finns två alternativ för att styra vilken typ av minnesdumpar som SQL Server samlar in: coredump.coredumptype
och coredump.captureminiandfull
. Dessa relaterar till de två faserna av kärndumpfångst.
Den första fasens avbildning styrs av inställningen coredump.coredumptype
, som avgör vilken typ av dumpfil som genereras under ett undantag. Den andra fasen aktiveras när inställningen coredump.captureminiandfull
är angiven. Om coredump.captureminiandfull
är inställt på true genereras dumpfilen som anges av coredump.coredumptype
och en andra minidump genereras också. Om coredump.captureminiandfull
anges till false inaktiveras det andra avbildningsförsöket.
Bestäm om du vill samla in både mini- och fullständiga dumpar med inställningen
coredump.captureminiandfull
.sudo /opt/mssql/bin/mssql-conf set coredump.captureminiandfull <true or false>
Standard:
false
Ange typ av dumpfil med inställningen
coredump.coredumptype
.sudo /opt/mssql/bin/mssql-conf set coredump.coredumptype <dump_type>
Standard:
miniplus
I följande tabell visas möjliga
coredump.coredumptype
värden.Typ Beskrivning mini
Mini är den minsta dumpfiltypen. Den använder Linux-systeminformationen för att fastställa trådar och moduler i processen. Dumpen innehåller endast trådstackar och moduler för värdmiljön. Den innehåller inte indirekta minnesreferenser eller globaler. miniplus
MiniPlus liknar mini, men det innehåller ytterligare minne. Den förstår det interna i SQLPAL och värdmiljön och lägger till följande minnesregioner på dumpen:
- Olika globaler
– Allt minne över 64 TB
– Alla namngivna regioner som finns i/proc/$pid/maps
– Indirekt minne från trådar och staplar
– Trådinformation, inklusive associerade trådmiljöblock (TEB) och processmiljöblock (PEB)
– Modulinformation
– VMM- och VAD-trädfiltered
Filtrerad använder en subtraktionsbaserad design där allt minne i processen inkluderas om inte uttryckligen exkluderas. Designen förstår det interna i SQLPAL och värdmiljön, exklusive vissa regioner från dumpen. full
En fullständig processdump som innehåller alla regioner som finns i /proc/$pid/maps
. Detta styrs inte av inställningencoredump.captureminiandfull
.
Utgåva
Versionen av SQL Server kan ändras med hjälp av alternativet set-edition
. Om du vill ändra utgåva av SQL Server måste SQL Server-tjänsten först stoppas. Mer information om tillgängliga SQL Server på Linux-utgåvor finns i SQL Server-utgåvor.
Hög tillgänglighet
Alternativet hadr.hadrenabled
aktiverar tillgänglighetsgrupper på din SQL Server-instans. Följande kommando aktiverar tillgänglighetsgrupper genom att ange hadr.hadrenabled
till 1. Du måste starta om SQL Server för att inställningen ska börja gälla.
sudo /opt/mssql/bin/mssql-conf set hadr.hadrenabled 1
sudo systemctl restart mssql-server
Information om hur detta används med tillgänglighetsgrupper finns i följande två artiklar.
- Konfigurera SQL Server AlwaysOn-tillgänglighetsgrupp för hög tillgänglighet i Linux
- Konfigurera en SQL Server-tillgänglighetsgrupp för lässkalning i Linux
Ange lokal granskningskatalog
Inställningen telemetry.userrequestedlocalauditdirectory
aktiverar Lokal granskning och låter dig ange katalogen där loggarna för lokal granskning skapas.
Skapa en målkatalog för nya lokala granskningsloggar. I följande exempel skapas en ny
/tmp/audit
katalog:sudo mkdir /tmp/audit
Ändra ägare och grupp för katalogen till användare
mssql
.sudo chown mssql /tmp/audit sudo chgrp mssql /tmp/audit
Kör skriptet mssql-conf som root med kommandot
set
förtelemetry.userrequestedlocalauditdirectory
:sudo /opt/mssql/bin/mssql-conf set telemetry.userrequestedlocalauditdirectory /tmp/audit
Starta om SQL Server-tjänsten:
sudo systemctl restart mssql-server
Mer information finns i Konfigurera insamling av användnings- och diagnostikdata för SQL Server i Linux.
Ändra språkvarianten för SQL Server
Inställningen language.lcid
ändrar SQL Servers språkområde till vilken som helst av de språkidentifierare (LCID) som stöds.
I följande exempel ändras nationella inställningar till franska (1036):
sudo /opt/mssql/bin/mssql-conf set language.lcid 1036
Starta om SQL Server-tjänsten för att tillämpa ändringarna:
sudo systemctl restart mssql-server
Ange minnesgränsen
Inställningen memory.memorylimitmb
styr mängden fysiskt minne (i MB) som är tillgängligt för SQL Server. Standardvärdet är 80% av det fysiska minnet för att förhindra minnesbristsituationer.
Viktig
Inställningen memory.memorylimitmb
begränsar mängden fysiskt minne tillgängligt för SQL Server-processen. Inställningen maximalt serverminne (MB) kan användas för att justera mängden minne som är tillgängligt för SQL Server buffertpoolen, men den kan aldrig överskrida mängden fysiskt minne som är tillgängligt för SQL Server. Mer information om maximalt serverminne (MB) serverkonfigurationsalternativ finns i Alternativ för serverminneskonfiguration.
Kör skriptet mssql-conf som rot med kommandot
set
förmemory.memorylimitmb
. I följande exempel ändras det minne som är tillgängligt för SQL Server till 3,25 GB (3 328 MB).sudo /opt/mssql/bin/mssql-conf set memory.memorylimitmb 3328
Starta om SQL Server-tjänsten för att tillämpa ändringarna:
sudo systemctl restart mssql-server
Ytterligare minnesinställningar
Följande alternativ är tillgängliga för minnesinställningarna.
Alternativ | Beskrivning |
---|---|
memory.disablememorypressure |
SQL Server inaktiverar minnestryck. Värden kan vara true eller false (standard). Inaktivering av minnestryck hämmar de signaler som SQL Server använder för att begränsa användningen av fysiskt minne till memory.memorylimitmb , vilket gör att användningen så småningom överskrider den gränsen. |
memory.memory_optimized |
Aktivera eller inaktivera minnesoptimerade funktioner i SQL Server – beständiga minnesfilsupplysningar, minnesskydd. Värden kan vara true eller false . |
memory.enablecontainersharedmemory |
Gäller endast för SQL Server-containrar. Använd den här inställningen för att aktivera delat minne i SQL Server-containrar. Mer information finns iAktivera VDI-säkerhetskopiering och återställning i containrar. Värden kan vara true eller false (standard). |
Konfigurera MSDTC
Inställningarna network.rpcport
och distributedtransaction.servertcpport
används för att konfigurera MsDTC (Microsoft Distributed Transaction Coordinator). Om du vill ändra de här inställningarna kör du följande kommandon:
Kör skriptet mssql-conf som root-användare med kommandot
set
förnetwork.rpcport
:sudo /opt/mssql/bin/mssql-conf set network.rpcport <rcp_port>
Ange sedan inställningen
distributedtransaction.servertcpport
:sudo /opt/mssql/bin/mssql-conf set distributedtransaction.servertcpport <servertcpport_port>
Förutom att ange dessa värden måste du även konfigurera routning och uppdatera brandväggen för port 135. Mer information om hur du gör detta finns i Så här konfigurerar du Microsoft Distributed Transaction Coordinator (MSDTC) på Linux.
Det finns flera andra inställningar för mssql-conf som du kan använda för att övervaka och felsöka MSDTC. I följande tabell beskrivs dessa inställningar kortfattat. Mer information om hur de används finns i artikeln om Windows-support, Aktivera diagnostikspårning för MS DTC på en Windows 10-dator.
Alternativ | Beskrivning |
---|---|
distributedtransaction.allowonlysecurerpccalls |
Konfigurera endast säkra RPC-anrop för distribuerade transaktioner |
distributedtransaction.fallbacktounsecurerpcifnecessary |
Konfigurera säkerhetsendast RPC-anrop för distribuerade transaktioner |
distributedtransaction.maxlogsize |
DTC-transaktionsloggfilstorlek i MB. Standardvärdet är 64 MB |
distributedtransaction.memorybuffersize |
Cirkulär buffertstorlek där spårningar lagras. Den här storleken är i MB och standardvärdet är 10 MB |
distributedtransaction.servertcpport |
MSDTC RPC-serverport |
distributedtransaction.trace_cm |
Spårningar i anslutningshanteraren |
distributedtransaction.trace_contact |
Spårar kontaktpoolen och kontakterna |
distributedtransaction.trace_gateway |
Spårar Gateway-källa |
distributedtransaction.trace_log |
Loggspårning |
distributedtransaction.trace_misc |
Spårningar som inte kan kategoriseras i de andra kategorierna |
distributedtransaction.trace_proxy |
Spårningar som genereras i MSDTC-proxyn |
distributedtransaction.trace_svc |
Spårningstjänst och uppstart av .exe-fil |
distributedtransaction.trace_trace |
Själva spårningsinfrastrukturen |
distributedtransaction.trace_util |
Spårar verktygsrutiner som anropas från flera platser |
distributedtransaction.trace_xa |
XA Transaction Manager-spårningskälla (XATM) |
distributedtransaction.tracefilepath |
Mapp där spårningsfiler ska lagras |
distributedtransaction.turnoffrpcsecurity |
Aktivera eller inaktivera RPC-säkerhet för distribuerade transaktioner |
Acceptera EULA:erna för Machine Learning Services
Om du lägger till R- eller Python-paket för maskininlärning till databasmotorn måste du godkänna licensvillkoren för distributioner med öppen källkod för R och Python. I följande tabell räknas alla tillgängliga kommandon eller alternativ som är relaterade till mlservices
EUA: er. Samma EULA-parameter används för R och Python, beroende på vad du har installerat.
# For all packages: database engine and mlservices
# Setup prompts for mlservices EULAs, which you need to accept
sudo /opt/mssql/bin/mssql-conf setup
# Add R or Python to an existing installation
sudo /opt/mssql/bin/mssql-conf setup accept-eula-ml
# Alternative valid syntax
# Adds the EULA section to the INI and sets acceptulam to yes
sudo /opt/mssql/bin/mssql-conf set EULA accepteulaml Y
# Rescind EULA acceptance and removes the setting
sudo /opt/mssql/bin/mssql-conf unset EULA accepteulaml
Du kan också lägga till EULA-godkännande direkt i filen mssql.conf:
[EULA]
accepteula = Y
accepteulaml = Y
Aktivera utgående nätverksåtkomst
Utgående nätverksåtkomst för R-, Python- och Java-tillägg i SQL Server Machine Learning Services-funktionen är inaktiverad som standard. Om du vill aktivera utgående begäranden, ange egenskapen outboundnetworkaccess
boolean med hjälp av mssql-conf.
När du har angett egenskapen startar du om SQL Server Launchpad-tjänsten för att läsa de uppdaterade värdena från INI-filen. Ett omstartsmeddelande påminner dig när en utökningsrelaterad inställning ändras.
# Adds the extensibility section and property.
# Sets "outboundnetworkaccess" to true.
# This setting is required if you want to access data or operations off the server.
sudo /opt/mssql/bin/mssql-conf set extensibility outboundnetworkaccess 1
# Turns off network access but preserves the setting
sudo /opt/mssql/bin/mssql-conf set extensibility outboundnetworkaccess 0
# Removes the setting and rescinds network access
sudo /opt/mssql/bin/mssql-conf unset extensibility.outboundnetworkaccess
Du kan också lägga till outboundnetworkaccess
direkt i filen mssql.conf:
[extensibility]
outboundnetworkaccess = 1
Ändra loggningsnivå för SQL Server Connector för Azure Key Vault
I SQL Server 2022 (16.x) CU 14 och senare versioner stöder SQL Server på Linux TDE Extensible Key Management med Azure Key Vault. Du kan ange loggningsnivån till något av följande värden:
Nivå | Beskrivning |
---|---|
0 (standardinställning) |
Information |
1 |
Fel |
2 |
Ingen logg |
Om du vill ändra loggningsnivån för SQL Server Connector använder du följande exempel:
sudo /opt/mssql/bin/mssql-conf set sqlconnector.logginglevel 1
Mer information finns i Använda SQL Server Connector med SQL-krypteringsfunktioner.
Ändra TCP-porten
Inställningen network.tcpport
ändrar TCP-porten där SQL Server lyssnar efter anslutningar. Som standard är den här porten inställd på 1433. Om du vill ändra porten kör du följande kommandon:
Kör skriptet mssql-conf som rot med kommandot
set
förnetwork.tcpport
:sudo /opt/mssql/bin/mssql-conf set network.tcpport <new_tcp_port>
Starta om SQL Server-tjänsten:
sudo systemctl restart mssql-server
När du ansluter till SQL Server nu måste du ange den anpassade porten med kommatecken (,) efter värdnamnet eller IP-adressen. Om du till exempel vill ansluta med sqlcmdanvänder du följande kommando:
sqlcmd -S localhost,<new_tcp_port> -U test -P test
Ange TLS-inställningar
Följande alternativ konfigurerar TLS för en instans av SQL Server som körs på Linux.
Alternativ | Beskrivning |
---|---|
network.forceencryption |
Om 1 tvingar SQL Server alla anslutningar att krypteras. Som standard är det här alternativet 0. |
network.tlscert |
Den absoluta sökvägen till certifikatfilen som SQL Server använder för TLS. Exempel: /etc/ssl/certs/mssql.pem Certifikatfilen måste vara tillgänglig för mssql-kontot. Microsoft rekommenderar att du begränsar åtkomsten till filen med hjälp av chown mssql:mssql <file>; chmod 400 <file> . |
network.tlskey |
Den absoluta sökvägen till den privata nyckelfil som SQL Server använder för TLS. Exempel: /etc/ssl/private/mssql.key Certifikatfilen måste vara tillgänglig för mssql-kontot. Microsoft rekommenderar att du begränsar åtkomsten till filen med hjälp av chown mssql:mssql <file>; chmod 400 <file> . |
network.tlsprotocols |
En kommaavgränsad lista över vilka TLS-protokoll som tillåts av SQL Server. SQL Server försöker alltid förhandla fram det starkaste tillåtna protokollet. Om en klient inte stöder något tillåtet protokoll avvisar SQL Server anslutningsförsöket. För kompatibilitet tillåts alla protokoll som stöds som standard (1.2, 1.1, 1.0). Om dina klienter stöder TLS 1.2 rekommenderar Microsoft att endast tillåta TLS 1.2. |
network.tlsciphers |
Anger vilka chiffer som tillåts av SQL Server för TLS. Den här strängen måste formateras enligt OpenSSL:s chifferlistformat. I allmänhet bör du inte behöva ändra det här alternativet. Som standard tillåts följande chiffer: 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-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA |
network.kerberoskeytabfile |
Sökväg till Kerberos-nyckelfliksfilen |
Ett exempel på hur du använder TLS-inställningarna finns i Kryptera anslutningar till SQL Server på Linux.
Nätverksinställningar
Se Självstudie: Använda Active Directory-autentisering med SQL Server på Linux för omfattande information om hur du använder Active Directory-autentisering med SQL Server i Linux.
Följande alternativ är ytterligare nätverksinställningar som kan konfigureras med hjälp av mssql-conf.
Alternativ | Beskrivning |
---|---|
network.disablesssd |
Inaktivera frågor mot SSSD för Active Directory-kontoinformation och gå över till LDAP-anrop. Värden kan vara true eller false . |
network.enablekdcfromkrb5conf |
Aktivera att söka efter KDC-information från krb5.conf. Värden kan vara true eller false . |
network.forcesecureldap |
Framtvinga användning av LDAPS för att kontakta domänkontrollanten. Värden kan vara true eller false . |
network.ipaddress |
IP-adress för inkommande anslutningar. |
network.kerberoscredupdatefrequency |
Tid i sekunder mellan sökningar efter kerberos-autentiseringsuppgifter som måste uppdateras. Värdet är ett heltal. |
network.privilegedadaccount |
Privilegierad Active Directory-användare att använda för Active Directory-autentisering. Värdet är <username> . Mer information finns i Självstudie: Använda Active Directory-autentisering med SQL Server i Linux |
uncmapping |
Mappar UNC-sökvägen till en lokal sökväg. Till exempel sudo /opt/mssql/bin/mssql-conf set uncmapping //servername/sharename /tmp/folder . |
ldaphostcanon |
Ange om OpenLDAP ska kanonisera värdnamn under bindningssteget. Värden kan vara true eller false . |
Aktivera eller inaktivera spårningsflaggor
Alternativet traceflag
aktiverar eller inaktiverar spårningsflaggor för start av SQL Server-tjänsten. Om du vill aktivera/inaktivera en spårningsflagga använder du följande kommandon:
Aktivera en spårningsflagga med hjälp av följande kommando. Till exempel för Spårningsflagga 1234:
sudo /opt/mssql/bin/mssql-conf traceflag 1234 on
Du kan aktivera flera spårningsflaggor genom att ange dem separat:
sudo /opt/mssql/bin/mssql-conf traceflag 2345 3456 on
På liknande sätt kan du inaktivera en eller flera aktiverade spårningsflaggor genom att ange dem och lägga till parametern
off
:sudo /opt/mssql/bin/mssql-conf traceflag 1234 2345 3456 off
Starta om SQL Server-tjänsten för att tillämpa ändringarna:
sudo systemctl restart mssql-server
Ta bort en inställning
Om du vill ta bort alla inställningar som gjorts med mssql-conf set
anropar du mssql-conf med alternativet unset
och namnet på inställningen. Detta rensar inställningen och returnerar den i praktiken till standardvärdet.
I följande exempel avmarkeras alternativet
network.tcpport
.sudo /opt/mssql/bin/mssql-conf unset network.tcpport
Starta om SQL Server-tjänsten.
sudo systemctl restart mssql-server
Visa aktuella inställningar
Om du vill visa konfigurerade inställningar kör du följande kommando för att mata ut innehållet i mssql.conf
-filen:
sudo cat /var/opt/mssql/mssql.conf
Alla inställningar som inte visas i den här filen använder sina standardvärden. Nästa avsnitt innehåller ett exempel på mssql.conf
fil.
Visa olika alternativ
Om du vill visa de olika alternativ som kan konfigureras med hjälp av verktyget mssql-conf kör du kommandot help
:
sudo /opt/mssql/bin/mssql-conf --help
Resultatet innehåller olika konfigurationsalternativ och en kort beskrivning för var och en av inställningarna.
mssql.conf format
Följande /var/opt/mssql/mssql.conf
-fil innehåller ett exempel för varje inställning. Du kan använda det här formatet för att manuellt göra ändringar i mssql.conf
-filen efter behov. Om du ändrar filen manuellt måste du starta om SQL Server innan ändringarna tillämpas. Om du vill använda mssql.conf
-filen med Docker måste du ha Docker spara dina data. Lägg först till en fullständig mssql.conf
fil i värdkatalogen och kör sedan containern. Det finns ett exempel på detta i Konfigurera insamling av användnings- och diagnostikdata för SQL Server på Linux.
[EULA]
accepteula = Y
[coredump]
captureminiandfull = true
coredumptype = full
[filelocation]
defaultbackupdir = /var/opt/mssql/data/
defaultdatadir = /var/opt/mssql/data/
defaultdumpdir = /var/opt/mssql/data/
defaultlogdir = /var/opt/mssql/data/
[hadr]
hadrenabled = 0
[language]
lcid = 1033
[memory]
memorylimitmb = 4096
[network]
forceencryption = 0
ipaddress = 10.192.0.0
kerberoskeytabfile = /var/opt/mssql/secrets/mssql.keytab
tcpport = 1401
tlscert = /etc/ssl/certs/mssql.pem
tlsciphers = 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-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA
tlskey = /etc/ssl/private/mssql.key
tlsprotocols = 1.2,1.1,1.0
[sqlagent]
databasemailprofile = default
errorlogfile = /var/opt/mssql/log/sqlagentlog.log
errorlogginglevel = 7
[telemetry]
customerfeedback = true
userrequestedlocalauditdirectory = /tmp/audit
[traceflag]
traceflag0 = 1204
traceflag1 = 2345
traceflag = 3456
[EULA]
accepteula = Y
accepteulaml = Y
[coredump]
captureminiandfull = true
coredumptype = full
[distributedtransaction]
servertcpport = 51999
[filelocation]
defaultbackupdir = /var/opt/mssql/data/
defaultdatadir = /var/opt/mssql/data/
defaultdumpdir = /var/opt/mssql/data/
defaultlogdir = /var/opt/mssql/data/
[hadr]
hadrenabled = 0
[language]
lcid = 1033
[memory]
memorylimitmb = 4096
[network]
forceencryption = 0
ipaddress = 10.192.0.0
kerberoskeytabfile = /var/opt/mssql/secrets/mssql.keytab
rpcport = 13500
tcpport = 1401
tlscert = /etc/ssl/certs/mssql.pem
tlsciphers = 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-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA
tlskey = /etc/ssl/private/mssql.key
tlsprotocols = 1.2,1.1,1.0
[sqlagent]
databasemailprofile = default
errorlogfile = /var/opt/mssql/log/sqlagentlog.log
errorlogginglevel = 7
[telemetry]
customerfeedback = true
userrequestedlocalauditdirectory = /tmp/audit
[traceflag]
traceflag0 = 1204
traceflag1 = 2345
traceflag = 3456
Relaterat innehåll
- Konfigurera SQL Server-inställningar med miljövariabler i Linux
- Välj rätt verktyg för att hantera SQL Server på Linux
- Konfigurera och anpassa SQL Server Linux-containrar
Bidra till SQL-dokumentation
Visste du att du kan redigera SQL-innehåll själv? Om du gör det hjälper du inte bara till att förbättra vår dokumentation, utan du får även kredit som deltagare på sidan.
Mer information finns i Så här bidrar du till SQL Server-dokumentationen