KB4053439 – Poboljšanje: premeštanje glavne baze podataka i datoteke evidencije grešaka na drugu lokaciju u programu SQL Server 2017 na Linux

Primenjuje se na
SQL Server 2017 Developer Linux SQL Server 2017 Enterprise on Linux SQL Server 2017 Enterprise Core on Linux SQL Server 2017 Standard on Linux

Simptomi

Pretpostavimo da koristite SQL Server 2017 u operativnom sistemu Linux. Master baze podataka se podrazumevano nalazi na lokaciji /var/opt/mssql/data. Sada želite da promenite lokaciju glavne datoteke baze podataka i datoteke evidencije grešaka na drugu lokaciju.

Rešenje

Ova ispravka je uključena u sledeću kumulativnu ispravku za SQL Server:

Kumulativna ispravka 4 za SQL Server 2017

Kada instalirate SQL Server 2017 CU4, moći ćete da promenite lokaciju glavne datoteke baze podataka i lokaciju datoteke evidencije grešaka.

Osnovni podaci o kumulativnim ispravkama za SQL Server:

Svaka nova kumulativna ispravka za SQL Server sadrži sve hitne ispravke i sve bezbednosne ispravke koje su uključene u prethodnu kumulativnu ispravku. Pogledajte najnovije kumulativne ispravke za SQL Server:

Najnovija kumulativna ispravka za SQL Server 2017

Više informacija

Konfigurišite lokaciju Errorlogfile:

  • Koristite sledeću komandu da biste podesili novu lokaciju evidencije grešaka. Uverite se da je struktura fascikli unapred kreirana i da "mssql" nalog ima dozvole za kreiranje datoteke.

    • ./mssql-conf set filelocation.errorlogfile /home/user/sqlserver/log/errorlog
    • Promenljiva okruženja za evidenciju grešaka je MSSQL_ERROR_LOG_FILE.

Slede scenariji i koraci za konfigurisanje lokacije datoteka matične baze podataka:

NAPOMENA: Uverite se da ste izvršili kompletnu rezervnu kopiju svih baza podataka, uključujući glavnu bazu podataka, pre nego što izvršite bilo kakve promene.

1. SCENARIO: Promena lokacije glavne datoteke baze podataka u postojećoj SQL instalaciji.

  • Nove opcije su dostupne u msskl-conf uslužnom programu da obezbedi lokaciju master.mdf mastlog.ldf i errorlog.
  • Slede komande za podešavanje lokacije.
  • ./mssql-conf set filelocation.masterdatafile /home/user/sqlserver/data/master.mdf
  • ./mssql-conf set filelocation.masterlogfile /home/user/sqlserver/data/mastlog.ldf
  • Pre konfigurisanja postavki, uverite se da navedena putanja već postoji i da "mssql" korisnik ima punu dozvolu za fasciklu.
  • Nakon konfigurisanja podešavanja zaustaviti msskl-server (sistemctl stop msskl-server) i pomerite master.mdf i mastlog.ldf na konfigurisanu lokaciju i ponovo pokrenite SKL Server (SistemCTL start msskl-server).

2. SLUČAJ: Unapred konfigurišite lokaciju datoteke glavne baze podataka pre instalacije.

  • Kada instalirate mssql-server (npr: apt-get instalirate mssql-server).
  • Promenljivu okruženja možete da podesite na sledeći način:
  • Export MSSQL_MASTER_DATA_FILE=/home/user/sqlservr/data/master.mdf
  • export MSSQL_MASTER_LOG_FILE=/home/user/sqlservr/data/mastlog.ldf
  • Ili možete da koristite korake pomenute u SCENARIJU 1 da biste podesili konfiguraciju, a zatim promenite dozvolu za /var/opt/mssql/ fasciklu koja je u vlasništvu msSQL naloga. Ako podesite postavke sistemske promenljive i mssql-conf, onda će promenljiva okruženja imati prvenstvo.

NAPOMENA: Ime datoteke matične baze podataka treba da bude "master.mdf", a master dnevnik bi trebalo da bude "mastlog.ldf" tokom instalacije. Ime datoteke se kasnije može promeniti.

Ako struktura fascikli nije kreirana ili MSSQL nalog nema odgovarajuću dozvolu, dobićete sledeću grešku tokom instalacije.

Napomena

  • GREŠKA: Greška prilikom pokretanja sistema BootstrapSystemDataDirectories() (HRESULT 0x80070002)
  • Početno podešavanje sistema Microsoft SQL Server nije uspelo. Pogledajte ERRORLOG

3. SLUČAJ: Promena imena datoteka glavne baze podataka

  • Zaustavite mssql-server.
  • Postavljanje imena datoteka pomoću mssql-conf
  • Preimenujte datoteke glavne baze podataka u konfigurisana imena datoteka.
  • Pokrenite mssql-server

Slede komande za promenu imena datoteka glavne baze podataka.

Napomena

  • 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

Saznajte više o terminologiji koju Microsoft koristi za opisivanje softverskih ispravki.