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. |
SQL Server-Connector | Konfigurieren der Protokollierungsstufe für SQL Server-Connector. |
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 Dateimssql.conf
mit den gewünschten Einstellungen, und stellen Sie dann den Container erneut bereit. Durch die folgende Ergänzung in der Dateimssql.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:
Aktivieren Sie den SQL Server-Agent:
sudo /opt/mssql/bin/mssql-conf set sqlagent.enabled true
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
= Fehler2
= Warnungen4
= 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.
Sichern Sie zuerst alle Benutzerdatenbanken auf Ihrem Server.
Verwenden Sie dann die gespeicherte Prozedur sp_detach_db, um die Benutzerdatenbanken zu trennen.
Führen Sie die Option
set-collation
aus, und folgen Sie den Anweisungen:sudo /opt/mssql/bin/mssql-conf set-collation
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.
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.
Führen Sie das Skript mssql-conf als Rootbenutzer*in mit dem Befehl
set
fürtelemetry.customerfeedback
aus. Im folgenden Beispiel wird das Kundenfeedback durch die Angabe vonfalse
deaktiviert.sudo /opt/mssql/bin/mssql-conf set telemetry.customerfeedback false
Starten Sie den SQL Server-Dienst neu:
sudo systemctl restart mssql-server
Weitere Informationen finden Sie unter Konfigurieren der Verwendung und diagnostischen Datensammlung für SQL Server unter Linux and SQL Server-Datenschutzergänzung.
Ä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:
Erstellen Sie das Zielverzeichnis für neue Datenbank- und Protokolldateien. Im folgenden Beispiel wird das Verzeichnis
/tmp/data
erstellt:sudo mkdir /tmp/data
Ändern Sie Besitzer und Gruppe des Verzeichnisses in den
mssql
-Benutzer:sudo chown mssql /tmp/data sudo chgrp mssql /tmp/data
Verwenden Sie mssql-conf mit dem Befehl
set
, um das Standarddatenverzeichnis zu ändern:sudo /opt/mssql/bin/mssql-conf set filelocation.defaultdatadir /tmp/data
Starten Sie den SQL Server-Dienst neu:
sudo systemctl restart mssql-server
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
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:
Erstellen Sie das Zielverzeichnis für neue Fehlerprotokolldateien. Im folgenden Beispiel wird das Verzeichnis
/tmp/masterdatabasedir
erstellt:sudo mkdir /tmp/masterdatabasedir
Ändern Sie Besitzer und Gruppe des Verzeichnisses in den
mssql
-Benutzer:sudo chown mssql /tmp/masterdatabasedir sudo chgrp mssql /tmp/masterdatabasedir
Verwenden Sie mssql-conf mit dem Befehl
set
, um das Standardverzeichnis dermaster
-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.
Halten Sie den SQL Server-Dienst an:
sudo systemctl stop mssql-server
Verschieben Sie die Dateien
master.mdf
undmastlog.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
Starten Sie den SQL Server-Dienst:
sudo systemctl start mssql-server
Hinweis
Wenn SQL Server die Dateien
master.mdf
undmastlog.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 neuenmaster
-Datenbank aktualisiert. Wenn Sie die vorhandenen Metadaten weiterhin verwenden möchten, müssen Sie SQL Server anhalten, die alten Dateienmaster.mdf
undmastlog.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:
Halten Sie den SQL Server-Dienst an:
sudo systemctl stop mssql-server
Verwenden Sie mssql-conf mit dem Befehl
set
, um diemaster
-Datenbanknamen für diemaster
-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 Dateienmaster.mdf
undmastlog.ldf
heißen.Ä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
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:
Erstellen Sie das Zielverzeichnis für neue Speicherabbilddateien. Im folgenden Beispiel wird das Verzeichnis
/tmp/dump
erstellt:sudo mkdir /tmp/dump
Ändern Sie Besitzer und Gruppe des Verzeichnisses in den
mssql
-Benutzer:sudo chown mssql /tmp/dump sudo chgrp mssql /tmp/dump
Verwenden Sie mssql-conf mit dem Befehl
set
, um das Standarddatenverzeichnis zu ändern:sudo /opt/mssql/bin/mssql-conf set filelocation.defaultdumpdir /tmp/dump
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:
Erstellen Sie das Zielverzeichnis für neue Fehlerprotokolldateien. Im folgenden Beispiel wird das Verzeichnis
/tmp/logs
erstellt:sudo mkdir /tmp/logs
Ändern Sie Besitzer und Gruppe des Verzeichnisses in den
mssql
-Benutzer:sudo chown mssql /tmp/logs sudo chgrp mssql /tmp/logs
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
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:
Erstellen Sie das Zielverzeichnis für neue Sicherungsdateien. Im folgenden Beispiel wird das Verzeichnis
/tmp/backup
erstellt:sudo mkdir /tmp/backup
Ändern Sie Besitzer und Gruppe des Verzeichnisses in den
mssql
-Benutzer:sudo chown mssql /tmp/backup sudo chgrp mssql /tmp/backup
Verwenden Sie mssql-conf mit dem Befehl
set
, um das Standardsicherungsverzeichnis zu ändern:sudo /opt/mssql/bin/mssql-conf set filelocation.defaultbackupdir /tmp/backup
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.
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
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-Strukturfiltered
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 Einstellungcoredump.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.
- Konfigurieren von SQL Server-Always On-Verfügbarkeitsgruppen für Hochverfügbarkeit unter Linux
- Konfigurieren einer SQL Server-Verfügbarkeitsgruppe zur Leseskalierung unter Linux
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.
Erstellen Sie ein Zielverzeichnis für neue Protokolle von lokalen Überwachungen. Im folgenden Beispiel wird das Verzeichnis
/tmp/audit
erstellt:sudo mkdir /tmp/audit
Ändern Sie Besitzer und Gruppe des Verzeichnisses in den
mssql
-Benutzer:sudo chown mssql /tmp/audit sudo chgrp mssql /tmp/audit
Führen Sie das Skript mssql-conf als Rootbenutzer*in mit dem Befehl
set
fürtelemetry.userrequestedlocalauditdirectory
aus:sudo /opt/mssql/bin/mssql-conf set telemetry.userrequestedlocalauditdirectory /tmp/audit
Starten Sie den SQL Server-Dienst neu:
sudo systemctl restart mssql-server
Weitere Informationen finden Sie unter Konfigurieren der Sammlung von Verwendungs- und 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.
Im folgenden Beispiel wird Französisch (1036) als Gebietsschema festgelegt:
sudo /opt/mssql/bin/mssql-conf set language.lcid 1036
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.
Führen Sie das Skript mssql-conf als Rootbenutzer*in mit dem Befehl
set
fürmemory.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
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. Werte können true oder false (Standardeinstellung) sein. Die Deaktivierung des Speicherdrucks hemmt die Signale, die SQL Server verwendet, um seine physische Speichernutzung auf memory.memorylimitmb zu begrenzen, was dazu führt, dass die Nutzung schließlich über diese Grenze hinausgeht. |
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. Weitere Informationen finden Sie unter Aktivieren Sie VDI-Backup und -Wiederherstellung in Containern.. Werte können true oder false (Standardeinstellung) sein. |
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:
Führen Sie das Skript mssql-conf als Rootbenutzer*in mit dem Befehl
set
fürnetwork.rpcport
aus:sudo /opt/mssql/bin/mssql-conf set network.rpcport <rcp_port>
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 Diagnoseablaufverfolgung für MS DTC auf einem Windows 10-Computer.
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 der Protokollierungsstufe für den SQL Server-Connector für Azure Key Vault
In SQL Server 2022 (16.x) CU 14 und höheren Versionen unterstützt SQL Server für Linux die erweiterbare Schlüsselverwaltung für TDE mit Azure Key Vault. Die Protokollierungsstufe können Sie auf einen der folgenden Werte einstellen:
Ebene | Beschreibung |
---|---|
0 (Standardwert) |
Informationen |
1 |
Fehler |
2 |
Kein Protokoll |
Ändern Sie die Protokollierungsstufe für den SQL Server-Connector anhand des folgenden Beispiels:
sudo /opt/mssql/bin/mssql-conf set sqlconnector.logginglevel 1
Weitere Informationen finden Sie unter Verwenden von SQL Server-Connector mit SQL-Verschlüsselungsfunktionen.
Ä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:
Führen Sie das Skript mssql-conf als Rootbenutzer*in mit dem Befehl
set
fürnetwork.tcpport
aus:sudo /opt/mssql/bin/mssql-conf set network.tcpport <new_tcp_port>
Starten Sie den SQL Server-Dienst neu:
sudo systemctl restart mssql-server
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:
Aktivieren Sie ein Ablaufverfolgungsflag mithilfe des folgenden Befehls. Beispiel für Ablaufverfolgungskennzeichnung 1234:
sudo /opt/mssql/bin/mssql-conf traceflag 1234 on
Sie können mehrere Ablaufverfolgungsflags aktivieren, indem Sie sie separat angeben:
sudo /opt/mssql/bin/mssql-conf traceflag 2345 3456 on
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
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.
Im folgenden Beispiel wird der Wert der Option
network.tcpport
gelöscht.sudo /opt/mssql/bin/mssql-conf unset network.tcpport
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 in Konfigurieren der Sammlung von Verwendungs- 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
Zugehöriger Inhalt
- Konfigurieren von SQL Server-Einstellungen mit Umgebungsvariablen unter Linux
- Auswählen des richtigen Tools zum Verwalten von SQL Server für Linux
- Konfigurieren und Anpassen von SQL Server-Linux-Containern
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.