Sql-Server

恢復特定數據庫時,SSMS 不會自動重命名文件。為什麼?

  • August 22, 2022

我有幾個數據庫,當我使用 SSMS 還原並選擇不同的目標名稱時,文件名也會自動重命名。

例子:

在此處輸入圖像描述

在此處輸入圖像描述


我遇到的問題是一個特定的數據庫,當我選擇不同的目標名稱時,文件不會自動重命名,我每次都必須手動重命名它們。是否有某個地方正在改變這種行為?

例子:

在此處輸入圖像描述

在此處輸入圖像描述

SQL Server 數據庫引擎本身從不這樣做。這是 SSMS 在通過其 UI 進行還原時有時會執行此操作的“功能”。

如果 SQL Server 可以將文件恢復到與原始數據庫完全相同的文件路徑,它將在原始位置恢復文件,而不進行任何更改。

如果還原目標上不存在該原始位置(或者,我相信如果您選中“將所有文件重新定位到文件夾”複選框),那麼 SSMS 會嘗試為命令的MOVE子句動態建構文件路徑和名稱RESTORE DATABASE,並且在此過程中可能會重命名您的數據文件。

根據您的案例和文件命名約定,這可能非常有用。就個人而言,我覺得這很煩人,並且更喜歡建構RESTORE DATABASET-SQL,以便我可以完全控制/查看位置和文件名。

根據我剛剛使用 SSMS v18.2.1 執行的測試,看起來這個 SSMS 功能區分大小寫。

在您的範例中,數據庫名稱是生產,但您的文件是 Production.mdf 和 Production.ldf,因此 SSMS 不會在文件名中自動替換數據庫名稱。

引用自:https://dba.stackexchange.com/questions/315897