Konfigurieren von SQL Server für Linux mit dem mssql-conf-Tool

Gilt für:SQL Server – Linux

mssql-conf ist ein Konfigurationsskript, das mit SQL Server 2017 (14.x) für Red Hat Enterprise Linux, SUSE Linux Enterprise Server und Ubuntu installiert wird. Es ändert die mssql.conf-Datei, in der Konfigurationswerte gespeichert sind. Sie können das mssql-conf-Hilfsprogramm zum Festlegen der folgenden Parameter verwenden:

Parameter Beschreibung
Agent Aktivieren des SQL Server-Agents.
Authentifizieren mit Windows Einstellungen für die Windows Server Active Directory-Authentifizierung.
Sortierung Festlegen einer neuen Sortierung für SQL Server für Linux.
Kundenfeedback Festlegen, ob SQL Server Feedback an Microsoft sendet.
Datenbank-E-Mail-Profil Festlegen des Standardprofils von Datenbank-E-Mails für SQL Server für Linux.
Standarddatenverzeichnis Festlegen eines anderen Standardverzeichnisses für neue SQL Server-Datenbank-Datendateien (MDF).
Standardprotokollverzeichnis Festlegen eines anderen Standardverzeichnisses für neue SQL Server-Datenbank-Protokolldateien (LDF).
Standardverzeichnis für Masterdatenbank Ändern des Standardverzeichnisses für die master-Datenbank und für Protokolldateien.
Standarddateiname für Masterdatenbank Ändern des Namens für master-Datenbank-Dateien.
Standardverzeichnis für Speicherabbilder Festlegen eines anderen Standardverzeichnisses für neue Speicherabbilder und andere Dateien zur Problembehandlung.
Standardverzeichnis für Fehlerprotokolle Festlegen eines anderen Standardverzeichnisses für neue SQL Server-Dateien für Fehlerprotokolle, Standardprofiler-Ablaufverfolgungen, XE-Systemintegritätssitzungen und Hekaton-XE-Sitzungen.
Standardverzeichnis für Sicherungen Festlegen eines anderen Standardverzeichnisses für neue Sicherungsdateien.
Typ des Speicherabbilds Festlegen des Typs der Speicherabbilddateien, die erfasst werden sollen.
Edition Festlegen der SQL Server-Edition
Hochverfügbarkeit Aktivieren von Verfügbarkeitsgruppen.
Verzeichnis für lokale Überwachungen Festlegen eines Verzeichnisses, dem Dateien für lokale Überwachungen hinzugefügt werden sollen.
Gebietsschema Festlegen eines Gebietsschemas, das SQL Server verwenden soll.
Arbeitsspeicherlimit Festlegen des Arbeitsspeicherlimits für SQL Server.
Netzwerkeinstellungen Zusätzliche Netzwerkeinstellungen für SQL Server.
Microsoft Distributed Transaction Coordinator Konfigurieren von MS DTC unter Linux und Durchführen einer Problembehandlung.
TCP-Port Festlegen eines anderen Ports, auf dem SQL Server nach Verbindungen lauscht.
TLS Konfigurieren der Verschlüsselung mit Transport Layer Security.
Ablaufverfolgungsflags Festlegen der Ablaufverfolgungsflags, die vom Dienst verwendet werden sollen

mssql-conf ist ein Konfigurationsskript, das mit SQL Server 2019 (15.x) für Red Hat Enterprise Linux, SUSE Linux Enterprise Server und Ubuntu installiert wird. Mit diesem Hilfsprogramm können Sie die folgenden Parameter festlegen:

Parameter Beschreibung
Agent Aktivieren des SQL Server-Agents.
Authentifizieren mit Windows Einstellungen für die Windows Server Active Directory-Authentifizierung.
Sortierung Festlegen einer neuen Sortierung für SQL Server für Linux.
Kundenfeedback Festlegen, ob SQL Server Feedback an Microsoft sendet.
Datenbank-E-Mail-Profil Festlegen des Standardprofils von Datenbank-E-Mails für SQL Server für Linux.
Standarddatenverzeichnis Festlegen eines anderen Standardverzeichnisses für neue SQL Server-Datenbank-Datendateien (MDF).
Standardprotokollverzeichnis Festlegen eines anderen Standardverzeichnisses für neue SQL Server-Datenbank-Protokolldateien (LDF).
Standardverzeichnis für Masterdatenbank-Dateien Ändern des Standardverzeichnisses für die master-Datenbank-Dateien auf einer vorhandenen SQL-Installation.
Standarddateiname für Masterdatenbank Ändern des Namens für master-Datenbank-Dateien.
Standardverzeichnis für Speicherabbilder Festlegen eines anderen Standardverzeichnisses für neue Speicherabbilder und andere Dateien zur Problembehandlung.
Standardverzeichnis für Fehlerprotokolle Festlegen eines anderen Standardverzeichnisses für neue SQL Server-Dateien für Fehlerprotokolle, Standardprofiler-Ablaufverfolgungen, XE-Systemintegritätssitzungen und Hekaton-XE-Sitzungen.
Standardverzeichnis für Sicherungen Festlegen eines anderen Standardverzeichnisses für neue Sicherungsdateien.
Typ des Speicherabbilds Festlegen des Typs der Speicherabbilddateien, die erfasst werden sollen.
Edition Festlegen der SQL Server-Edition
Hochverfügbarkeit Aktivieren von Verfügbarkeitsgruppen.
Verzeichnis für lokale Überwachungen Festlegen eines Verzeichnisses, dem Dateien für lokale Überwachungen hinzugefügt werden sollen.
Gebietsschema Festlegen eines Gebietsschemas, das SQL Server verwenden soll.
Arbeitsspeicherlimit Festlegen des Arbeitsspeicherlimits für SQL Server.
Microsoft Distributed Transaction Coordinator Konfigurieren von MS DTC unter Linux und Durchführen einer Problembehandlung.
Machine Learning Services EULAs Festlegen, dass R- und Python-bezogene Lizenzbedingungen für mlservices-Pakete akzeptiert werden. Gilt nur für SQL Server 2019 (15.x)
Netzwerkeinstellungen Zusätzliche Netzwerkeinstellungen für SQL Server.
outboundnetworkaccess Aktivieren des Zugriffs auf ausgehenden Netzwerkdatenverkehr für R-, Python- und Java-Erweiterungen für Machine Learning Services.
TCP-Port Festlegen eines anderen Ports, auf dem SQL Server nach Verbindungen lauscht.
TLS Konfigurieren der Verschlüsselung mit Transport Layer Security.
Ablaufverfolgungsflags Festlegen der Ablaufverfolgungsflags, die vom Dienst verwendet werden sollen

mssql-conf ist ein Konfigurationsskript, das mit SQL Server 2022 (16.x) für Red Hat Enterprise Linux und Ubuntu installiert wird. Mit diesem Hilfsprogramm können Sie die folgenden Parameter festlegen:

Parameter Beschreibung
Agent Aktivieren des SQL Server-Agents.
Authentifizierung mit Microsoft Entra ID Einstellungen für die Authentifizierung mit Microsoft Entra-ID (vormals Azure Active Directory).
Authentifizieren mit Windows Einstellungen für die Windows Server Active Directory-Authentifizierung.
Sortierung Festlegen einer neuen Sortierung für SQL Server für Linux.
Kundenfeedback Festlegen, ob SQL Server Feedback an Microsoft sendet.
Datenbank-E-Mail-Profil Festlegen des Standardprofils von Datenbank-E-Mails für SQL Server für Linux.
Standarddatenverzeichnis Festlegen eines anderen Standardverzeichnisses für neue SQL Server-Datenbank-Datendateien (MDF).
Standardprotokollverzeichnis Festlegen eines anderen Standardverzeichnisses für neue SQL Server-Datenbank-Protokolldateien (LDF).
Standardverzeichnis für Masterdatenbank-Dateien Ändern des Standardverzeichnisses für die master-Datenbank-Dateien auf einer vorhandenen SQL-Installation.
Standarddateiname für Masterdatenbank Ändern des Namens für master-Datenbank-Dateien.
Standardverzeichnis für Speicherabbilder Festlegen eines anderen Standardverzeichnisses für neue Speicherabbilder und andere Dateien zur Problembehandlung.
Standardverzeichnis für Fehlerprotokolle Festlegen eines anderen Standardverzeichnisses für neue SQL Server-Dateien für Fehlerprotokolle, Standardprofiler-Ablaufverfolgungen, XE-Systemintegritätssitzungen und Hekaton-XE-Sitzungen.
Standardverzeichnis für Sicherungen Festlegen eines anderen Standardverzeichnisses für neue Sicherungsdateien.
Typ des Speicherabbilds Festlegen des Typs der Speicherabbilddateien, die erfasst werden sollen.
Edition Festlegen der SQL Server-Edition
Hochverfügbarkeit Aktivieren von Verfügbarkeitsgruppen.
Verzeichnis für lokale Überwachungen Festlegen eines Verzeichnisses, dem Dateien für lokale Überwachungen hinzugefügt werden sollen.
Gebietsschema Festlegen eines Gebietsschemas, das SQL Server verwenden soll.
Arbeitsspeicherlimit Festlegen des Arbeitsspeicherlimits für SQL Server.
Microsoft Distributed Transaction Coordinator Konfigurieren von MS DTC unter Linux und Durchführen einer Problembehandlung.
Machine Learning Services EULAs Festlegen, dass R- und Python-bezogene Lizenzbedingungen für mlservices-Pakete akzeptiert werden. Gilt nur für SQL Server 2019 (15.x)
Netzwerkeinstellungen Zusätzliche Netzwerkeinstellungen für SQL Server.
Zugriff auf ausgehenden Netzwerkdatenverkehr Aktivieren des Zugriffs auf ausgehenden Netzwerkdatenverkehr für R-, Python- und Java-Erweiterungen für Machine Learning Services.
TCP-Port Festlegen eines anderen Ports, auf dem SQL Server nach Verbindungen lauscht.
TLS Konfigurieren der Verschlüsselung mit Transport Layer Security.
Ablaufverfolgungsflags Festlegen der Ablaufverfolgungsflags, die vom Dienst verwendet werden sollen

Tipp

Einige dieser Einstellungen können auch mit Umgebungsvariablen konfiguriert werden. Weitere Informationen finden Sie unter Konfigurieren von SQL Server-Einstellungen mit Umgebungsvariablen unter Linux.

Verwendungstipps

  • Nehmen Sie für Always On-Verfügbarkeitsgruppen und Cluster mit gemeinsam genutzten Datenträgern immer dieselben Konfigurationsänderungen an jedem Knoten vor.

  • Versuchen Sie bei Clustern mit gemeinsam genutzten Datenträgern nicht, den Dienst mssql-server neu zu starten, um die Änderungen zu übernehmen. SQL Server wird als Anwendung ausgeführt. Versetzen Sie die Ressource stattdessen zuerst in den Offline- und anschließend wieder in den Onlinezustand.

  • In den Beispielen wird für die Ausführung von mssql-conf der vollständige Pfad verwendet: /opt/mssql/bin/mssql-conf. Wenn Sie zu diesem Pfad navigieren, müssen Sie mssql-conf im aktuellen Verzeichnis ausführen: ./mssql-conf.

  • Wenn Sie die Datei mssql.conf innerhalb eines Containers ändern möchten, erstellen Sie auf dem Host, auf dem der Container ausgeführt wird, eine Datei mssql.conf mit den gewünschten Einstellungen, und stellen Sie dann den Container erneut bereit. Durch die folgende Ergänzung in der Datei mssql.conf wird beispielsweise der SQL Server-Agent aktiviert.

    [sqlagent]
    enabled = true
    

    Sie können Ihren Container mit den folgenden Befehlen bereitstellen:

    docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=<YourStrong@Passw0rd>" \
    -p 5433:1433 --name sql1 \
    -v /container/sql1:/var/opt/mssql \
    -d mcr.microsoft.com/mssql/server:2019-latest
    

    Weitere Informationen finden Sie unter Erstellen der Konfigurationsdateien zur Verwendung durch den SQL Server-Container.

Aktivieren des SQL Server-Agents.

Durch die Einstellung sqlagent.enabled wird der SQL Server-Agent aktiviert. Standardmäßig ist der SQL Server-Agent deaktiviert. Wenn sqlagent.enabled nicht in der Einstellungsdatei „mssql.conf“ vorhanden ist, nimmt SQL Server intern an, dass der SQL Server-Agent deaktiviert ist.

Führen Sie die folgenden Schritte aus, um diese Einstellung zu ändern:

  1. Aktivieren Sie den SQL Server-Agent:

    sudo /opt/mssql/bin/mssql-conf set sqlagent.enabled true
    
  2. Starten Sie den SQL Server-Dienst neu:

    sudo systemctl restart mssql-server
    

Festlegen des Standardprofils von Datenbank-E-Mails für SQL Server für Linux

Mit der Einstellung sqlagent.databasemailprofile können Sie das Standardprofil von Datenbank-E-Mails für E-Mail-Benachrichtigungen festlegen.

sudo /opt/mssql/bin/mssql-conf set sqlagent.databasemailprofile <profile_name>

SQL-Agent-Fehlerprotokolle

Mit den Einstellungen sqlagent.errorlogfile und sqlagent.errorlogginglevel können Sie den Protokolldateipfad und Protokolliergrad für den SQL-Agent angeben.

sudo /opt/mssql/bin/mssql-conf set sqlagent.errorlogfile <path>

SQL-Agent-Protokolliergrade sind folgende Bitmaskenwerte:

  • 1 = Fehler
  • 2 = Warnungen
  • 4 = Informationen

Wenn Sie alle Grade erfassen möchten, verwenden Sie 7 als Wert.

sudo /opt/mssql/bin/mssql-conf set sqlagent.errorlogginglevel <level>

Konfiguration der Microsoft Entra-Authentifizierung

Ab SQL Server 2022 (16.x) können Sie Microsoft Entra ID für SQL Server konfigurieren. Um Microsoft Entra ID zu konfigurieren, müssen Sie die Azure-Erweiterung für SQL Server nach der Installation von SQL Server installieren. Informationen zum Konfigurieren der Microsoft Entra-ID finden Sie im Lernprogramm: Einrichten der Microsoft Entra-Authentifizierung für SQL Server.

Ändern des standardmäßigen Microsoft Entra ID-Zertifikatpfads

Standardmäßig wird die Microsoft Entra-Zertifikatdatei in /var/opt/mssql/aadsecrets/ gespeichert. Sie können diesen Pfad ändern, wenn Sie einen Zertifikatspeicher oder ein verschlüsseltes Laufwerk verwenden. Um den Pfad zu ändern, können Sie den folgenden Befehl verwenden:

sudo /opt/mssql/bin/mssql-conf set network.aadcertificatefilepath /path/to/new/location.pfx

Im vorherigen Beispiel ist /path/to/new/location.pfx Ihr bevorzugter Pfad einschließlich des Zertifikatnamens.

Das von der Azure-Erweiterung für SQL Server für die Microsoft Entra-Authentifizierung heruntergeladene Zertifikat wird an diesem Speicherort gespeichert. Sie können diese Einstellung nicht in /var/opt/mssql/secrets ändern.

Hinweis

Der standardmäßige Microsoft Entra ID-Zertifikatpfad kann jederzeit geändert werden, nachdem SQL Server installiert wurde, muss jedoch vor der Aktivierung von Microsoft Entra ID geändert werden.

Microsoft Entra ID-Konfigurationsoptionen

Die folgenden Optionen werden von der Microsoft Entra-Authentifizierung für eine Instanz von SQL Server verwendet, die unter Linux ausgeführt wird.

Warnung

Microsoft Entra ID-Parameter werden von der Azure-Erweiterung für SQL Server konfiguriert und sollten nicht manuell neu konfiguriert werden. Sie werden nur zu Informationszwecken aufgeführt.

Option Beschreibung
network.aadauthenticationendpoint Endpunkt für Microsoft Entra-Authentifizierung
network.aadcertificatefilepath Pfad zur Zertifikatsdatei für die Authentifizierung bei Microsoft Entra ID
network.aadclientcertblacklist Sperrliste des Microsoft Entra-ID-Clientzertifikats
network.aadclientid Microsoft Entra-Client-GUID
network.aadfederationmetadataendpoint Endpunkt für Microsoft Entra-Verbundmetadaten
network.aadgraphapiendpoint Endpunkt für die Azure AD Graph-API
network.aadgraphendpoint Azure AD Graph-Endpunkt
network.aadissuerurl Microsoft Entra Issuer-URL
network.aadmsgraphendpoint Microsoft Entra MS Graph-Endpunkte
network.aadonbehalfofauthority Microsoft Entra-ID im Auftrag von Autorität
network.aadprimarytenant Microsoft Entra Primary Mandant-GUID
network.aadsendx5c Microsoft Entra ID Send X5C
network.aadserveradminname Name des Microsoft Entra-Kontos, das als sysadmin festgelegt werden soll
network.aadserveradminsid SID des Microsoft Entra-Kontos, das als sysadmin festgelegt werden soll
network.aadserveradmintype Typ des Microsoft Entra-Kontos, das als sysadmin festgelegt werden soll
network.aadserviceprincipalname Microsoft Entra-Dienstprinzipalname
network.aadserviceprincipalnamenoslash Microsoft Entra Dienstprinzipalname ohne Schrägstrich
network.aadstsurl Microsoft Entra STS URL

Konfigurieren der Azure Active Directory-Authentifizierung

Die Option setup-ad-keytab kann zum Erstellen einer Schlüsseltabelle verwendet werden, aber die Benutzer- und Dienstprinzipalnamen (SPNs) müssen für die Verwendung dieser Option erstellt worden sein. Das Active Directory-Hilfsprogramm adutil kann verwendet werden, um Benutzer*innen, SPNs und Schlüsseltabellen zu erstellen.

Führen Sie für Optionen zur Verwendung von setup-ad-keytab den folgenden Befehl aus:

sudo /opt/mssql/bin/mssql-conf setup-ad-keytab --help

Die Option validate-ad-config überprüft die Konfiguration für die Active Directory-Authentifizierung.

Ändern der SQL Server-Sortierung

Mit der Option set-collation kann ein anderer unterstützter Sortierungswert angegeben werden. Um diese Änderung vorzunehmen, muss der SQL Server-Dienst beendet werden.

  1. Sichern Sie zuerst alle Benutzerdatenbanken auf Ihrem Server.

  2. Verwenden Sie dann die gespeicherte Prozedur sp_detach_db, um die Benutzerdatenbanken zu trennen.

  3. Führen Sie die Option set-collation aus, und folgen Sie den Anweisungen:

    sudo /opt/mssql/bin/mssql-conf set-collation
    
  4. Das Hilfsprogramm mssql-conf versucht, den angegebenen Sortierungswert festzulegen und den Dienst neu zu starten. Wenn Fehler auftreten, wird ein Rollback ausgeführt, und die Sortierung wird auf den vorherigen Wert zurückgesetzt.

  5. Stellen Sie die Sicherungen der Benutzerdatenbanken wieder her.

Führen Sie die sys.fn_helpcollations-Funktion aus, um eine Liste der unterstützten Sortierungen anzuzeigen: SELECT Name from sys.fn_helpcollations().

Konfigurieren von Einstellungen für Kundenfeedback

Mit der Einstellung telemetry.customerfeedback können Sie festlegen, ob SQL Server Feedback an Microsoft sendet. Standardmäßig ist dieser Wert für alle Editionen auf true festgelegt. Führen Sie die folgenden Befehle aus, um den Wert zu ändern:

Wichtig

