这个是网友写的如何完整的修改一个数据库的名称,很有参考价值

/*
该脚本示例如何完整的修改一个数据库的名称.
数据为原名称为DB_BEIJING,需要修改成DB_SHANGHAI
perfectaction 2012.12.19
*/

--判断是否存在同名的数据库,以防止误删除
USE master
GO
IF EXISTS (SELECT name FROM sys.databases WHERE name = N'DB_BEIJING')
BEGINRAISERROR('请注意:数据库已存在!',15,1)RETURN--DROP DATABASE DB_BEIJING
END
GOUSE master
GO
--创建测试数库
CREATE DATABASE [DB_BEIJING]
ON PRIMARY
( NAME = N'DB_BEIJING', FILENAME = N'X:\DATA\DB_BEIJING.mdf' , SIZE = 3072KB , FILEGROWTH = 1024KB
)
LOG ON
( NAME = N'DB_BEIJING_log', FILENAME = N'W:\Log\DB_BEIJING_log.ldf' , SIZE = 1024KB , FILEGROWTH = 1024KB
)
GO

以下为修改过程

--step 1 : 修改数据库名称
USE master
GO
ALTER DATABASE DB_BEIJING SET SINGLE_USER WITH ROLLBACK IMMEDIATE
GO
EXEC master..sp_renamedb 'DB_BEIJING','DB_SHANGHAI'
GO
ALTER DATABASE DB_SHANGHAI SET MULTI_USER
GO--step 2 : 查看修改名称后的数据库逻辑名及物理文件名
USE master
GO
SELECT name AS [Logical Name], physical_name AS [DB File Path],type_desc AS [File Type],
state_desc AS [State] FROM sys.master_files
WHERE database_id = DB_ID(N'DB_SHANGHAI')
GO
/*
Logical Name    DB File Path                File Type    State
DB_BEIJING        X:\DATA\DB_BEIJING.mdf        ROWS        ONLINE
DB_BEIJING_log    W:\Log\DB_BEIJING_log.ldf    LOG            ONLINE
*/--step 3 : 修改数据库逻辑文件名称
USE master
GO
ALTER DATABASE DB_SHANGHAI SET SINGLE_USER WITH ROLLBACK IMMEDIATE
GO
ALTER DATABASE DB_SHANGHAI MODIFY FILE (NAME=N'DB_BEIJING', NEWNAME=N'DB_SHANGHAI')
GO
ALTER DATABASE DB_SHANGHAI MODIFY FILE (NAME=N'DB_BEIJING_log', NEWNAME=N'DB_SHANGHAI_log')
GO
ALTER DATABASE DB_SHANGHAI SET MULTI_USER
GO--step 4 : 修改数据库物理文件名称之前先打开xp_cmdshell支持
USE master
GO
sp_configure 'show advanced options',1
GO
RECONFIGURE WITH OVERRIDE
GO
sp_configure 'xp_cmdshell', 1
GO
RECONFIGURE WITH OVERRIDE
GO--step 5 : 重命名数据库物理文件名称
USE [master]
GO
ALTER DATABASE DB_SHANGHAI SET OFFLINE WITH ROLLBACK IMMEDIATE
GO
EXEC xp_cmdshell 'RENAME "X:\DATA\DB_BEIJING.mdf", "DB_SHANGHAI.mdf"'
GO
EXEC xp_cmdshell 'RENAME "W:\Log\DB_BEIJING_log.ldf", "DB_SHANGHAI_log.ldf"'
GO--step 6 : 将数据库逻辑名称指向新的物理文件,并将数据库online
USE [master]
GO
ALTER DATABASE DB_SHANGHAI MODIFY FILE (NAME =DB_SHANGHAI, FILENAME = 'X:\DATA\DB_SHANGHAI.mdf')
GO
ALTER DATABASE DB_SHANGHAI MODIFY FILE (NAME =DB_SHANGHAI_log, FILENAME = 'W:\LOG\DB_SHANGHAI_log.ldf')
GO
ALTER DATABASE DB_SHANGHAI SET ONLINE--step 7 : 查看全部修改完成后的数据库情况
USE master
GO
SELECT name AS [Logical Name], physical_name AS [DB File Path],type_desc AS [File Type],
state_desc AS [State] FROM sys.master_files
WHERE database_id = DB_ID(N'DB_SHANGHAI')
GO
/*
Logical Name    DB File Path                File Type    State
DB_SHANGHAI        X:\DATA\DB_SHANGHAI.mdf        ROWS        ONLINE
DB_SHANGHAI_log    W:\LOG\DB_SHANGHAI_log.ldf    LOG            ONLINE
*/--step 8 : 关闭xp_cmdshell支持
USE master
GO
sp_configure 'xp_cmdshell', 0
GO
RECONFIGURE WITH OVERRIDE
GO
sp_configure 'show advanced options',0
GO
RECONFIGURE WITH OVERRIDE
GO--step 8 : 关闭xp_cmdshell支持
USE master
GO
sp_configure 'xp_cmdshell', 0
GO
RECONFIGURE WITH OVERRIDE
GO
sp_configure 'show advanced options',0
GO
RECONFIGURE WITH OVERRIDE
GO

