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.