zoukankan      html  css  js  c++  java
  • 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)
  • 相关阅读:
    Array 数组对象
    Math对象
    String 字符串对象
    Date 日期对象
    一个简单的计算器
    如何判断一个js对象是否一个DOM对象
    筛选if 运用
    移动端前端笔记大全
    一个元素的偏移的方法
    如果判断一个dom 对像?
  • 原文地址:https://www.cnblogs.com/juneyss/p/11347392.html
Copyright © 2011-2022 走看看