徵狀

假設您使用的是 Linux 上的 SQL Server 2017。 根據預設,master database 位於 [位置] /var/opt/mssql/data現在,您想要將主資料庫檔案和錯誤記錄檔的位置變更至不同的位置。

解決方案

此更新包含在 SQL Server 的下列累積更新中:

       SQL Server 2017 的累積更新4

安裝 SQL server 2017 CU4 之後,您就可以變更 master 資料庫檔案和錯誤記錄檔位置的位置。

每個新的 SQL Server 累計更新都包含所有的修正程式,以及前一個累積更新中所包含的所有安全性修正程式。 查看 SQL Server 的最新累計更新:

SQL Server 2017 的最新累計更新

其他相關資訊

設定 Errorlogfile 位置:

  • 使用下列命令來設定新的錯誤日誌位置。 確定資料夾結構是預先建立的,而「mssql」帳戶具有建立檔案的許可權。

    • /mssql-conf 設定 filelocation errorlogfile/home/user/sqlserver/log/errorlog

    • 錯誤記錄的環境變數是 MSSQL_ERROR_LOG_FILE。

以下是設定主資料基底檔案位置的案例和步驟:

注意: 請務必在進行任何變更前,先完成包括主資料庫在內的所有資料庫備份。

案例1:在現有的 SQL 安裝上變更 master 資料庫檔案的位置。

  • 您可以在 mssql 會議公用程式中使用新的選項,以提供主要版 .mdf、mastlog 和錯誤日誌的位置。

  • 以下是設定位置的命令。

  • /mssql-conf 設定 filelocation masterdatafile/home/user/sqlserver/data/master.mdf

  • /mssql-conf 設定 filelocation masterlogfile/home/user/sqlserver/data/mastlog.ldf

  • 在設定設定之前,請確定提供的路徑已存在,且「mssql」使用者擁有該資料夾的完整許可權。

  • 設定 [停止 mssql-伺服器] (systemctl [停止 mssql-伺服器]),然後將 master. .mdf 和 mastlog 移至設定的位置,然後重新開機 sql server (systemctl [啟動 mssql-server])。

案例2:在安裝前預先設定 master 資料庫檔案的位置。

  • 在您安裝 mssql Server 之後(例如: apt-取得安裝 mssql-server)。

  • 您可以設定環境變數,如下所示:

  • export MSSQL_MASTER_DATA_FILE =/home/user/sqlservr/data/master.mdf

  • export MSSQL_MASTER_LOG_FILE =/home/user/sqlservr/data/mastlog.ldf

  • 或者,您可以使用案例1中所提及的步驟來設定設定,然後再按下 mssql 帳戶所擁有之 /var/opt/mssql/ 資料夾的許可權。 如果您設定了環境變數與 mssql 會議設定,則環境變數將會優先。

注意:主要資料基底的檔案名應該是 ".master" ,而主版記錄在安裝期間應該是 "mastlog" 。 檔案名可能會在稍後進行變更。

如果未建立資料夾結構或 mssql 帳戶沒有適當的許可權,您將會在安裝期間收到下列錯誤。

錯誤: BootstrapSystemDataDirectories ()失敗(HRESULT 0x80070002)

初次設定 Microsoft SQL Server 失敗。 請參閱錯誤日誌

 

案例3:變更主資料庫檔案的名稱

  • [停止 mssql-伺服器]。

  • 使用 mssql 會議設定檔案名

  • 將主資料庫檔案重新命名為已設定的檔案名。

  • 開始 mssql-伺服器

下列是變更主資料庫檔案名稱的命令。

systemctl [停止 mssql-伺服器]

/mssql-conf 設定 filelocation masterdatafile/home/sqlservr/data/testmaster.mdf

/mssql-conf 設定 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 [開始 mssql-伺服器]

參考

瞭解 Microsoft 用於描述軟體更新的 詞彙

Need more help?

Expand your skills
Explore Training
Get new features first
Join Microsoft Insiders

Was this information helpful?

How satisfied are you with the translation quality?
What affected your experience?

Thank you for your feedback!

×