KB4053439 – Vylepšení: Přesunutí hlavní databáze a souboru protokolu chyb do jiného umístění v SQL Server 2017 na Linux

Platí pro
SQL Server 2017 Developer Linux SQL Server 2017 Enterprise on Linux SQL Server 2017 Enterprise Core on Linux SQL Server 2017 Standard on Linux

Příznaky

Předpokládejme, že používáte SQL Server 2017 v systému Linux. Ve výchozím nastavení je hlavní databáze umístěna v umístění /var/opt/mssql/data. Nyní chcete změnit umístění hlavního databázového souboru a souboru protokolu chyb na jiné umístění.

Řešení

Tato aktualizace je součástí následující kumulativní aktualizace pro SQL Server:

Kumulativní aktualizace 4 pro SQL Server 2017

Po instalaci SQL Serveru 2017 CU4 budete moct změnit umístění hlavního databázového souboru a umístění souboru protokolu chyb.

Informace o kumulativních aktualizacích pro SQL Server:

Každá nová kumulativní aktualizace pro SQL Server obsahuje všechny opravy hotfix a všechny opravy zabezpečení, které byly součástí předchozí kumulativní aktualizace. Podívejte se na nejnovější kumulativní aktualizace pro SQL Server:

Nejnovější kumulativní aktualizace pro SQL Server 2017

Další informace

Konfigurace umístění souboru Errorlogfile:

  • K nastavení nového umístění protokolu chyb použijte následující příkaz. Struktura složek musí být předem vytvořená a účet mssql má oprávnění k vytvoření souboru.

    • ./mssql-conf set filelocation.errorlogfile /home/user/sqlserver/log/errorlog
    • Proměnná prostředí pro protokol chyb je MSSQL_ERROR_LOG_FILE.

Níže jsou uvedeny scénáře a kroky konfigurace umístění souborů kmenové databáze:

POZNÁMKA: Před provedením jakékoli změny si prosím udělejte úplnou zálohu všech databází včetně hlavní databáze.

SCÉNÁŘ 1: Změna umístění hlavního databázového souboru ve stávající instalaci SQL.

  • V nástroji mssql-conf jsou k dispozici nové volby pro poskytnutí umístění master.mdf, mastlog.ldf a errorlog.
  • Umístění nastavíte pomocí následujících příkazů:
  • ./mssql-conf set filelocation.masterdatafile /home/user/sqlserver/data/master.mdf
  • ./mssql-conf set filelocation.masterlogfile /home/user/sqlserver/data/mastlog.ldf
  • Před konfigurací nastavení se ujistěte, že zadaná cesta již existuje a že uživatel mssql má ke složce úplná oprávnění.
  • Po konfiguraci nastavení zastavte mssql-server (systemctl stop mssql-server) a přesuňte master.mdf a mastlog.ldf do nakonfigurovaného umístění a restartujte sql server (systemctl start mssql-server).

SCÉNÁŘ 2: Před instalací předem nakonfigurujte umístění hlavního databázového souboru.

  • Po instalaci mssql-server (např. apt-get install mssql-server).
  • Proměnnou prostředí můžete nastavit následujícím způsobem:
  • export MSSQL_MASTER_DATA_FILE=/home/user/sqlservr/data/master.mdf
  • export MSSQL_MASTER_LOG_FILE=/home/user/sqlservr/data/mastlog.ldf
  • Nebo můžete pomocí kroků uvedených ve scénáři 1 nastavit konfiguraci a poté změnit oprávnění složky /var/opt/mssql/ , kterou vlastní účet mssql. Pokud nastavíte nastavení proměnné prostředí a mssql-conf, bude mít proměnná prostředí přednost.

POZNÁMKA: Název souboru databáze by měl být 'master.mdf' a hlavní protokol by měl být 'mastlog.ldf' . Název souboru může být později změněn.

Pokud není vytvořena struktura složek nebo účet mssql nemá správná oprávnění, zobrazí se při instalaci následující chyba.

Poznámka

  • CHYBA: Chyba BootstrapSystemDataDirectories() (HRESULT 0x80070002)
  • Počáteční instalace systému Microsoft SQL Server se nezdařila. Nahlédněte prosím do protokolu ERRORLOG.

SCÉNÁŘ 3: Změna názvu souborů hlavní databáze

  • Zastavte mssql-server.
  • Nastavení názvů souborů pomocí mssql-conf
  • Přejmenujte soubory hlavní databáze na nakonfigurované názvy souborů.
  • Spusťte mssql-server

Tady jsou příkazy pro změnu názvu souborů hlavní databáze.

Poznámka

  • systemctl stop mssql-server
  • ./mssql-conf set filelocation.masterdatafile /home/sqlservr/data/testmaster.mdf
  • ./mssql-conf set filelocation.masterlogfile /home/sqlservr/data/testmastlog.ldf
  • mv /home/sqlservr/data/master.mdf /home/sqlservr/data/testmaster.mdf
  • mv /home/sqlservr/data/mastlog.ldf /home/sqlservr/data/testmastlog.ldf
  • systemctl start mssql-server

Reference

Podívejte se na informace o terminologii, kterou společnost Microsoft používá k popisování aktualizací softwaru.