设为首页收藏本站
查看: 70|回复: 0

[PHP] MSSQL迁移数据库文件

[复制链接]

论坛元老

Rank: 6Rank: 6

积分
34274
主题
17031
UID
1347
M币
67
贡献
17176

  • 发表于 2018-7-11 13:02:00 | 显示全部楼层 |阅读模式
    MS SQL 数据库迁移文件, 这里说的不是将数据库迁移到另外一台服务器,只是在服务器不同磁盘目录内做迁移。 移动数据库文件的情况大致有下面一些: 1: 事先没有规划好,数据库文件或日志文件增长过快,导致某个盘或整个磁盘空间不足,需要移动数据文件或日志

    MS SQL 数据库迁移文件,这里说的不是将数据库迁移到另外一台服务器,只是在服务器不同磁盘目录内做迁移。移动数据库文件的情况大致有下面一些:
      1: 事先没有规划好,数据库文件或日志文件增长过快,导致某个盘或整个磁盘空间不足,香港服务器,需要移动数据文件或日志文件
      2: 纯粹由于业务需求,数据增长过快。
      3: 为了更好的IO的性能,需要将数据文件、日志文件分布到不同磁盘,香港服务器,减轻IO压力,提供IO性能。
      4:故障恢复。例如,数据库处于可疑模式或因硬件故障而关闭。
    案例:现在我在数据库实例中有数据库MyAssistant,(假设)由于事先没有规划好,导致数据文件位于E:\DataBase目录下, 我们需要将数据文件移动到D:\DataBase_Data目录下,
    将日志文件移动到F:\DataBase_Log目录下。



    步骤1:对数据库中每个要移动的文件(数据文件/日志文件),通过下面命令指定到新的目录
      
      USE master  MyAssistant MODIFY , FILENAME);  MyAssistant MODIFY , FILENAME); GO
      
    如果有多个数据库的数据文件/日志文件需要移动,可以通过一系列上述命令执行
      ALTER DATABASE DATABASE_ID1 MODIFY , FILENAME); ALTER DATABASE DATABASE_ID2 MODIFY , FILENAME=.....mdf'); .......
      
      
    步骤2:停止SQL Server实例,你可以在SQL Server Management Studio的配置工具Sql Server Configuration Manager下停止。也可用NET STOP MSSQLSERVER命令实现。
      
    步骤3:将那些数据文件或日志文件手工移动到对应的目录(也就是上面命令中FILENAME对应的目录)
      
    步骤4:重启SQL Server实例,验证数据文件迁移是否成功。
      
      SELECT name, physical_name FROM sys.master_files WHERE database_id = DB_ID('MyAssistant');
      
    二:迁移系统数据库文件
      
     迁移系统数据库文件与迁移用户数据库文件稍微有些不同
      
    步骤1:如果SQL Server实例已经启动,那么停止该实例;这一步也完全可以忽略不做。
      
    步骤2:修改启动参数(配置管理器-高级标签-启动参数)
      


      
    -dD:\sqldata\master.mdf;
    -eC:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Log\ERRORLOG;
    -lE:\sqllog\mastlog.ldf
    步骤3:关闭实例服务,拷贝master数据库的相关文件到目标文件。如上所示,把master数据的数据文件和日志文件分别从C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA下拷贝到D:\sqldata 和E:\sqllog\目录下。
      
    步骤4:启动服务。检查OK没有问题后,香港服务器,删除master数据库在原C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA下的文件。
      
    迁移model、msdb、tempdb数据库的步骤如下:
      
    步骤1: 执行下面脚步
      
      USE master GO MODIFY , FILENAME) ;  msdb MODIFY , FILENAME) ;  model MODIFY , FILENAME) ;  model MODIFY , filename) ;  tempdb MODIFY , filename) ;  tempdb MODIFY , filename) ; GO
      
      
    步骤2:停止SQL SERVER服务,移动数据文件到制定路径,需要注意的是:对于临时数据库,由于每次启动 MSSQLSERVER 服务时都会重新创建 tempdb,因此不需要从物理意义上移动数据和日志文件。
      
    步骤3: 启动SQL SERVER服务,验证修改是否生效。
      
    步骤4: 删除原来的数据文件。
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    在我站开通SVIP可同时获得17个站点VIP资源 立即登录 立即注册
    快速回复 返回顶部 返回列表