Sie können das Kundenfeedback für kostenlose Editionen von SQL Server, Express und Developer nicht deaktivieren.

  1. Führen Sie das Skript mssql-conf als Rootbenutzer*in mit dem Befehl set für telemetry.customerfeedback aus. Im folgenden Beispiel wird das Kundenfeedback durch die Angabe von false deaktiviert.

    sudo /opt/mssql/bin/mssql-conf set telemetry.customerfeedback false
    
  2. Starten Sie den SQL Server-Dienst neu:

    sudo systemctl restart mssql-server
    

Weitere Informationen finden Sie unter Konfigurieren der Erfassung von Nutzungs- Diagnosedaten für SQL Server unter Linux und Ergänzende Datenschutzbestimmungen zu SQL Server.

Ändern des Standardspeicherorts für das Verzeichnis der Datenbank- oder Protokolldateien

Mit den Einstellungen filelocation.defaultdatadir und filelocation.defaultlogdir können Sie den Speicherort festlegen, an dem die neuen Datenbank- und Protokolldateien erstellt werden. Standardmäßig ist der Speicherort /var/opt/mssql/data. Führen Sie die folgenden Schritte aus, um diese Einstellungen zu ändern:

  1. Erstellen Sie das Zielverzeichnis für neue Datenbank- und Protokolldateien. Im folgenden Beispiel wird das Verzeichnis /tmp/data erstellt:

    sudo mkdir /tmp/data
    
  2. Ändern Sie Besitzer und Gruppe des Verzeichnisses in den mssql-Benutzer:

    sudo chown mssql /tmp/data
    sudo chgrp mssql /tmp/data
    
  3. Verwenden Sie mssql-conf mit dem Befehl set, um das Standarddatenverzeichnis zu ändern:

    sudo /opt/mssql/bin/mssql-conf set filelocation.defaultdatadir /tmp/data
    
  4. Starten Sie den SQL Server-Dienst neu:

    sudo systemctl restart mssql-server
    
  5. Nun sind alle Datenbankdateien für neu erstellte Datenbanken an diesem Speicherort gespeichert. Wenn Sie für die Protokolldateien (LDF) der neuen Datenbanken einen anderen Speicherort festlegen möchten, können Sie den folgenden set-Befehl nutzen:

    sudo /opt/mssql/bin/mssql-conf set filelocation.defaultlogdir /tmp/log
    
  6. Auch dieser Befehl setzt voraus, dass das Verzeichnis /tmp/log vorhanden ist und dem Benutzer sowie der Gruppe mssql zugeordnet ist.

Ändern des Standardspeicherorts für das Verzeichnis der master-Datenbank-Dateien

Mit den Einstellungen filelocation.masterdatafile und filelocation.masterlogfile können Sie einen anderen Speicherort festlegen, an dem die SQL Server-Datenbank-Engine nach Dateien der master-Datenbank sucht. Standardmäßig ist der Speicherort /var/opt/mssql/data.

Führen Sie die folgenden Schritte aus, um diese Einstellungen zu ändern:

  1. Erstellen Sie das Zielverzeichnis für neue Fehlerprotokolldateien. Im folgenden Beispiel wird das Verzeichnis /tmp/masterdatabasedir erstellt:

    sudo mkdir /tmp/masterdatabasedir
    
  2. Ändern Sie Besitzer und Gruppe des Verzeichnisses in den mssql-Benutzer:

    sudo chown mssql /tmp/masterdatabasedir
    sudo chgrp mssql /tmp/masterdatabasedir
    
  3. Verwenden Sie mssql-conf mit dem Befehl set, um das Standardverzeichnis der master-Datenbank für die Masterdaten und Protokolldateien zu ändern:

    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
    

    Hinweis

    Dadurch werden nicht nur die Masterdaten und Protokolldateien, sondern auch das Standardverzeichnis für alle anderen Systemdatenbanken verschoben.

  4. Halten Sie den SQL Server-Dienst an:

    sudo systemctl stop mssql-server
    
  5. Verschieben Sie die Dateien master.mdf und mastlog.ldf:

    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. Starten Sie den SQL Server-Dienst:

    sudo systemctl start mssql-server
    

    Hinweis

    Wenn SQL Server die Dateien master.mdf und mastlog.ldf nicht im angegebenen Verzeichnis findet, wird eine auf Vorlagen basierende Kopie der Systemdatenbanken automatisch im angegebenen Verzeichnis erstellt. Anschließend kann SQL Server gestartet werden. Metadaten wie Benutzerdatenbanken, Serveranmeldungen, Serverzertifikate, Verschlüsselungsschlüssel, SQL-Agent-Aufträge oder alte Systemadministrator-Anmeldekennwörter werden jedoch nicht in der neuen master-Datenbank aktualisiert. Wenn Sie die vorhandenen Metadaten weiterhin verwenden möchten, müssen Sie SQL Server anhalten, die alten Dateien master.mdf und mastlog.ldf an den angegebenen neuen Speicherort verschieben und SQL Server anschließend neu starten.

Ändern des Namens für master-Datenbank-Dateien.

Mit den Einstellungen filelocation.masterdatafile und filelocation.masterlogfile können Sie einen anderen Speicherort festlegen, an dem die SQL Server-Datenbank-Engine nach Dateien der master-Datenbank sucht. Außerdem können Sie damit den Namen der master-Datenbank- und Protokolldateien ändern.

Führen Sie die folgenden Schritte aus, um diese Einstellungen zu ändern:

  1. Halten Sie den SQL Server-Dienst an:

    sudo systemctl stop mssql-server
    
  2. Verwenden Sie mssql-conf mit dem Befehl set, um die master-Datenbanknamen für die master-Daten und Protokolldateien zu ändern:

    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
    

    Wichtig

    Sie können den Namen der master-Datenbank- und Protokolldateien erst ändern, nachdem SQL Server gestartet wurde. Vor der ersten Ausführung wird von SQL Server vorausgesetzt, dass die Dateien master.mdf und mastlog.ldf heißen.

  3. Ändern Sie den Namen der Daten- und Protokolldateien der master-Datenbank:

    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. Starten Sie den SQL Server-Dienst:

    sudo systemctl start mssql-server
    

Ändern des Standardspeicherorts für das Speicherabbildverzeichnis

Mit der Einstellung filelocation.defaultdumpdir können Sie einen anderen Standardspeicherort festlegen, an dem die Speicher- und SQL-Abbilder erstellt werden, wenn es zu einem Absturz kommt. Standardmäßig werden diese Dateien in /var/opt/mssql/log generiert.

