农村户口_1201 发表于 2024-6-1 15:02:14

MS SQL 修改系统数据文件路径

系统数据库一般有master、model、msdb、tempdb
移动数据库文件的情况大致有下面一些:
  1: 事先没有规划好,数据库文件或日志文件增长过快,导致某个盘或整个磁盘空间不足,需要移动数据文件或日志文件
  2: 纯粹由于业务需求,数据增长过快。
  3: 为了更好的IO的性能,需要将数据文件、日志文件分布到不同磁盘,减轻IO压力,提供IO性能。
  4:故障恢复。例如,数据库处于可疑模式或因硬件故障而关闭。

案例:我们需要将数据文件移动到D:\sqldata。



迁移系统数据库文件与迁移用户数据库文件稍微有些不同,主要是master数据库有点特殊,

下面介绍一下迁移master系统数据库的步骤:
步骤1:如果SQL Server实例已经启动,那么停止该实例;这一步也完全可以忽略不做。

步骤2:修改启动参数(配置管理器-高级标签-启动参数)---------注意格式分号隔开
-dD:\sqldata\master.mdf;
-eC:\Program Files\Microsoft SQL Server\MSSQL1.SQLEXPRESS\MSSQL\Log\ERRORLOG;
-lD:\sqldata\mastlog.ldf

参数说明:
-d:master数据库文件的位置;
-e:SQLServer实例的错误日志所在位置;
-l:master数据库日志文件所在的位置。

步骤3:关闭实例服务,拷贝master数据库的相关文件到目标文件。把了·数据的数据文件和日志文件分别从
C:\Program Files\Microsoft SQL Server\MSSQL1.SQLEXPRES\MSSQL\DATA下拷贝到D:\sqldata目录下。

步骤4:启动服务。检查OK没有问题后,删除master数据库在原路径下的文件



步骤5: 执行下面命令

USE master
GO
ALTER DATABASE model
MODIFY FILE(NAME='modeldev', filename='D:\sqldata\model.mdf') ;
GO
ALTER DATABASE model
MODIFY FILE(name='modellog' , filename='D:\sqldata\modellog.ldf') ;
GO


ALTER DATABASE msdb
MODIFY FILE(NAME='MSDBData', filename='D:\sqldata\msdbdata.mdf') ;
GO
ALTER DATABASE msdb
MODIFY FILE(NAME='MSDBLog', filename='D:\sqldata\msdblog.ldf') ;
GO


ALTER DATABASE tempdb
MODIFY FILE(name='tempdev', filename='D:\sqldata\tempdb.mdf') ;
GO
ALTER DATABASE tempdb
MODIFY FILE(name='templog', filename='D:\sqldata\templog.ldf') ;
GO


停止SQL SERVER服务,移动数据文件到制定路径,需要注意的是:对于临时数据库,
由于每次启动 MSSQLSERVER 服务时都会重新创建 tempdb,因此不需要从物理意义上移动数据和日志文件。



启动SQL SERVER服务,验证修改是否生效。


晚星淡然 发表于 2024-6-3 08:58:19

感谢分享

nfcym 发表于 2024-6-3 10:00:41

感谢分享!!!

liu9957_2 发表于 2024-6-3 10:16:11

谢谢分享

liu9957_2 发表于 2024-6-4 13:52:00

谢谢分享

zodiac2712 发表于 2025-1-16 09:10:58

感谢楼主分享资讯

liu9957_2 发表于 2025-1-16 10:10:28

谢谢分享
页: [1]
查看完整版本: MS SQL 修改系统数据文件路径