sqlserver数据文件变更位置

1、百度的执行sql语句执行变更mdf文件,效果不理想。搞得数据库直接不能访问了。

 --查看当前的存放位置
  select database_id,name,physical_name AS CurrentLocation,state_desc,size
  from sys.master_files 
  where database_id=db_id(N'数据库名');
  
  --修改文件的存放位置下次启动生效
  --test为数据库名,
  alter database 数据库名 modify file ( name = 文件名(不包含后缀), filename = '文件存储路径');
  alter database 数据库名 modify file ( name = 文件名(不包含后缀), filename = '文件存储路径');
 
 alter database testDb modify file ( name = test, filename = 'G:SQL_DATA	est	est.mdf');
 alter database testDb modify file ( name = test_log, filename = 'G:SQL_DATA	est	est_log.ldf');

2、考虑分离附加即可

(1)、选择要变更数据文件mdf的数据库。右键分离

(2)、找到数据文件原有目录(分离前可以看下数据库右键-属性-文件选项中有)copy mdf文件到新的目录下即可

(3)、删除数据库即可,数据库列表刷新。

(4)、数据库右键-附加

进入到附加数据库弹出框,添加 按钮 选择刚才更换到新目录中的mdf文件即,点击确认

(5)、数据库刷新出来了。这样即可变更mdf数据文件和log日志文件了。这样操作,比较保险。



原文地址:https://www.cnblogs.com/ashanxiaoya/p/14074834.html