Verwenden Sie die folgenden Befehle, um einen neuen Speicherort festzulegen:

  1. Erstellen Sie das Zielverzeichnis für neue Speicherabbilddateien. Im folgenden Beispiel wird das Verzeichnis /tmp/dump erstellt:

    sudo mkdir /tmp/dump
    
  2. Ändern Sie Besitzer und Gruppe des Verzeichnisses in den mssql-Benutzer:

    sudo chown mssql /tmp/dump
    sudo chgrp mssql /tmp/dump
    
  3. Verwenden Sie mssql-conf mit dem Befehl set, um das Standarddatenverzeichnis zu ändern:

    sudo /opt/mssql/bin/mssql-conf set filelocation.defaultdumpdir /tmp/dump
    
  4. Starten Sie den SQL Server-Dienst neu:

    sudo systemctl restart mssql-server
    

Ändern des Standardspeicherorts für das Verzeichnis der Fehlerprotokolldateien

Mit der Einstellung filelocation.errorlogfile können Sie einen anderen Speicherort festlegen, an dem Dateien für Fehlerprotokolle, Standardprofiler-Ablaufverfolgungen, XE-Systemintegritätssitzungen und Hekaton-XE-Sitzungen erstellt werden. Standardmäßig ist der Speicherort /var/opt/mssql/log. Das Verzeichnis, in dem die SQL Server-Fehlerprotokolldatei gespeichert wird, wird zum Standardverzeichnis für andere Protokolle.

Gehen Sie wie folgt vor, um diese Einstellungen zu ändern:

  1. Erstellen Sie das Zielverzeichnis für neue Fehlerprotokolldateien. Im folgenden Beispiel wird das Verzeichnis /tmp/logs erstellt:

    sudo mkdir /tmp/logs
    
  2. Ändern Sie Besitzer und Gruppe des Verzeichnisses in den mssql-Benutzer:

    sudo chown mssql /tmp/logs
    sudo chgrp mssql /tmp/logs
    
  3. Verwenden Sie mssql-conf mit dem Befehl set, um den Standardnamen für Fehlerprotokolle zu ändern:

    sudo /opt/mssql/bin/mssql-conf set filelocation.errorlogfile /tmp/logs/errorlog
    
  4. Starten Sie den SQL Server-Dienst neu:

    sudo systemctl restart mssql-server
    

Mit der Einstellung errorlog.numerrorlogs können Sie angeben, wie viele Fehlerprotokolle beibehalten werden sollen, bevor das Protokoll neu gestartet wird.

Ändern des Standardspeicherorts für das Sicherungsverzeichnis

Mit der Einstellung filelocation.defaultbackupdir können Sie einen anderen Standardspeicherort festlegen, an dem Sicherungsdateien erstellt werden. Standardmäßig werden diese Dateien in /var/opt/mssql/data generiert.

Verwenden Sie die folgenden Befehle, um einen neuen Speicherort festzulegen:

  1. Erstellen Sie das Zielverzeichnis für neue Sicherungsdateien. Im folgenden Beispiel wird das Verzeichnis /tmp/backup erstellt:

    sudo mkdir /tmp/backup
    
  2. Ändern Sie Besitzer und Gruppe des Verzeichnisses in den mssql-Benutzer:

    sudo chown mssql /tmp/backup
    sudo chgrp mssql /tmp/backup
    
  3. Verwenden Sie mssql-conf mit dem Befehl set, um das Standardsicherungsverzeichnis zu ändern:

    sudo /opt/mssql/bin/mssql-conf set filelocation.defaultbackupdir /tmp/backup
    
  4. Starten Sie den SQL Server-Dienst neu:

    sudo systemctl restart mssql-server
    

Festlegen der Einstellungen für Kernspeicherabbilder

Wenn in einem SQL Server-Prozess eine Ausnahme oder ein Absturz auftritt, erstellt SQL Server ein Speicherabbild. Das Erfassen eines Speicherabbilds kann sehr lange dauern und viel Speicherplatz in Anspruch nehmen. Um Ressourcen einzusparen und wiederholte Speicherabbilder zu vermeiden, können Sie die automatische Speicherabbilderfassung mit der Option coredump.disablecoredump deaktivieren.

sudo /opt/mssql/bin/mssql-conf set coredump.disablecoredump <true or false>

Benutzer können Speicherabbilder weiterhin manuell generieren, wenn das automatische Hauptspeicherabbild deaktiviert ist coredump.disablecoredump auf true festlegen).

Sie können mit den Optionen coredump.coredumptype und coredump.captureminiandfull zwei Typen von Speicherabbildern festlegen, die von SQL Server erfasst werden. Diese Optionen beziehen sich auf die beiden Phasen zur Erfassung von Kernspeicherabbildern.

Die Erfassung in der ersten Phase wird durch die Einstellung coredump.coredumptype gesteuert. Mit dieser wird der Typ der Speicherabbilddatei festgelegt, die bei einer Ausnahme erstellt wird. Die zweite Phase wird durch die Einstellung coredump.captureminiandfull aktiviert. Wenn coredump.captureminiandfull auf TRUE festgelegt ist, werden die durch coredump.coredumptype angegebene Speicherabbilddatei und ein zweites Minimalspeicherabbild erstellt. Wenn Sie coredump.captureminiandfull auf „false“ festlegen, wird die zweite Erfassungsphase deaktiviert.

  1. Mit der Einstellung coredump.captureminiandfull können Sie festlegen, ob sowohl Minimalspeicherabbilder als auch vollständige Speicherabbilder erfasst werden.

    sudo /opt/mssql/bin/mssql-conf set coredump.captureminiandfull <true or false>
    

    Standardwert: false

  2. Mit der Einstellung coredump.coredumptype können Sie den Typ der Speicherabbilddatei angeben.

    sudo /opt/mssql/bin/mssql-conf set coredump.coredumptype <dump_type>
    

    Standardwert: miniplus

    Die folgende Tabelle enthält die möglichen Werte von coredump.coredumptype.

    type BESCHREIBUNG
    mini „mini“ ist der kleinste Speicherabbild-Dateityp. Mithilfe von Linux-Systeminformationen werden die Threads und Module eines Prozesses ermittelt. Das Speicherabbild enthält nur die Threadstapel und Module der Hostumgebung. Indirekte Speicherverweise oder globale Variablen sind dabei nicht enthalten.
    miniplus „miniplus“ ist mit „mini“ vergleichbar, jedoch werden zusätzliche Speicherbereiche erfasst. Interne Vorgänge in SQL PAL und in der Hostumgebung werden berücksichtigt, wodurch dem Speicherabbild mehrere Speicherbereiche hinzugefügt werden. Diese betreffen:

    – verschiedene globale Variablen
    - sämtlichen Speicher über 64 TB
    – benannte Bereiche in /proc/$pid/maps
    – indirekten Arbeitsspeicher aus Threads und Stapeln
    - Threadinformationen, einschließlich zugeordneter Threadumgebungsblöcke (TEB) und Prozessumgebungsblöcke (PEB)
    - Modulinformationen
    – VMM und die VAD-Struktur
    filtered Für „filtered“ wird ein subtraktionsbasierter Entwurf verwendet, bei dem sämtlicher Speicher im Prozess erfasst wird, falls er nicht explizit ausgeschlossen wird. Interne Vorgänge in SQL PAL und in der Hostumgebung werden berücksichtigt. Bestimmte Bereiche werden jedoch nicht im Speicherabbild erfasst.
    full Durch „full“ wird ein vollständiges Prozessspeicherabbild erstellt, das sämtliche Bereiche in /proc/$pid/maps einschließt. Dies wird nicht durch die Einstellung coredump.captureminiandfull gesteuert.

