我正在進行SQL Server 2008安裝,其中運行了近15個數據庫。現在由於空間不足,我想將數據路徑移動到另一個驅動器。這是最佳做法。如果包含任何SQL命令,請詳細解釋,因爲我對SQL Server管理相對較新。Sql Server更改現有數據庫的數據和日誌路徑
注 - 我已將SQL Server屬性中的路徑從SQL Management Studio 2008更改爲新路徑。但我也希望現有數據庫駐留在新路徑。
我正在進行SQL Server 2008安裝,其中運行了近15個數據庫。現在由於空間不足,我想將數據路徑移動到另一個驅動器。這是最佳做法。如果包含任何SQL命令,請詳細解釋,因爲我對SQL Server管理相對較新。Sql Server更改現有數據庫的數據和日誌路徑
注 - 我已將SQL Server屬性中的路徑從SQL Management Studio 2008更改爲新路徑。但我也希望現有數據庫駐留在新路徑。
首先,分離數據庫:
USE master;
GO
-- Important! We need to drop the existing connections.
ALTER DATABASE DBName SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
GO
EXEC sp_detach_db @dbname = N'DBName';
GO
下一步 - 復制文件.mdf和.ldf這個數據庫文件到新的位置
然後附加數據庫:
USE master;
EXEC sp_attach_db @dbname = N'dbName',
@filename1 = N'', --path do .mdf
@filename2 = N''; --path to .ldf
GO
如果你D如果不想逐個附加和分離所有數據庫,則可以使用在sys.databases動態管理視圖中搜索的curosr生成SQL腳本以附加和分離所需的所有數據庫(當然不包括系統)。但不要忘記複製數據庫文件。
一種方法是分離和附加。
至於命令/步驟,請參閱MSDN文章"How to: Move a Database Using Detach and Attach (Transact-SQL)"