[学习笔记]批量迁移数据库文件

拷贝数据库文件

首先在本地运行如下SQL语句,查看数据库文件的磁盘位置

SELECT name, physical_name AS CurrentLocation, state_desc
FROM sys.master_files

默认是保存在C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA目录下

在这里插入图片描述

首先复制数据库文件到新的磁盘位置,比如E:\DATA\

更新索引

SQL server可以使用下面语句更改用户数据库的文件位置索引

ALTER DATABASE database_name MODIFY FILE ( NAME = logical_name, FILENAME = 'new_path\os_file_name' );

更多移动用户数据库内容请查看官方文档 https://learn.microsoft.com/zh-cn/sql/relational-databases/databases/move-user-databases

运行如下SQL语句

DECLARE @database_name NVARCHAR(128), @logical_name NVARCHAR(128), @sql NVARCHAR(MAX), @new_path NVARCHAR(256);

SET @new_path = N'E:\DATA\'; -- new file path

DECLARE db_cursor CURSOR FOR 
SELECT DB_NAME(database_id), name 
FROM sys.master_files
WHERE type = 0;

OPEN db_cursor;  
FETCH NEXT FROM db_cursor INTO @database_name, @logical_name;  

WHILE @@FETCH_STATUS = 0  
BEGIN  
    SET @sql = N'ALTER DATABASE ' + QUOTENAME(@database_name) + 
               N' MODIFY FILE ( NAME = ' + QUOTENAME(@logical_name, '''') + 
               N' , FILENAME = ' + QUOTENAME(@new_path + @logical_name + '.mdf', '''') + N' )';
    EXEC sp_executesql @sql;

    FETCH NEXT FROM db_cursor INTO @database_name, @logical_name;  
END; 

CLOSE db_cursor;  
DEALLOCATE db_cursor;

分别迁移数据库文件和日志文件
在这里插入图片描述

运行后会提示下次启动数据库时生效

在这里插入图片描述

再次查看sys.master_files内容,可以看到数据库文件已经迁移到新的磁盘位置

在这里插入图片描述

重启服务

打开SQL Server 配置管理器,如果你更改了系统数据库的位置,需要在SQL server服务的属性中,更改启动参数,详情请参考官方文档:https://learn.microsoft.com/zh-cn/sql/relational-databases/databases/move-system-databases

在这里插入图片描述

在这里插入图片描述
重启服务

在这里插入图片描述

删除之前的数据库文件,完成迁移

相关推荐

  1. Oracle 数据库非归档模式迁移数据文件存放位置

    2023-12-22 01:04:05       10 阅读
  2. js批量导入获取xlsx文件数据

    2023-12-22 01:04:05       39 阅读
  3. 迁移强化学习论文笔记(一)(Successor Features)

    2023-12-22 01:04:05       45 阅读
  4. python 学习笔记20 批量修改页眉页脚

    2023-12-22 01:04:05       37 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-22 01:04:05       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-22 01:04:05       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-22 01:04:05       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-22 01:04:05       18 阅读

热门阅读

  1. HarmonyOS开发(十二):ArkTS组件通用事件

    2023-12-22 01:04:05       28 阅读
  2. LeetCode解法汇总2866. 美丽塔 II

    2023-12-22 01:04:05       45 阅读
  3. armv8-a 介绍

    2023-12-22 01:04:05       28 阅读
  4. 肺癌相关知识

    2023-12-22 01:04:05       30 阅读
  5. 解决MyBatis-Plus 更新字段为null 不生效

    2023-12-22 01:04:05       36 阅读
  6. QT计算时间差 秒 毫秒 (另附c++版本)

    2023-12-22 01:04:05       35 阅读
  7. 在 Mac 上使用 Python

    2023-12-22 01:04:05       41 阅读