Edition

Die Edition von SQL Server kann mithilfe der Option set-edition geändert werden. Um die SQL Server-Edition zu ändern, muss der SQL Server-Dienst zuerst beendet werden. Weitere Informationen zu SQL Server für Linux-Editionen finden Sie unter SQL Server-Editionen.

Hochverfügbarkeit

Mit der Option hadr.hadrenabled können Sie Verfügbarkeitsgruppen auf Ihrer SQL Server-Instanz aktivieren. Mit dem folgenden Befehl wird die Einstellung hadr.hadrenabled auf 1 festgelegt, wodurch Verfügbarkeitsgruppen aktiviert werden. Sie müssen SQL Server neu starten, damit die Einstellung übernommen wird.

sudo /opt/mssql/bin/mssql-conf set hadr.hadrenabled  1
sudo systemctl restart mssql-server

Informationen zur Nutzung dieser Einstellung für Verfügbarkeitsgruppen finden Sie in den folgenden beiden Artikeln.

Festlegen des Verzeichnisses für lokale Überwachungen

Mit der Einstellung telemetry.userrequestedlocalauditdirectory werden lokale Überwachungen aktiviert. Zusätzlich können Sie das Verzeichnis festlegen, in dem die Protokolle für lokale Überwachungen erstellt werden.

  1. Erstellen Sie ein Zielverzeichnis für neue Protokolle von lokalen Überwachungen. Im folgenden Beispiel wird das Verzeichnis /tmp/audit erstellt:

    sudo mkdir /tmp/audit
    
  2. Ändern Sie Besitzer und Gruppe des Verzeichnisses in den mssql-Benutzer:

    sudo chown mssql /tmp/audit
    sudo chgrp mssql /tmp/audit
    
  3. Führen Sie das Skript mssql-conf als Rootbenutzer*in mit dem Befehl set für telemetry.userrequestedlocalauditdirectory aus:

    sudo /opt/mssql/bin/mssql-conf set telemetry.userrequestedlocalauditdirectory /tmp/audit
    
  4. Starten Sie den SQL Server-Dienst neu:

    sudo systemctl restart mssql-server
    

Weitere Informationen finden Sie unter Konfigurieren der Erfassung von Nutzungs- Diagnosedaten für SQL Server unter Linux.

Ändern des SQL Server-Gebietsschemas

Mit der Einstellung language.lcid können Sie ein anderes SQL Server-Gebietsschema festlegen. Dazu nutzen geben Sie einen der unterstützten Gebietsschemabezeichner (LCID) an.

  1. Im folgenden Beispiel wird Französisch (1036) als Gebietsschema festgelegt:

    sudo /opt/mssql/bin/mssql-conf set language.lcid 1036
    
  2. Starten Sie den SQL Server-Dienst neu, damit die Änderungen übernommen werden:

    sudo systemctl restart mssql-server
    

Festlegen des Arbeitsspeicherlimits

Mit der Einstellung memory.memorylimitmb können Sie festlegen, wie viel verfügbarer physischer Speicher (in MB) für SQL Server bereitgestellt wird. Der Standardwert ist 80 % des physischen Arbeitsspeichers, um OOM-Bedingungen (Out-of-Memory) zu verhindern.

Wichtig

Die Einstellung memory.memorylimitmb schränkt die Menge des physischen Arbeitsspeichers ein, der dem SQL Server-Prozess zur Verfügung steht. Die Einstellung Max. Serverarbeitsspeicher (MB) kann verwendet werden, um die Menge des verfügbaren Arbeitsspeichers für den SQL Server-Pufferpool anzupassen, sie darf aber nie die Menge des für SQL Server verfügbaren physischen Arbeitsspeichers überschreiten. Weitere Informationen zur Serverkonfigurationsoption Max. Serverarbeitsspeicher (MB) finden Sie unter Konfigurationsoptionen für den Serverarbeitsspeicher.

  1. Führen Sie das Skript mssql-conf als Rootbenutzer*in mit dem Befehl set für memory.memorylimitmb aus. Im folgenden Beispiel wird als verfügbarer Arbeitsspeicher für SQL Server 3,25 GB (3.328 MB) festgelegt.

    sudo /opt/mssql/bin/mssql-conf set memory.memorylimitmb 3328
    
  2. Starten Sie den SQL Server-Dienst neu, damit die Änderungen übernommen werden:

    sudo systemctl restart mssql-server
    

Zusätzliche Arbeitsspeichereinstellungen

Für die Arbeitsspeichereinstellungen stehen die folgenden Optionen zur Verfügung.

Option BESCHREIBUNG
memory.disablememorypressure Deaktivieren Sie die SQL Server-Arbeitsspeicherauslastung. Die Werte können true oder false lauten.
memory.memory_optimized Aktivieren oder deaktivieren Sie arbeitsspeicheroptimierte SQL Server-Features: Aufklärung für persistente Arbeitsspeicherdateien, Arbeitsspeicherschutz. Die Werte können true oder false lauten.
memory.enablecontainersharedmemory Gilt nur für SQL Server-Container. Verwenden Sie diese Einstellung, um freigegebenen Arbeitsspeicher in SQL Server-Containern zu aktivieren. Sie ist standardmäßig auf false festgelegt. Die Werte können true oder false lauten.

Konfigurieren von MSDTC

Die Einstellungen network.rpcport und distributedtransaction.servertcpport werden zum Konfigurieren des Microsoft Distributed Transaction Coordinator (MS DTC) verwendet. Führen Sie die folgenden Befehle aus, um diese Einstellungen zu ändern:

  1. Führen Sie das Skript mssql-conf als Rootbenutzer*in mit dem Befehl set für network.rpcport aus:

    sudo /opt/mssql/bin/mssql-conf set network.rpcport <rcp_port>
    
  2. Legen Sie dann die Einstellung distributedtransaction.servertcpport fest:

    sudo /opt/mssql/bin/mssql-conf set distributedtransaction.servertcpport <servertcpport_port>
    

Zusätzlich zum Festlegen dieser Werte müssen Sie auch das Routing konfigurieren und die Firewall für Port 135 aktualisieren. Weitere Informationen zur Vorgehensweise finden Sie unter Konfigurieren des Microsoft Distributed Transaction Coordinator (MS DTC) unter Linux.

