Simptomi
Pretpostavimo da koristite SQL Server 2017 u sustavu Linux. Glavna baza podataka prema zadanim se postavkama nalazi na lokaciji /var/opt/mssql/data. Sada želite promijeniti mjesto datoteke glavne baze podataka i datoteke zapisnika pogrešaka na drugo mjesto.
Rješenje
Ovo je ažuriranje obuhvaćeno sljedećim kumulativnim ažuriranjem za SQL Server:
Kumulativno ažuriranje 4 za SQL Server 2017
Nakon instalacije sustava SQL server 2017 CU4 moći ćete promijeniti mjesto datoteke glavne baze podataka i mjesto datoteke zapisnika pogrešaka.
O kumulativnim ažuriranjima za SQL Server:
Svako novo kumulativno ažuriranje za SQL Server sadrži sve hitne popravke i sigurnosne popravke koji su obuhvaćeni prethodnim kumulativnim ažuriranjem. Pogledajte najnovija kumulativna ažuriranja za SQL Server:
Najnovije kumulativno ažuriranje za SQL Server 2017
Dodatne informacije
Konfiguriranje mjesta datoteke zapisnika pogrešaka:
Da biste postavili novo mjesto zapisnika pogrešaka, koristite sljedeću naredbu. Provjerite je li struktura mapa unaprijed stvorena i ima li "mssql" račun dozvole za stvaranje datoteke.
- ./mssql-conf set filelocation.errorlogfile /home/user/sqlserver/log/errorlog
- Varijabla okruženja za zapisnik o pogreškama jest MSSQL_ERROR_LOG_FILE.
Slijede scenariji i koraci za konfiguriranje mjesta glavnih datoteka baze podataka:
NAPOMENA: Prije bilo kakvih promjena provjerite jeste li stvorili potpunu sigurnosnu kopiju svih baza podataka, uključujući glavnu bazu podataka.
1. SCENARIJ: promjena mjesta glavne datoteke baze podataka u postojećoj instalaciji sustava SQL.
- U uslužnom programu mssql-conf dostupne su nove mogućnosti za navođenje lokacije master.mdf , mastlog.ldf i errorlog.
- U nastavku su navedene naredbe za postavljanje mjesta.
- ./mssql-conf set filelocation.masterdatafile /home/user/sqlserver/data/master.mdf
- ./mssql-conf set filelocation.masterlogfile /home/user/sqlserver/data/mastlog.ldf
- Prije konfiguriranja postavki provjerite postoji li navedeni put već i ima li korisnik "mssql" punu dozvolu za mapu.
- Nakon konfiguriranja postavke zaustavite mssql-server (systemctl, zaustavi, mssql-server) i pomaknite master.mdf i mastlog.ldf na konfigurirano mjesto, a zatim ponovno pokrenite SQL Server (systemctl start mssql-server).
DRUGI SCENARIJ: Prije instalacije unaprijed konfigurirajte mjesto datoteke glavne baze podataka.
- Nakon instalacije sustava mssql-server (npr.: apt-get instalirajte mssql-server).
- Varijablu okruženja možete postaviti na sljedeć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
- Možete i postaviti konfiguraciju pomoću koraka navedenih u prvom scenariju, a zatim promijeniti dozvolu za mapu /var/opt/mssql/ koja je u vlasništvu mssql računa. Ako postavite postavke varijable okruženja i mssql-conf, varijabla okruženja će imati prednost.
NAPOMENA: Naziv datoteke glavne baze podataka trebao bi biti 'master.mdf' , a glavni dnevnik trebao bi biti 'mastlog.ldf' tijekom instalacije. Naziv datoteke može se kasnije promijeniti.
Ako struktura mape nije stvorena ili mssql račun nema odgovarajuću dozvolu, dobit ćete sljedeću pogrešku tijekom postavljanja.
Napomena
- POGREŠKA: neuspjeh BootstrapSystemDataDirectories() (HRESULT 0x80070002)
- Početno postavljanje sustava Microsoft SQL Server nije uspjelo. Pogledajte ZAPISNIK POGREŠAKA
3. SCENARIJ: promjena naziva datoteka glavne baze podataka
- Zaustavite mssql-server.
- Postavljanje naziva datoteka pomoću značajke mssql-conf
- Preimenujte datoteke glavne baze podataka u konfigurirane nazive datoteka.
- Pokrenite mssql-server
U nastavku su navedene naredbe za promjenu naziva glavnih datoteka 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 upotrebljava za opisivanje softverskih ažuriranja.