SQL Server 修改数据库名及物理数据文件名

一、背景介绍

当前有一 SQL Server 数据库,数据库名称为 study ,现需将该数据库名称修改为 studyold ,并同时根据新用户名修改物理数据文件的名称。

二、操作步骤

2.1 设置为单用户模式(断开连接)

复制代码
USE master;
ALTER DATABASE study SET SINGLE_USER WITH ROLLBACK IMMEDIATE;

2.2 修改数据库名称

复制代码
ALTER DATABASE study MODIFY NAME = studyold;

2.3 查找逻辑文件名

复制代码
USE sdcpold
SELECT name AS LogicalName, physical_name AS PhysicalName
FROM sys.master_files
WHERE database_id = DB_ID(N'studyold');

逻辑文件名和当前物理路径记录如下:

逻辑文件名:study、study_log

物理路径:D:\Program Files\Microsoft SQL Server\MSSQL15.GPMQAS01\MSSQL\DATA\study.mdf、

D:\Program Files\Microsoft SQL Server\MSSQL15.GPMQAS01\MSSQL\DATA\study_log.ldf

2.4 关闭数据库(detach)

复制代码
USE master;
EXEC sp_detach_db @dbname = N'studyold';

2.5 手动重命名物理文件(操作系统层)

2.6 重新附加数据库(attach)并更改逻辑文件名

复制代码
CREATE DATABASE [studyold] ON 
(
    FILENAME = N'D:\Program Files\Microsoft SQL Server\MSSQL15.GPMQAS01\MSSQL\DATA\studyold.mdf'
),
(
    FILENAME = N'D:\Program Files\Microsoft SQL Server\MSSQL15.GPMQAS01\MSSQL\DATA\studyold_log.ldf'
)
FOR ATTACH;

2.7 修改逻辑文件名(可选但推荐)

复制代码
ALTER DATABASE sdcpold MODIFY FILE (NAME = study, NEWNAME = studyold);
ALTER DATABASE sdcpold MODIFY FILE (NAME = study_log, NEWNAME = studyold_log);

2.8 查找逻辑文件名

复制代码
USE studyold
SELECT name AS LogicalName, physical_name AS PhysicalName
FROM sys.master_files
WHERE database_id = DB_ID(N'studyold');

逻辑文件名和当前物理路径记录如下:

逻辑文件名:studyold、studyold_log

物理路径:D:\Program Files\Microsoft SQL Server\MSSQL15.GPMQAS01\MSSQL\DATA\studyold.mdf、

D:\Program Files\Microsoft SQL Server\MSSQL15.GPMQAS01\MSSQL\DATA\studyold_log.ldf

2.9 设置为多用户模式

复制代码
ALTER DATABASE studyold SET MULTI_USER;
相关推荐
刘一说6 小时前
深入理解 Spring Boot Actuator:构建可观测性与运维友好的应用
运维·spring boot·后端
kyle~6 小时前
计算机网络---安全外壳协议(SSH,Secure Shell)
运维·计算机网络·安全·ssh
wei_shuo6 小时前
全场景自动化 Replay 技术:金仓 KReplay 如何攻克数据库迁移 “难验证“ 难题
数据库·自动化·king base
葡萄城技术团队6 小时前
打破误解!MongoDB 事务隔离级别深度实测:快照隔离竟能防住 8 种异常?
数据库
Gold Steps.6 小时前
数据库正常运行但是端口变成了0?
数据库·mysql
杂亿稿6 小时前
增删改查操作
数据库
Code_Geo6 小时前
在postgres数据库中Postgres FDW 全面详解
数据库·fdw
破烂pan6 小时前
Jenkins 定时触发(cron)使用说明
运维·jenkins
QT 小鲜肉6 小时前
【个人成长笔记】将Try Ubuntu里面配置好的文件系统克隆在U盘上(创建一个带有持久化功能的Ubuntu Live USB系统)
linux·开发语言·数据库·笔记·ubuntu
LWy6104267 小时前
数据库库、表的创建及处理
数据库