sqlserver迁移日志文件和数据文件

sqlserver安装后没有指定日志存储路径或者还原库指定的日志存储位置不理想想要更改,都可以按照这种方式来更换;

1.前提准备:数据库的备份bak文件

2.查看自己当前数据库的日志文件和数据文件存储路径是否理想

选中当前数据库,右键属性-文件(这是我已经更改好了的位置,正常应该是位于C盘目录下)

3.找到自己的备份bak文件路径,执行查询命令

复制代码
RESTORE FILELISTONLY
FROM DISK = 'D:\yunshu\databak\WithinHospReview_backup_2025_07_14_150853_7181956.bak'

输出如下:

4:执行数据替换和迁移命令;(该命令是执行数据库还原命令,同时把这个备份库中的日志文件和数据文件迁移到我们的目标路径文件)

复制代码
RESTORE DATABASE WithinHospReview
FROM DISK = 'D:\yunshu\databak\WithinHospReview_backup_2025_07_14_141827_2041194.bak'
WITH MOVE 'WithinHospReview' TO 'D:\yunshu\SQLData\WithinHospReview.mdf',
     MOVE 'WithinHospReview_log' TO 'D:\yunshu\SQLLogs\WithinHospReview_log.ldf',
     REPLACE;

WithinHospReview是我的数据库名字,D:\yunshu\databak\WithinHospReview_backup_2025_07_14_141827_2041194.bak是我都数据库备份bak文件路径;WithinHospReview_log和WithinHospReview名字就是对应我执行步骤三所查询出来的名字,一定要对应哦,D:\yunshu\SQLData\WithinHospReview.mdf和'D:\yunshu\SQLLogs\WithinHospReview_log.ldf'就是我要的目标路径了,新的日志文件和数据会存储到这个新文件中;

附:

如果当前数据库在使用中,执行步骤4会报错:

复制代码
执行时报错:消息 3102,级别 16,状态 1,第 10 行
RESTORE 无法处理数据库 'WithinHospReview',因为它正由此会话使用。建议在执行此操作时使用 master 数据库。
消息 3013,级别 16,状态 1,第 10 行
RESTORE DATABASE 正在异常终止。

可以依次执行

复制代码
//切换到master数据库
USE master;

//把目标数据库切换到单用户模式,强制断开其他连接
ALTER DATABASE WithinHospReview SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
//执行还原语句
RESTORE DATABASE WithinHospReview
FROM DISK = 'D:\yunshu\databak\WithinHospReview_backup_2025_07_14_141827_2041194.bak'
WITH MOVE 'WithinHospReview' TO 'D:\yunshu\SQLData\WithinHospReview.mdf',
     MOVE 'WithinHospReview_log' TO 'D:\yunshu\SQLLogs\WithinHospReview_log.ldf',
     REPLACE;
//还原完成后,切换回多用户模式
 ALTER DATABASE WithinHospReview SET MULTI_USER;

5.检查还原后的日志文件和数据文件位置

相关推荐
xcLeigh8 分钟前
KingbaseES数据库:兼容 SQL 语法及 Oracle 过程化语言的语法基础
数据库
FinTech老王8 分钟前
一场“无感换心”手术:金仓数据库如何让电子证照系统平滑告别MongoDB
数据库·mongodb
周杰伦的稻香9 分钟前
MySQL中的空间碎片率计算分析
android·数据库·mysql
重启的码农12 分钟前
kv数据库-leveldb (13) 缓存 (Cache)
数据库
重启的码农12 分钟前
kv数据库-leveldb (12) 数据块 (Block)
数据库
lypzcgf15 分钟前
Coze源码分析-资源库-创建数据库-后端源码-应用/领域/数据访问层
数据库·go·后台·coze·coze源码分析·ai应用平台·agent平台
枫叶丹426 分钟前
金仓数据库替代MongoDB:电子证照系统国产化改造实战
数据库·mongodb
麦兜*27 分钟前
Redis 7.0 新特性深度解读:迈向生产级的新纪元
java·数据库·spring boot·redis·spring·spring cloud·缓存
可涵不会debug1 小时前
金仓数据库:破解电子证照国产化难题,开启政务效能新篇
数据库·政务
元闰子1 小时前
对 Agent-First 数据库的畅想
数据库·后端·aigc