在 SQL Server 中,您可在 FILENAME 陳述式的 子句中指定新的檔案位置,從而將使用者資料庫的資料、記錄和全文檢索目錄檔案移至新位置。 此方法適用於在相同執行個體 SQL Server 內移動資料庫檔案。 若要將資料庫移至另一個 SQL Server 執行個體或另一部伺服器,請使用備份與還原或分離和附加作業。
SELECT name,
physical_name AS CurrentLocation,
state_desc
FROM sys.master_files
WHERE database_id = DB_ID(N'<database_name>');
範例
做為計劃內重新放置的一部分,下列範例會將 AdventureWorks2022 記錄檔移至新位置。
確認您在 master 資料庫的內容中。
USE master;
GO
傳回邏輯檔案名稱。
SELECT name,
physical_name AS CurrentLocation,
state_desc
FROM sys.master_files
WHERE database_id = DB_ID(N'AdventureWorks2022')
AND type_desc = N'LOG';
GO
ALTER DATABASE AdventureWorks2022
MODIFY FILE (NAME = AdventureWorks2022_Log, FILENAME = 'C:\NewLoc\AdventureWorks2022_Log.ldf');
GO
ALTER DATABASE AdventureWorks2022
SET ONLINE;
GO
確認新位置。
SELECT name,
physical_name AS CurrentLocation,
state_desc
FROM sys.master_files
WHERE database_id = DB_ID(N'AdventureWorks2022')
AND type_desc = N'LOG';