Es sind einige weitere Einstellungen für mssql-conf verfügbar, mit denen Sie MS DTC überwachen und eine Problembehandlung durchführen können. Diese Einstellungen werden in der folgenden Tabelle kurz beschrieben. Weitere Informationen zu deren Verwendung finden Sie im Windows-Supportartikel Aktivieren der Diagnoseablaufverfolgungen für MS DTC.

Option BESCHREIBUNG
distributedtransaction.allowonlysecurerpccalls Konfigurieren von sicheren RPC-Aufrufen für verteilte Transaktionen.
distributedtransaction.fallbacktounsecurerpcifnecessary Konfigurieren von sicheren RPC-Aufrufen für verteilte Transaktionen
distributedtransaction.maxlogsize Dateigröße des DTC-Transaktionsprotokolls in MB. Der Standardwert ist 64 MB.
distributedtransaction.memorybuffersize Puffergröße des Ringspeichers, in dem Ablaufverfolgungen gespeichert werden. Die Größe wird in MB angegeben. Der Standardwert ist 10 MB.
distributedtransaction.servertcpport Port des MS DTC-RPC-Servers.
distributedtransaction.trace_cm Ablaufverfolgungen im Verbindungs-Manager.
distributedtransaction.trace_contact Ablaufverfolgungen für den Kontaktpool und für Kontakte.
distributedtransaction.trace_gateway Ablaufverfolgungen; Gatewayquelle
distributedtransaction.trace_log Protokollablaufverfolgung.
distributedtransaction.trace_misc Ablaufverfolgungen, die nicht in die anderen Kategorien fallen.
distributedtransaction.trace_proxy Ablaufverfolgungen, die im MS DTC-Proxy generiert werden.
distributedtransaction.trace_svc Ablaufverfolgungen für den Start der EXE-Datei und des Diensts
distributedtransaction.trace_trace Die eigentliche Ablaufverfolgungsinfrastruktur.
distributedtransaction.trace_util Für Ablaufverfolgungen verwendete Hilfsroutinen, die von unterschiedlichen Speicherorten aus aufgerufen werden.
distributedtransaction.trace_xa Ablaufverfolgungsquelle für XA-Transaktions-Manager (XATM).
distributedtransaction.tracefilepath Ordner, in dem Ablaufverfolgungsdateien gespeichert werden sollen.
distributedtransaction.turnoffrpcsecurity Aktivieren oder Deaktivieren der RPC-Sicherheit für verteilte Transaktionen.

Akzeptieren von Machine Learning Services EULAs

Wenn Sie der Datenbank-Engine R- oder Python-Pakete für maschinelles Lernen hinzufügen möchten, müssen Sie die Lizenzbedingungen für die Open-Source-Releases von R und Python akzeptieren. In der folgenden Tabelle werden alle verfügbaren Befehle oder Optionen aufgelistet, die sich auf die mlservices-Lizenzbedingungen beziehen. Für R und Python wird je nach Installation der gleiche Lizenzbedingungsparameter verwendet.

# 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

In der Datei mssql.conf können Sie direkt festlegen, dass die Lizenzbedingungen akzeptiert werden:

[EULA]
accepteula = Y
accepteulaml = Y

Aktivieren des Zugriffs auf ausgehenden Netzwerkdatenverkehr

In SQL Server Machine Learning Services haben R-, Python- und Java-Erweiterungen standardmäßig keinen Zugriff auf ausgehenden Netzwerkdatenverkehr. Sie können mit mssql-conf die boolesche outboundnetworkaccess-Eigenschaft festlegen, um ausgehende Anforderungen zu aktivieren.

Starten Sie anschließend das SQL Server-Launchpad neu, um die aktualisierten Werte aus der INI-Datei zu lesen. Wenn eine Erweiterbarkeitseinstellung geändert wird, werden Sie in einer Neustartmeldung darauf hingewiesen.

# 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

In der Datei mssql.conf können Sie auch direkt outboundnetworkaccess hinzufügen:

[extensibility]
outboundnetworkaccess = 1

Ändern des TCP-Ports

Mit der Einstellung network.tcpport können Sie einen anderen TCP-Port festlegen, auf dem SQL Server nach Verbindungen lauscht. In der Standardeinstellung ist dies der Port 1433. Führen Sie die folgenden Befehle aus, um den Port zu ändern:

  1. Führen Sie das Skript mssql-conf als Rootbenutzer*in mit dem Befehl set für network.tcpport aus:

    sudo /opt/mssql/bin/mssql-conf set network.tcpport <new_tcp_port>
    
  2. Starten Sie den SQL Server-Dienst neu:

    sudo systemctl restart mssql-server
    
  3. Wenn Sie nun eine Verbindung mit SQL Server herstellen, müssen Sie nach dem Hostnamen oder der IP-Adresse den benutzerdefinierten Port angeben und ihn mit einem Komma abtrennen. Wenn Sie beispielsweise eine Verbindung mit sqlcmd herstellen möchten, müssen Sie den folgenden Befehl verwenden:

    sqlcmd -S localhost,<new_tcp_port> -U test -P test
    

Festlegen von TLS-Einstellungen

Mit den folgenden Optionen können Sie TLS für eine SQL Server-Instanz konfigurieren, die unter Linux ausgeführt wird.

Option BESCHREIBUNG
network.forceencryption Wenn für die Option der Wert 1 festgelegt ist, erzwingt SQL Server, dass alle Verbindungen verschlüsselt werden. Der Standardwert für diese Option ist 0.
network.tlscert Der absolute Pfad zur Zertifikatdatei, die SQL Server für TLS verwendet. Beispiel: /etc/ssl/certs/mssql.pem Das mssql-Konto muss auf die Zertifikatdatei zugreifen können. Microsoft empfiehlt, den Zugriff auf die Datei mithilfe von chown mssql:mssql <file>; chmod 400 <file> einzuschränken.
network.tlskey Der absolute Pfad zur Datei mit dem privaten Schlüssel, die SQL Server für TLS verwendet. Beispiel: /etc/ssl/private/mssql.key Das mssql-Konto muss auf die Zertifikatdatei zugreifen können. Microsoft empfiehlt, den Zugriff auf die Datei mithilfe von chown mssql:mssql <file>; chmod 400 <file> einzuschränken.
network.tlsprotocols Eine durch Trennzeichen getrennte Liste mit TLS-Protokollen, die von SQL Server zugelassen werden. SQL Server versucht immer, das sicherste Protokoll zu verwenden. Wenn ein Client keines der zulässigen Protokolle unterstützt, lehnt SQL Server den Verbindungsversuch ab. Aus Kompatibilitätsgründen sind alle unterstützten Protokollversionen (1.2, 1.1, 1.0) standardmäßig zulässig. Wenn die Clients TLS 1.2 unterstützen, empfiehlt Microsoft, nur diese Version zuzulassen.
network.tlsciphers Mit dieser Einstellung können Sie festlegen, welche Verschlüsselungsverfahren von SQL Server für TLS zugelassen werden. Das Format für diese Zeichenfolge muss dem der Liste der Verschlüsselungsverfahren für OpenSSL entsprechen. In der Regel müssen Sie diese Option nicht ändern.
Die folgenden Verschlüsselungsverfahren sind standardmäßig zulässig:
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 Pfad zur Kerberos-Schlüsseltabellendatei

