mysql5.5数据库文件迁移_(5.3.5)数据库迁移——数据库与文件组的位置迁移(同一实例)...

【1】数据库物理文件迁移四种均需要离线【1.1】脱机迁移SQL Server创建新库时,默认会把数据存放在C盘中,一旦数据库中的存储数据多了以后,C盘的空间就会所剩无几。解决方案是将存放数据的物理文件迁移到其他盘。具体流程为:(1)将现有的数据库脱机ALTER DATABASE DB1 SET OFFLINE WITH ROLLBACK IMMEDIATE;(2)将数据库文件移到新的位置文件复...
摘要由CSDN通过智能技术生成

【1】数据库物理文件迁移

四种均需要离线

【1.1】脱机迁移

SQL Server创建新库时,默认会把数据存放在C盘中,一旦 数据库 中的存储数据多了以后,C盘的空间就会所剩无几。解决方案是将存放数据的物理文件迁移到其他盘。具体流程为:

(1)将现有的数据库脱机

ALTER DATABASE DB1 SET OFFLINE WITH ROLLBACK IMMEDIATE;

(2)将数据库文件移到新的位置

文件复制完成以后需要:右键-属性-安全-在组或用户名处添加Authenticated Users-更改该组权限为完全权限,否则接下来的操作会报

中间可能存在的问题:

消息5120,级别 16,状态 101,第 17行

无法打开物理文件“D:\MSSQL\DATA\testdb.mdf”。操作系统错误5:“5(拒绝访问。)”。

消息5120,级别 16,状态 101,第 17行

无法打开物理文件“D:\MSSQL\DATA\testdb _log.ldf”。操作系统错误5:“5(拒绝访问。)”。

消息5181,级别 16,状态 5,第 17行

无法重新启动数据库“ctrip”。将恢复到以前的状态。

消息5069,级别 16,状态 1,第 17行

ALTER DATABASE 语句失败。

(3)修改数据库关联文件的指向

ALTER DATABASE DB1 MODIFY FILE(NAME= DB1, FILENAME =X:\SQLServer\DB1.mdf);

ALTER DATABASE DB1 MODIFY FILE(NAME= DB1_Log, FILENAME =X:\SQLServer\DB1_Log.ldf);

(4)将数据库进行联机

ALTER DATABASE DB1 SET ONLINE;

【1.2】在线修改文件位置

在线修改文件位置,但也需要服务重启才能生效,或者offline => online

MS SQL 数据库迁移文件,这里说的不是将数据库迁移到另外一台服务器,只是在服务器不同磁盘目录内做迁移。移动数据库文件的情况大致有下面一些:

1: 事先没有规划好,数据库文件或日志文件增长过快,导致某个盘或整个磁盘空间不足,需要移动数据文件或日志文件

2: 纯粹由于业务需求,数据增长过快。

3: 为了更好的IO的性能,需要将数据文件、日志文件分布到不同磁盘,减轻IO压力,提供IO性能。

4:故障恢复。例如,数据库处于可疑模式或因硬件故障而关闭。

案例:现在我在数据库实例中有数据库MyAssistant,(假设)由于事先没有规划好,导致数据文件位于E:\DataBase目录下, 我们需要将数据文件移动到D:\DataBase_Data目录下,

a8e136d61e844b3310f566e53e12cadf.png

11798207.html

将日志文件移动到F:\DataBase_Log目录下。

步骤1:对数据库中每个要移动的文件(数据文件/日志文件),通过下面命令指定到新的目录

48304ba5e6f9fe08f3fa1abda7d326ab.png

48304ba5e6f9fe08f3fa1abda7d326ab.png

48304ba5e6f9fe08f3fa1abda7d326ab.png

--查看逻辑名

SELECT name, physical_name

FROM sys.master_files

WHERE database_id = DB_ID('tempdb');

--迁移位置

USE master;

GO

ALTER DATABASE tempdb

MODIFY FILE (NAME = tempdev, FILENAME = 'D:\tempdb\tempdb.mdf');

GO

ALTER DATABASE tempdb

MODIFY FILE (NAME = templog, FILENAME = 'D:\tempdb\templog.ldf');

GO

--停止服务,复制文件到指定位置

--开启服务

48304ba5e6f9fe08f3fa1abda7d326ab.png

如果有多个数据库的数据文件/日志文件需要移动,可以通过一系列上述命令执行

ALTER DATABASE DATABASE_ID1

MODIFY FILE(NAME='DATABASE_NAME', FI

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值