原文参见 : http://bbs.csdn.net/topics/390322324

如何完整的修改一个数据库的名称相关推荐

  1. MySQL中 修改语句使用的关键字是什么_表示修改一个数据库对象的SQL关键字是什么...

    表示修改一个数据库对象的SQL关键字是:ALTER.在数据库中,可以使用"ALTER TABLE"语句来改变原有表的结构,可以在已有的表中添加.删除或修改列. 本教程操作环境:wi ...

  2. mysql front修改数据传奇_如何修改传奇数据库HeroDB名称?

    今天有一位朋友在dbc2000 64位那里给站长留言,问到怎么改数据库名称啊?我不知道是不是我理解错误还是留言没有写明白,关于数据库名称,我看来就是HeroDB这个了,因为这个是默认的,修改的应该是这 ...

  3. 修改oracle数据库的名称

    修改oracle数据库的名称 修改oracle数据库的名称需要同时在控制文件和参数文件中进行修改.修改控制文件中数据库的名称使用操作系统命令nid,修改参数文件中数据库的名称使用alter syste ...

  4. mysql front修改数据传奇_如何修改传奇数据库HeroDB婛名称?

    如何修改传奇数据库HeroDB婛名称?今天有一位朋友在dbc2000 64位那里给站长留言,问到怎么改数据库名称啊?我不知道是不是我理解错误还是留言没有写明白,关于数据库名称,我看来就是HeroDB这 ...

  5. 如何修改SQL Server 2008数据库服务器名称

    在做数据库发布订阅的时候我们经常要碰到要使用服务器名称来进行. 那么我们经常会碰到的问题是,现在开始大量的使用云服,我们只需要一台服务器搭建好环境,做一个备份镜像,还原到其他的服务器上就可以了,但是问 ...

  6. 何如修改sql服务器名称,如何修改SQL Server 2008数据库服务器名称

    如何修改SQL Server 2008数据库服务器名称 在一个虚拟机中安装了SQL Server 2008,然后将该虚拟机文件复制了一个出来,然后还原成另外一个虚拟机,这样就可以同时使用2个虚拟机来做 ...

  7. 如何修改MySQL数据库名称

    比如数据库名称old_db想改名为new_db MySQL修改数据库名称比较麻烦,不支持直接修改,需要通过其它方式间接达到修改数据库名称的目的. 在 MySQL 5.1.23 之前的旧版本中,我们可以 ...

  8. mysql 中修改对象_在MySQL中,创建一个数据库后,还可以对象其进行修改,不过这里的修改是指可以修改被创建数据库的相关参数,也可以修改数据库名。...

    [多选题]注射时,在(  )情况下,采用较高的注射速率. [单选题]通常,所设置的模具温度是指和制品接触的模腔内表面在(   ). [单选题]反映某一事件发生强度的指标应选用 [判断题]当试样制备之后 ...

  9. ABP框架源码学习之修改默认数据库表前缀或表名称

    ABP框架源码学习之修改默认数据库表前缀或表名称 1,源码 1 namespace Abp.Zero.EntityFramework 2 { 3 /// <summary> 4 /// E ...

最新文章

  1. butter滤波器是iir吗_如何快速设计一个IIR滤波器
  2. SAP MCH1表和MCHA表更新逻辑
  3. 拉登游戏开发--C#实现过程
  4. Gym 100431E Word Cover 题解:KMP上跑dp
  5. k8s operator开发脚手架kubebuilder 3.2.0安装脚本整理
  6. nodejs 快速搭建接口
  7. 前端学习(529):等分布局存在间距得实现得解决方案
  8. 如何用木板做桥_为这份动手能力点赞!旧木板打磨后做成橱柜,效果可媲美定制的...
  9. 转行IT行业的心路历程3
  10. LNMP+HAProxy+Keepalived负载均衡(五)- 通过rsyncd实现文件的相互同步
  11. Shell 脚本语法
  12. 使用PHP脚本远程部署git项目
  13. 活学活用pic单片机c语言编程pdf,活学活用PIC单片机C语言编程
  14. 最新仿企业发卡源码,自动发卡平台
  15. 昆仑通态触摸屏与西门子PLC1200通信,读取DB块数据
  16. 五大领域总目标指南_幼儿园五大领域总目标
  17. Vue 父子/子父传参
  18. WIFI理论速度计算
  19. 功率 db 和dbm 的区别
  20. arm开发板无法使用dns解析问题

热门文章

  1. wordcloud的常用函数
  2. The Java™ Tutorials下载地址
  3. C++实现类似QT中的计时器QTime类(CQTime)
  4. 【C语言】动手写一个哈希表
  5. 取消检验批过账(取消检验批UD判定到Rerel,再把非限性库存转到质检库存,然后就可以取101收货了)
  6. HashMap的尾部遍历问题--Tail Traversing
  7. steam怎么设置邮箱令牌_steam收不到邮箱令牌验证码怎么办 这些知识你不一定知道...
  8. 面向对象程序设计php,php面向对象的程序设计
  9. Python程序员看见一个好看的手机壁纸网站,开撸!
  10. 拖拽牛逼,轻松实现一个自由拖拽的组件