SQL SERVER 如何修改資料庫檔案路徑
最近遇到一個伺服器的資料庫檔案增長很快,情況屬於正常,磁碟空間很快就要滿了,但是另一個分割槽還有大把的空間,所以尋思著怎麼把資料庫檔案,放過去,程式碼如下:
DECLARE @DBNAME VARCHAR(255) DECLARE @TargetPath VARCHAR(255) DECLARE @CmdCommand VARCHAR(2000)
SET @DBNAME='TEST' SET @TargetPath='D:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA'
--第一步:設定資料庫離線
SET @CmdCommand= 'ALTER DATABASE
--第二步:物理拷貝資料庫檔案到新目錄
DECLARE @FileName VARCHAR(255)
DECLARE @SourceFullName VARCHAR(255)
DECLARE FileCur CURSOR for SELECT name,physical_name from sys.master_files where database_id=db_id(@DBNAME)
OPEN FileCur
FETCH NEXT FROM FileCur INTO @FileName,@SourceFullName
WHILE @@FETCH_STATUS=0
BEGIN
SET @CmdCommand= 'copy "
--第三步:設定資料庫聯機 SET @CmdCommand= 'ALTER DATABASE '[email protected]+' SET ONLINE' EXEC(@CmdCommand)
也可以把這個做成一個過程,就不在這裡修改了。