Ein Beispiel für die Verwendung der TLS-Einstellungen finden Sie unter Verschlüsseln von Verbindungen mit SQL Server unter Linux.

Netzwerkeinstellungen

Siehe Tutorial: Verwenden der Active Directory-Authentifizierung mit SQL Server für Linux, um umfassende Informationen zur Verwendung der Active Directory-Authentifizierung mit SQL Server für Linux zu erhalten.

Die folgenden Optionen sind zusätzliche Netzwerkeinstellungen, die mit mssql-conf konfiguriert werden können.

Option BESCHREIBUNG
network.disablesssd Hiermit wird die Abfrage von SSSD nach Active Directory-Kontoinformationen deaktiviert, und es werden standardmäßig LDAP-Aufrufe verwendet. Die Werte können true oder false lauten.
network.enablekdcfromkrb5conf Hiermit wird die Suche nach KDC-Informationen in „krb5.conf“ aktiviert. Die Werte können true oder false lauten.
network.forcesecureldap Hiermit wird LDAPS zum Kontaktieren des Domänencontrollers erzwungen. Die Werte können true oder false lauten.
network.ipaddress Die IP-Adresse für eingehende Verbindungen.
network.kerberoscredupdatefrequency Die Zeit in Sekunden zwischen Überprüfungen auf Kerberos-Anmeldeinformationen, die aktualisiert werden müssen. Der Wert ist eine ganze Zahl.
network.privilegedadaccount Privilegierter Active Directory-Benutzer, der für die Active Directory-Authentifizierung verwendet werden soll. Der Wert lautet <username>. Weitere Informationen finden Sie im Tutorial: Use Active Directory authentication with SQL Server on Linux (Tutorial: Verwenden der Azure Active Directory-Authentifizierung mit SQL Server unter Linux)
uncmapping Ordnet den UNC-Pfad einem lokalen Pfad zu. Beispiel: sudo /opt/mssql/bin/mssql-conf set uncmapping //servername/sharename /tmp/folder.
ldaphostcanon Legen Sie fest, ob OpenLDAP Hostnamen während des Bindungsschritts in eine kanonische Form umwandeln soll. Die Werte können true oder false lauten.

Aktivieren/Deaktivieren von Ablaufverfolgungsflags

Mit der Option traceflag können Sie Ablaufverfolgungsflags für den Start des SQL Server-Diensts aktivieren oder deaktivieren. Verwenden Sie die folgenden Befehle, um ein Ablaufverfolgungsflag zu aktivieren bzw. zu deaktivieren:

  1. Aktivieren Sie ein Ablaufverfolgungsflag mithilfe des folgenden Befehls. Beispiel für Ablaufverfolgungskennzeichnung 1234:

    sudo /opt/mssql/bin/mssql-conf traceflag 1234 on
    
  2. Sie können mehrere Ablaufverfolgungsflags aktivieren, indem Sie sie separat angeben:

    sudo /opt/mssql/bin/mssql-conf traceflag 2345 3456 on
    
  3. Auf ähnliche Weise können Sie aktivierte Ablaufverfolgungsflags deaktivieren, indem Sie sie angeben und den Parameter off ergänzen:

    sudo /opt/mssql/bin/mssql-conf traceflag 1234 2345 3456 off
    
  4. Starten Sie den SQL Server-Dienst neu, damit die Änderungen übernommen werden:

    sudo systemctl restart mssql-server
    

Löschen einer Einstellung

Sie können eine Einstellung löschen, die Sie mit mssql-conf set vorgenommen haben. Rufen Sie dazu mssql-conf mit der unset-Option und dem Namen der Einstellung auf. Dadurch wird die Einstellung auf den Standardwert zurückgesetzt.

  1. Im folgenden Beispiel wird der Wert der Option network.tcpport gelöscht.

    sudo /opt/mssql/bin/mssql-conf unset network.tcpport
    
  2. Starten Sie den SQL Server-Dienst neu.

    sudo systemctl restart mssql-server
    

Anzeigen der aktuellen Einstellungen

Sie können sich alle vorgenommen Einstellungen anzeigen lassen. Führen Sie dazu den folgenden Befehl aus, um die Inhalte der Datei mssql.conf auszugeben:

sudo cat /var/opt/mssql/mssql.conf

Für alle in dieser Datei nicht aufgeführten Einstellungen werden die Standardwerte verwendet. Der nächste Abschnitt enthält eine mssql.conf-Beispieldatei.

Anzeigen verschiedener Optionen

Führen Sie den help-Befehl aus, um verschiedene Optionen anzuzeigen, die mithilfe des mssql-conf-Hilfsprogramms konfiguriert werden können:

sudo /opt/mssql/bin/mssql-conf --help

Die Ergebnisse bieten Ihnen verschiedene Konfigurationsoptionen und eine kurze Beschreibung für jede der Einstellungen.

mssql.conf-Format

Die folgende /var/opt/mssql/mssql.conf-Datei enthält für jede Einstellung ein Beispiel. Sie können dieses Format verwenden, um bei Bedarf Änderungen an der Datei mssql.conf manuell vorzunehmen. Wenn Sie so vorgehen, müssen Sie SQL Server neu starten, damit die Änderungen übernommen werden. Wenn Sie die Datei mssql.conf mit Docker verwenden möchten, muss Docker die Daten dauerhaft speichern. Fügen Sie dazu zuerst Ihrem Hostverzeichnis eine vollständige mssql.conf-Datei hinzu, und führen Sie dann den Container aus. Ein Beispiel hierfür finden Sie unter Konfigurieren der Erfassung von Nutzungs- und Diagnosedaten für SQL Server unter 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

Zur SQL-Dokumentation beitragen

Wussten Sie schon, dass Sie SQL-Inhalte selbst bearbeiten könnten? Hierdurch helfen Sie nicht nur mit, unsere Dokumentation zu verbessern, sondern Sie werden auch als Mitwirkender an der Seite aufgeführt.

Weitere Informationen finden Sie unter Mitwirken an der SQL Server-Dokumentation.