SQL SERVER 如何修改數據庫文件路徑


原文地址: https://blog.csdn.net/baomfeng/article/details/84031971

DECLARE @DBNAME VARCHAR(255) DECLARE @TargetPath VARCHAR(255) DECLARE @CmdCommand VARCHAR(2000) SET @DBNAME='GTN_New2019' SET @TargetPath='D:\MyDB' --第一步:設置數據庫脫機 SET @CmdCommand= 'ALTER DATABASE '+@DBNAME+' SET OFFLINE' EXEC(@CmdCommand) --第二步:物理拷貝數據庫文件到新目錄 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 "'+@SourceFullName+'" "'+@TargetPath+'"' EXEC master..xp_cmdshell @CmdCommand --修改數據庫文件的路徑指向新目錄 SET @CmdCommand='ALTER DATABASE '+@DBNAME+' MODIFY FILE(FILENAME='''+@TargetPath+CASE WHEN RIGHT(@TargetPath,1)='\'THEN'' ELSE'\' END+ RIGHT(@SourceFullName, CHARINDEX('\', REVERSE(@SourceFullName))-1)+''',name='''+@FileName+''')' EXEC(@CmdCommand) FETCH NEXT FROM FileCur INTO @FileName,@SourceFullName END CLOSE FileCur DEALLOCATE FileCur --第三步:設置數據庫聯機 SET @CmdCommand= 'ALTER DATABASE '+@DBNAME+' SET ONLINE' EXEC(@CmdCommand)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM