开发者

sql server修改数据库文件位置的详细步骤记录

开发者 https://www.devze.com 2024-08-14 09:40 出处:网络 作者: huahualaly
目录背景:步骤1.备份数据库2.先将所需更改的数据库的路径先查询出来再进行关闭3.关闭该数据库4.再次查询发现已经是离线5.移动数据库文件(文件位置我移到D盘,根据个人情况。文件夹可以不需要建那么长)6.开启数据库
目录
  • 背景:
  • 步骤
    • 1.备份数据库
    • 2.先将所需更改的数据库的路径先查询出来再进行关闭
    • 3.关闭该数据库
    • 4.再次查询发现已经是离线
    • 5.移动数据库文件(文件位置我移到D盘,根据个人情况。文件夹可以不需要建那么长)
    • 6.开启数据库时提示报错信息
    • 7.手动拖过去即可
    • 8.然后移动过去又报操作系统错误5:“5(拒绝访问。)”
    • 9.这是需要将移动到D盘的数据文件中user的权限改为完全控制,(2个文件都需要这么操作,不然也会报错)然后再次执行
    • 10.执行成功
  • 总结

    背景:

    装数据库的时候将文件位置装在了C盘,C盘分的又比较小,每日数据量增加会导致系统崩溃,没有服务端,只有数据库。

    注:1.实体机不要在业务时间操作,拔了网线操作是安全有保障的方法-防止有其他连接,数据写入这些。

    2.所有操作先搭测试环境多操作几次,然后再在实体机上操作,毕竟数据很重要,备份也www.devze.com非常重要。

    3.不要去移动系统数据库(如master,tempdb…这些),不然整个数据库都会用不了

    步骤

    下面是将数据库从一个路径转移到另一个路径的常见步骤(以ReportServer为例):

    1.备份数据库

    在转移数据库之前,我们首先需要备份数据库,以便在出现任何问题时能够恢复数据。可以使用以下T-SQL语句进行数据库备份:

    ----1.备份

    BACKUP DATABASE [数据库名]
    TO DISK ='D:\Backup\数据库名.bak'
    

    [也可以用块设备的方法备份可以看到更多信息 斜体部分不python用操作,了解一下]

    [

    -----设备块备份

    –Use 学生成绩管理

    –GO

    —Exec sp_addumpdevice ‘disk’,‘备份设备01’,‘d:\backup1\学生成绩管理.bak’

    备份数据库命令:

    —backup database 学生成绩管理 to 备份设备01

    还原数据库

    —restore database 学生成绩管理from 备份设备01 with replace

    注意:在还原数据库时,必须先关闭要还原的数据库]

    2.先将所需更改的数据库的路径先查询出来再进行关闭

    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(' [数据库名]');
    

    sql server修改数据库文件位置的详细步骤记录

    3.关闭该数据库

    USE master;
    GO
    ALTER DATABASE [数据库名] SET OFFLINE WITH ROLLBACK IMMEDIATE; 
    GO
    

    sql server修改数据库文件位置的详细步骤记录

    4.再次查询发现已经是离线

    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(' [数据库名]');
    

    sql server修改数据库文件位置的详细步骤记录

    5.移动数据库文件(文件位置我移到D盘,根据个人情况。文件夹可以不需要建那么长)

    注:必须要先把文件夹位置建好,才能执行下列移动位置命令

    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
    

    ----执行成功提示如下

    sql server修改数据库文件位置的详细步骤记录

    6.开启数据库时提示报错信息

    USE master;
    GO
    ALTER DATABASE ReportServer SET ONLINE;
    GO 
    

    这是因为文件逻辑位置做了更改,但是文件物理位置没变导致的,需要先找到该数据库在C盘下的位置,移http://www.devze.com动到D盘下新建的位置即可

    sql server修改数据库文件位置的详细步骤记录

    D盘下现在还没有移动过去

    sql server修改数据库文件位置的详细步骤记录

    7.手动拖过去即可

    sql server修改数据库文件位置的详细步骤记录

    注:还有另外一种情况,手动移动过去报错,提示****已在文件中打开,此时需要加权限,如此类报错

    sql server修改数据库文件位置的详细步骤记录

    解决方法如下

    将2个文件都把everyone添加进去,权限为完全控制,即可复制过去。

    sql server修改数据库文件位置的详细步骤记录

    8.然javascript后移动过去又报操作系统错误5:“5(拒绝访问。)”

    sql server修改数据库文件位置的详细步骤记录

    9.这是需要将移动到D盘的数据文件中user的权限改为完全控制,(2个文件都需要这么操作,不然也会报错)然后再次执行

    sql server修改数据库文件位置的详细步骤记录

    10.执行成功

    sql server修改数据库文件位置的详细步骤记录

    注:执行成功之后,去文件夹下看两边都会有,但是以后写数据只会写在移动到D盘的文件位置里边。以上为我亲测有效的方法。

    总结

    到此这篇关于sql server修改数据库文件位置的文章就介绍到这了,更多javascript相关sqlserver修改数据库文件位置内容请搜索编程客栈(www.devze.com)以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程客栈(www.devze.com)!

    0

    精彩评论

    暂无评论...
    验证码 换一张
    取 消

    关注公众号