数据库改名系列(数据库名,逻辑名,物理文件名)

汇总篇:http://www.cnblogs.com/dunitian/p/4822808.html#tsql

某系统设计的不是很合理,库很多,图形化操作分离都得搞半天,各种改名也就更浪费时间了,于是引入了命令~(SQLServer现在已经在Linux里面跑了,咱们也得跟上时代)

1.数据库名修改前

alter database Test modify name=NewTest or exec sp_renamedb 'Test','NewTest'

2.数据库名修改后

3.物理文件名和逻辑名并没有变化

4.逻辑名修改前后

alter database NewTest modify file(name=N'Test', newname=N'NetTest')

5.逻辑名发生改变物理文件名不变

6.物理改名很多种(我这边的本质就是分离后修改,因为占用状态是没法修改的)

其实并没有什么新的sql,都是组合版的

exec xp_cmdshell 'rename E:\SQL\Test.mdf NewTest.mdf'

效果:

SQL:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
use master
go
--1.分离
exec sp_detach_db NewTest
go
 
--2.改名(这一步可以换成手动改名字)
exec sp_configure 'show advanced options',1 --显示高级选项
reconfigure with override--重新配置
    exec sp_configure 'xp_cmdshell',1 --1代表允许,0代表阻止
    reconfigure with override
        exec xp_cmdshell 'rename E:\SQL\Test.mdf NewTest.mdf'
        go
        exec xp_cmdshell 'rename E:\SQL\Test_log.ldf NewTest_log.ldf'
        go
    exec sp_configure 'xp_cmdshell',0
    reconfigure with override
exec sp_configure 'show advanced options',0
reconfigure with override
 
--3.附加
exec sp_attach_db NewTest,N'E:\SQL\NewTest.mdf',N'E:\SQL\NewTest_log.ldf'

 

posted @   毒逆天  阅读(11081)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
点击右上角即可分享
微信分享提示