当前位置: 首页 > article >正文

sqlserver迁移数据库文件存储位置

业务背景:由于C盘爆满,需要将数据库文件迁移到别处比如D盘

下面以某一个数据库转移为示例:(可以用SSMS工具,新建查询配合使用)

1.查询数据库文件存储路径

sql语句:

-- 查询路径
USE QiangTest;
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('QiangTest');

也可以右键数据库 => 属性 => 文件 查看

2.关闭数据库(脱机)

sql语句:

-- 关闭数据库
USE master;
GO
ALTER DATABASE QiangTest SET OFFLINE WITH ROLLBACK IMMEDIATE; 
GO

3.转移数据库文件(做好备份)

因为不脱机会导致转移复制数据库文件时被使用

也可以在任务管理器停止MSSQLSERVER服务(不推荐),完成后记得开始服务

根据查询路径找到两个文件复制到新路径位置

4.更改数据文件路径

sql语句:

-- 更改路径
USE master;
GO
ALTER DATABASE QiangTest
MODIFY FILE(NAME = 'QiangTest', FILENAME = 'C:\DB\QiangTest.ndf');
GO
ALTER DATABASE QiangTest
MODIFY FILE (NAME = 'QiangTest_log', FILENAME = 'C:\DB\QiangTest_log.ldf');
GO

5.开启数据库

sql语句:

-- 开启数据库
USE master;
GO
ALTER DATABASE QiangTest SET ONLINE;
GO

6.其他的一些报错问题

(1)

解决方法:检查转移的数据库文件名要一致

(2)

消息 5120,级别 16,状态 101,第 29 行 无法打开物理文件“D:\db\Test\RedempWebTest.mdf”。操作系统错误 5:“5(拒绝访问。)”。 消息 5120,级别 16,状态 101,第 29 行 无法打开物理文件“D:\db\Test\RedempWebTest_1.ldf”。操作系统错误 5:“5(拒绝访问。)”。 消息 5181,级别 16,状态 5,第 29 行 无法重新启动数据库“RedempWebTest”。将恢复到以前的状态。 消息 5069,级别 16,状态 1,第 29 行 ALTER DATABASE 语句失败。

解决方法:这些问题都是权限问题,找到文件右键 => 属性 => 安全 => 找到组或用户名 => 编辑 => 添加完全控制权限


http://www.kler.cn/a/321421.html

相关文章:

  • 提高数据处理效率:JavaScript 操作 XLSX 文件的最佳实践
  • STM32中,不进行printf改写通过函数达到同款效果
  • 分布式锁实践方案
  • DIP switch是什么?
  • DOCKER 镜像基础命令
  • C++编程技巧与规范-类和对象
  • Java2 实用教程(第6版)习题2 第四题
  • Python | Leetcode Python题解之第438题找到字符串中所有字母异位词
  • 负载均衡SLB详解及其应用场景
  • 2024 Fortinet OT工业安全高峰论坛成功举办
  • 【yolov7】模型导出----pytorch导出为onnx模型
  • MacOS关闭,最小化窗口快捷键
  • Go基础学习06-Golang标准库container/list(双向链表)深入讲解;延迟初始化技术;Element;List;Ring
  • Java | Leetcode Java题解之第440题字典序的第K小数字
  • OIDC5-OIDC 的工作流程
  • 详解机器学习经典模型(原理及应用)——GBDT
  • springboot实战学习(7)(JWT令牌的组成、JWT令牌的使用与验证)
  • 计算机毕业设计之:微信小程序的校园闲置物品交易平台(源码+文档+讲解)
  • 【ARM 嵌入式 编译系列 10.5 -- ARM toolchain naming convention】
  • 如何在CMakeList项目中集成GNU Autotools 构建模块
  • JavaSE——Arrays类、System类
  • 网格大师OSGB转OBJ,转换类型中的非拓扑、拓扑、重建有什么区别?
  • 【Docker】01-Docker常见指令
  • 【Linux实践】实验八:Shell程序的创建及变量
  • Scala第二天
  • 【C++笔试强训】如何成为算法糕手Day5