Sign in with Microsoft
Sign in or create an account.
Hello,
Select a different account.
You have multiple accounts
Choose the account you want to sign in with.

徵狀

假設您使用的是 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?

Want more options?

探索訂閱權益、瀏覽訓練課程、瞭解如何保護您的裝置等等。

社群可協助您詢問並回答問題、提供意見反應,以及聆聽來自具有豐富知識的專家意見。

Was this information helpful?

How satisfied are you with the translation quality?
What affected your experience?
By pressing submit, your feedback will be used to improve Microsoft products and services. Your IT admin will be able to collect this data. Privacy Statement.

Thank you for your feedback!

×