KB4053439 — uzlabojums: pamata datu bāzes un kļūdu žurnālfaila pārvietošana uz citu atrašanās vietu programmā SQL Server 2017 pakalpojumā Linux

Attiecas uz
SQL Server 2017 Developer Linux SQL Server 2017 Enterprise on Linux SQL Server 2017 Enterprise Core on Linux SQL Server 2017 Standard on Linux

Pazīmes

Pieņemsim, ka izmantojat SQL Server 2017 operētājsistēmā Linux. Pēc noklusējuma galvenā datu bāze atrodas atrašanās vietā /var/opt/mssql/data. Tagad jūs vēlaties mainīt pamata datu bāzes faila un kļūdu žurnālfaila atrašanās vietu uz citu atrašanās vietu.

Risinājums

Šis atjauninājums ir iekļauts tālāk norādītajā SQL Server kumulatīvajā atjauninājumā:

SQL Server 2017 4. kumulatīvais atjauninājums

Pēc SQL Server 2017 CU4 instalēšanas varēsit mainīt pamata datu bāzes faila un kļūdu žurnālfaila atrašanās vietu.

Par SQL Server kumulatīvajiem atjauninājumiem:

Katrā jaunajā SQL Server kumulatīvajā atjauninājumā ir visi labojumfaili un visi drošības labojumi, kas bija iekļauti iepriekšējā kumulatīvajā atjauninājumā. Skatiet jaunākos SQL Server kumulatīvos atjauninājumus:

Jaunākais kumulatīvais atjauninājums SQL Server 2017

Papildinformācija

Konfigurēt Errorlogfile atrašanās vietu:

  • Lai iestatītu jaunu atrašanās vietu kļūdu žurnālam, izmantojiet tālāk norādīto komandu. Pārliecinieties, vai mapju struktūra ir iepriekš izveidota un "mssql" kontam ir atļaujas izveidot failu.

    • ./mssql-conf set filelocation.errorlogfile /home/user/sqlserver/log/errorlog
    • Kļūdu žurnāla vides mainīgais ir MSSQL_ERROR_LOG_FILE.

Tālāk ir norādīti scenāriji un darbības, lai konfigurētu pamatdatu bāzes failu atrašanās vietu:

PIEZĪME: Lūdzu, pārliecinieties, ka esat pilnībā dublējis visas savas datu bāzes, ieskaitot pamatdatu bāzi, pirms veicat kādas izmaiņas.

1. SCENĀRIJS. Mainiet pamata datu bāzes faila atrašanās vietu esošajā SQL instalācijā.

  • MSSQL-conf utilītā ir pieejamas jaunas opcijas, lai nodrošinātu master.mdf atrašanās vietu, mastlog.ldf un errorlog.
  • Tālāk ir norādītas atrašanās vietas iestatīšanas komandas.
  • ./mssql-conf set filelocation.masterdatafile /home/user/sqlserver/data/master.mdf
  • ./mssql-conf set filelocation.masterlogfile /home/user/sqlserver/data/mastlog.ldf
  • Pirms konfigurējat iestatījumus, pārliecinieties, vai norādītais ceļš jau pastāv un vai mssql lietotājam ir pilnas atļaujas attiecībā uz mapi.
  • Pēc iestatījuma konfigurēšanas pārtrauciet mssql-server (systemctl, apturiet mssql-server) un pārvietojiet master.mdf un mastlog.ldf uz konfigurēto atrašanās vietu un restartējiet sql server (systemctl, startējiet mssql-server).

2. SCENĀRIJS. Iepriekš konfigurējiet pamata datu bāzes faila atrašanās vietu pirms instalēšanas.

  • Pēc mssql-server instalēšanas (piemēram: apt-get, install mssql-server).
  • Vides mainīgo var iestatīt šādi:
  • eksportēt MSSQL_MASTER_DATA_FILE=/home/user/sqlservr/data/master.mdf
  • eksportēt MSSQL_MASTER_LOG_FILE=/home/user/sqlservr/data/mastlog.ldf
  • Vai arī varat izmantot darbības, kas minētas 1. scenārijā, lai iestatītu konfigurāciju un pēc tam mainītu atļauju / var/opt/mssql/ mapei, kas pieder msSQL kontam. Ja iestatāt vides mainīgo un mssql-conf iestatījumus, vides mainīgais būs prioritārs.

PIEZĪME. Instalēšanas laikā pamata datu bāzes faila nosaukumam jābūt "master.mdf" un galvenajam žurnālam jābūt "mastlog.ldf ". Vēlāk faila nosaukumu var mainīt.

Ja mapju struktūra nav izveidota vai mssql kontam nav atbilstošo atļauju, iestatīšanas laikā tiks parādīts šāds kļūdas ziņojums.

Piezīme

  • KĻŪDA: BootstrapSystemDataDirectories() kļūme (HRESULT 0x80070002)
  • Microsoft SQL Server sākotnējā iestatīšana neizdevās. Lūdzu, skatiet KĻŪDU žurnālu

3. SCENĀRIJS. Mainiet galvenās datu bāzes failu nosaukumu

  • Apturiet mssql-server.
  • Failu nosaukumu iestatīšana, izmantojot mssql-conf
  • Pārdēvējiet pamata datu bāzes failus uz konfigurētajiem failu nosaukumiem.
  • Startējiet mssql-server

Tālāk ir norādītas komandas, lai mainītu galvenās datu bāzes failu nosaukumus.

Piezīme

  • systemctl apturēšana 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

Atsauces

Uzziniet par terminoloģiju, ko Microsoft izmanto, lai aprakstītu programmatūras atjauninājumus.