Dela via


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 en mssql.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 filen mssql.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:

  1. Aktivera SQL Server-agenten:

    sudo /opt/mssql/bin/mssql-conf set sqlagent.enabled true
    
  2. 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.

  1. Först säkerhetskopiera alla användardatabaser på din server.

  2. Du kan sedan använda den sp_detach_db lagrade proceduren för att koppla bort användardatabaserna.

  3. Kör alternativet set-collation och följ anvisningarna:

    sudo /opt/mssql/bin/mssql-conf set-collation
    
  4. 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.

  5. Å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.

  1. Kör skriptet mssql-conf som root-användare med kommandot set för telemetry.customerfeedback. I följande exempel inaktiveras kundfeedback genom att ange false.

    sudo /opt/mssql/bin/mssql-conf set telemetry.customerfeedback false
    
  2. 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:

  1. Skapa målkatalogen för nya databasdata och loggfiler. I följande exempel skapas en ny /tmp/data katalog:

    sudo mkdir /tmp/data
    
  2. Ändra ägare och grupp för katalogen till användaren mssql.

    sudo chown mssql /tmp/data
    sudo chgrp mssql /tmp/data
    
  3. Använd mssql-conf för att ändra standarddatakatalogen med kommandot set:

    sudo /opt/mssql/bin/mssql-conf set filelocation.defaultdatadir /tmp/data
    
  4. Starta om SQL Server-tjänsten:

    sudo systemctl restart mssql-server
    
  5. 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
    
  6. 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:

  1. Skapa målkatalogen för nya felloggfiler. I följande exempel skapas en ny /tmp/masterdatabasedir katalog:

    sudo mkdir /tmp/masterdatabasedir
    
  2. Ändra ägare och grupp för katalogen till användaren mssql.

    sudo chown mssql /tmp/masterdatabasedir
    sudo chgrp mssql /tmp/masterdatabasedir
    
  3. Använd mssql-conf för att ändra standardkatalogen master databas för huvuddata och loggfiler med kommandot set:

    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.

  4. Stoppa SQL Server-tjänsten:

    sudo systemctl stop mssql-server
    
  5. Flytta master.mdf- och mastlog.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
    
  6. Starta SQL Server-tjänsten:

    sudo systemctl start mssql-server
    

    Not

    Om SQL Server inte kan hitta master.mdf och mastlog.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 gamla sa lösenord uppdateras dock inte i den nya master databasen. Du måste stoppa SQL Server och flytta din gamla master.mdf och mastlog.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:

  1. Stoppa SQL Server-tjänsten:

    sudo systemctl stop mssql-server
    
  2. Använd mssql-conf för att ändra de förväntade master databasnamnen för master data och loggfiler med kommandot set:

    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 namnges master.mdf och mastlog.ldf.

  3. Ä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
    
  4. 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:

  1. Skapa målkatalogen för nya dumpfiler. I följande exempel skapas en ny /tmp/dump katalog:

    sudo mkdir /tmp/dump
    
  2. Ändra ägare och grupp för katalogen till den mssql användaren:

    sudo chown mssql /tmp/dump
    sudo chgrp mssql /tmp/dump
    
  3. Använd mssql-conf för att ändra standarddatakatalogen med kommandot set:

    sudo /opt/mssql/bin/mssql-conf set filelocation.defaultdumpdir /tmp/dump
    
  4. 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:

  1. Skapa målkatalogen för nya felloggfiler. I följande exempel skapas en ny /tmp/logs katalog:

    sudo mkdir /tmp/logs
    
  2. Ändra ägare och grupp för katalogen till användaren mssql.

    sudo chown mssql /tmp/logs
    sudo chgrp mssql /tmp/logs
    
  3. Använd mssql-conf för att ändra standardfelloggfilnamnet med kommandot set:

    sudo /opt/mssql/bin/mssql-conf set filelocation.errorlogfile /tmp/logs/errorlog
    
  4. 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:

  1. Skapa målkatalogen för nya säkerhetskopieringsfiler. I följande exempel skapas en ny /tmp/backup katalog:

    sudo mkdir /tmp/backup
    
  2. Ändra ägare och grupp för katalogen till användaren mssql:

    sudo chown mssql /tmp/backup
    sudo chgrp mssql /tmp/backup
    
  3. 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
    
  4. 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.

  1. 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

  2. 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äd
    filtered 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ällningen coredump.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.

Ange lokal granskningskatalog

Inställningen telemetry.userrequestedlocalauditdirectory aktiverar Lokal granskning och låter dig ange katalogen där loggarna för lokal granskning skapas.

  1. Skapa en målkatalog för nya lokala granskningsloggar. I följande exempel skapas en ny /tmp/audit katalog:

    sudo mkdir /tmp/audit
    
  2. Ändra ägare och grupp för katalogen till användare mssql.

    sudo chown mssql /tmp/audit
    sudo chgrp mssql /tmp/audit
    
  3. Kör skriptet mssql-conf som root med kommandot set för telemetry.userrequestedlocalauditdirectory:

    sudo /opt/mssql/bin/mssql-conf set telemetry.userrequestedlocalauditdirectory /tmp/audit
    
  4. 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.

  1. I följande exempel ändras nationella inställningar till franska (1036):

    sudo /opt/mssql/bin/mssql-conf set language.lcid 1036
    
  2. 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.

  1. Kör skriptet mssql-conf som rot med kommandot set för memory.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
    
  2. 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:

  1. Kör skriptet mssql-conf som root-användare med kommandot set för network.rpcport:

    sudo /opt/mssql/bin/mssql-conf set network.rpcport <rcp_port>
    
  2. 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:

  1. Kör skriptet mssql-conf som rot med kommandot set för network.tcpport:

    sudo /opt/mssql/bin/mssql-conf set network.tcpport <new_tcp_port>
    
  2. Starta om SQL Server-tjänsten:

    sudo systemctl restart mssql-server
    
  3. 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:

  1. 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
    
  2. Du kan aktivera flera spårningsflaggor genom att ange dem separat:

    sudo /opt/mssql/bin/mssql-conf traceflag 2345 3456 on
    
  3. 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
    
  4. 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 setanropar du mssql-conf med alternativet unset och namnet på inställningen. Detta rensar inställningen och returnerar den i praktiken till standardvärdet.

  1. I följande exempel avmarkeras alternativet network.tcpport.

    sudo /opt/mssql/bin/mssql-conf unset network.tcpport
    
  2. 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

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