SQLServer修改系统库的路径
Posted 萧叶秋
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQLServer修改系统库的路径相关的知识,希望对你有一定的参考价值。
背景
数据库默认安装在C盘,由于复制订阅或者大容量更新查询等导致tempdb系统库、distribution系统库容量过大,C盘容量不足,需要将部分系统库进行迁移,以distribution库为例进行系统库迁移,其他库类似操作即可。
查询当前系统库信息
use distribution go --查询逻辑名与当前路径 SELECT name, physical_name FROM sys.database_files
当前系统库路径为C:\\Program Files\\Microsoft SQL Server\\MSSQL13.MSSQLSERVER\\MSSQL\\Data,指定迁移到路径D:\\db
--修改到指定路径 ALTER DATABASE distribution MODIFY FILE (NAME = \'distribution\', FILENAME = \'D:\\db\\distribution.mdf\') ALTER DATABASE distribution MODIFY FILE (NAME = \'distribution_log\', FILENAME = \'D:\\db\\distribution.LDF\')
注意,如果是tempdb系统库迁移,可能会有多个ndf日志文件
--修改到指定路径 ALTER DATABASE tempdb MODIFY FILE (NAME = \'tempdev\', FILENAME = \'D:\\db\\tempdb.mdf\') ALTER DATABASE tempdb MODIFY FILE (NAME = \'templog\', FILENAME = \'D:\\db\\templog.ldf\') ALTER DATABASE tempdb MODIFY FILE (NAME = \'temp2\', FILENAME = \'D:\\db\\tempdb_mssql_2.ndf\') ALTER DATABASE tempdb MODIFY FILE (NAME = \'temp3\', FILENAME = \'D:\\db\\tempdb_mssql_3.ndf\') ALTER DATABASE tempdb MODIFY FILE (NAME = \'temp4\', FILENAME = \'D:\\db\\tempdb_mssql_4.ndf\') ALTER DATABASE tempdb MODIFY FILE (NAME = \'temp5\', FILENAME = \'D:\\db\\tempdb_mssql_5.ndf\') ALTER DATABASE tempdb MODIFY FILE (NAME = \'temp6\', FILENAME = \'D:\\db\\tempdb_mssql_6.ndf\') ALTER DATABASE tempdb MODIFY FILE (NAME = \'temp7\', FILENAME = \'D:\\db\\tempdb_mssql_7.ndf\') ALTER DATABASE tempdb MODIFY FILE (NAME = \'temp8\', FILENAME = \'D:\\db\\tempdb_mssql_8.ndf\')
迁移
关闭MSSQLSERVER服务
将相关文件拷贝到新的地址
开启MSSQLSERVER服务
验证
use distribution go --查询逻辑名与当前路径 SELECT name, physical_name FROM sys.database_files
原C盘的文件可以正常删除了。
以上是关于SQLServer修改系统库的路径的主要内容,如果未能解决你的问题,请参考以下文章