sql server修改数据库文件位置的详细步骤记录
脚本之家 / 编程助手:解决程序员“几乎”所有问题!
脚本之家官方知识库 → 点击立即使用
背景:
装数据库的时候将文件位置装在了C盘,C盘分的又比较小,每日数据量增加会导致系统崩溃,没有服务端,只有数据库。
注:1.实体机不要在业务时间操作,拔了网线操作是安全有保障的方法-防止有其他连接,数据写入这些。
2.所有操作先搭测试环境多操作几次,然后再在实体机上操作,毕竟数据很重要,备份也非常重要。
3.不要去移动系统数据库(如master,tempdb…这些),不然整个数据库都会用不了
步骤
下面是将数据库从一个路径转移到另一个路径的常见步骤(以ReportServer为例):
1.备份数据库
在转移数据库之前,我们首先需要备份数据库,以便在出现任何问题时能够恢复数据。可以使用以下T-SQL语句进行数据库备份:
----1.备份
[也可以用块设备的方法备份可以看到更多信息 斜体部分不用操作,了解一下]
[
-----设备块备份
–Use 学生成绩管理
–GO
—Exec sp_addumpdevice ‘disk’,‘备份设备01’,‘d:\backup1\学生成绩管理.bak’
备份数据库命令:
—backup database 学生成绩管理 to 备份设备01
还原数据库
—restore database 学生成绩管理from 备份设备01 with replace
注意:在还原数据库时,必须先关闭要还原的数据库]
2.先将所需更改的数据库的路径先查询出来再进行关闭
1 2 3 4 5 6 7 | USE [数据库名]; GO SELECT name As [ Database Name ], physical_name As [File Path], type_desc As [File Type],state_desc FROM sys.master_files WHERE database_id= DB_ID( ' [数据库名]' ); |
3.关闭该数据库
4.再次查询发现已经是离线
1 2 3 4 5 6 7 | USE [数据库名]; GO SELECT name As [ Database Name ], physical_name As [File Path], type_desc As [File Type],state_desc FROM sys.master_files WHERE database_id= DB_ID( ' [数据库名]' ); |
5.移动数据库文件(文件位置我移到D盘,根据个人情况。文件夹可以不需要建那么长)
注:必须要先把文件夹位置建好,才能执行下列移动位置命令
1 2 3 4 5 6 7 8 | USE master; GO ALTER DATABASE ReportServer MODIFY FILE( NAME = 'ReportServer' , FILENAME = 'D:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA\ReportServer.mdf' ); GO ALTER DATABASE ReportServer MODIFY FILE ( NAME = 'ReportServer_log' , FILENAME = 'D:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA\ReportServer_log.ldf' ); GO |
----执行成功提示如下
6.开启数据库时提示报错信息
这是因为文件逻辑位置做了更改,但是文件物理位置没变导致的,需要先找到该数据库在C盘下的位置,移动到D盘下新建的位置即可
D盘下现在还没有移动过去
7.手动拖过去即可
注:还有另外一种情况,手动移动过去报错,提示****已在文件中打开,此时需要加权限,如此类报错
解决方法如下
将2个文件都把everyone添加进去,权限为完全控制,即可复制过去。
8.然后移动过去又报操作系统错误5:“5(拒绝访问。)”
9.这是需要将移动到D盘的数据文件中user的权限改为完全控制,(2个文件都需要这么操作,不然也会报错)然后再次执行
10.执行成功
注:执行成功之后,去文件夹下看两边都会有,但是以后写数据只会写在移动到D盘的文件位置里边。以上为我亲测有效的方法。
总结
到此这篇关于sql server修改数据库文件位置的文章就介绍到这了,更多相关sqlserver修改数据库文件位置内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
微信公众号搜索 “ 脚本之家 ” ,选择关注
程序猿的那些事、送书等活动等着你
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权/违法违规/事实不符,请将相关资料发送至 reterry123@163.com 进行投诉反馈,一经查实,立即处理!
相关文章
SQLServer中Partition By及row_number 函数使用详解
partition by关键字是分析性函数的一部分,partition by用于给结果集分组,如果没有指定那么它把整个结果集作为一个分组,本文给大家介绍SQLServer中Partition By及row_number 函数使用详解,需要的朋友参考下2015-11-11Sql Server高版本数据库数据备份后还原到低版本数据库详细步骤
不同版本SQL Server数据库备份还原存在问题,不能从高版本的数据库导入到低版本数据中,这篇文章主要给大家介绍了关于Sql Server高版本数据库数据备份后还原到低版本数据库的详细步骤,需要的朋友可以参考下2023-10-10简析SQL Server数据库用视图来处理复杂的数据查询关系
本文我们主要介绍了SQL Server数据库用视图来处理复杂的数据查询关系的相关知识,以及视图的优缺点和创建方式以及注意事项的相关知识,需要的朋友可以参考下2015-08-08
最新评论