[SQLSERVER] 转移数据库MDF或LDF文件位置的方法,以及重新启动出现无权限的问题

时间:2021-09-17 12:18:49

0. 查看数据库文件名和物理文件名

SELECT name, physical_name AS current_file_location
FROM sys.master_files


1. 运行命令

USE master; -- Run from master

ALTER DATABASE db
MODIFY FILE (name='db',
        filename='C:\NewPath\Database.mdf');
ALTER DATABASE db
MODIFY FILE (name='db_Log',       
        filename='C:\NewPath\Database_log.ldf');
ALTER DATABASE db SET OFFLINE WITH ROLLBACK IMMEDIATE;

 
2. 移动文件,检查权限

* 移动数据库文件(包括MDF/LDF) C:\NewPath

* 资源管理器:C:\NewPath -> 属性 -> 安全 -> 添加 -> 位置:选择本机,不要选择域 -> 输入 'NT SERVICE\MSSQLSERVER' 搜索 -> 选择 'MSSQLSERVER' -> 允许完全控制

3. 上线

ALTER DATABASE db SET ONLINE;