/*
该脚本示例如何完整的修改一个数据库的名称.
数据库为原名称为DB_BEIJING,需要修改成DB_SHANGHAI
nzperfect 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-------------------------
--摘抄自:http://www.cnblogs.com/nzperfect/archive/2012/12/19/2825298.html

转载于:https://www.cnblogs.com/TeyGao/p/3524348.html

曲苑杂坛--修改数据库名和文件组名相关推荐

  1. 曲苑杂坛--收缩数据库文件

    很多人在删除大量数据后收缩数据库,却发现没法收缩到预期效果. 由于使用DBCC SHRINKFILE来收缩数据文件时,是针对数据区来收缩,因此可以先使用DBCC SHOWFILESTATS来查看文件中 ...

  2. 【c苑杂坛之小游戏系列】 三子棋游戏

    [c苑杂坛之边学边玩] 三子棋游戏带你初识C语言 1.游戏说明 2.效果展示 3.游戏代码 1.游戏说明 三子棋游戏相信大家都知道,在这里不去讲述游戏背景,对本代码实现的三子棋游戏进行一定的说明. 博 ...

  3. python数据库操作批量sql执行_利用Python如何批量修改数据库执行Sql文件

    利用Python如何批量修改数据库执行Sql文件 来源:中文源码网    浏览: 次    日期:2018年9月2日 [下载文档:  利用Python如何批量修改数据库执行Sql文件.txt ] (友 ...

  4. 在 Mac 上如何更改用户全名/账户名/个人文件夹名/电脑名?

    很多人在使用 Mac 的时候都会有更改用户全名/账户名/电脑名称的需求,但又不知道如何更改.本文就教教大家如何更改这些名称. 目录 区分 用户全名 账户名称 个人文件夹名 电脑名 内容及风险程度 如何 ...

  5. SQL Server 数据库中添加文件组和数据文件

    SQL Server 现有数据库中添加文件组和数据文件use CURRENT_DB --进入当前操作数据库 go alter database CURRENT_DB add filegroup FG1 ...

  6. 修改数据库的名字和表名

    1 #mysql数据库改名,官方没有直接修改数据库名称的命令 2 #只有通过修改表名方式实现 3 4 source /etc/profile #加载系统环境变量 5 source ~/.bash_pr ...

  7. 使用Python批量修改数据库执行Sql文件

    由于上篇文章中批量修改了文件,有的时候数据库也需要批量修改一下,之前的做法是使用宝塔的phpMyAdmin导出一个已经修改好了的sql文件,然后依次去其他数据库里导入,效率不说极低,也算低了,且都是些 ...

  8. python数据库操作批量sql执行_使用Python批量修改数据库执行Sql文件

    由于上篇文章中批量修改了文件,有的时候数据库也需要批量修改一下,之前的做法是使用宝塔的phpMyAdmin导出一个已经修改好了的sql文件,然后依次去其他数据库里导入,效率不说极低,也算低了,且都是些 ...

  9. linux修改用户名、密码、组名等详细步骤

    1.修改root密码 sudo passwd root2.修改用户密码(如abc) sudo passwd abc3.修改主机名: sudo vim /etc/hostname 将旧主机名 改为 新主 ...

最新文章

  1. iOS已发布应用中对异常信息捕获和处理
  2. yolov4论文_YOLOv4论文详细解读
  3. 【STL源码学习】std::list类的类型别名分析
  4. mro python_Python新式类的方法解析顺序MRO与Super
  5. 搜狐超越新浪给创业者的两个启示:不断+耐心布局
  6. 【Codeforces Round #452 (Div. 2) B】Months and Years
  7. 剖析Disruptor:为什么会这么快?(一)Ringbuffer的特别之处
  8. delphi 2010 mysql_Delphi 2010和MySQL
  9. 计算机模拟题操作题错误,计算机模拟试卷操作题答案.doc
  10. poi操作Excel给列设置下拉菜单(数据验证)
  11. centOS7下安装配置nagios
  12. 我看三十而立的80后
  13. FL Studio 蜕变发展史及FL Studio21如何带你进入AI编曲时代
  14. Big O, Big Omega, Big Theta的含义
  15. Windows安装mysql及图形化界面navicat
  16. 响应式扩展_响应式和无限扩展的JS动画
  17. Data Analysis - Day9 - Numpy Functions
  18. ArcGIS快速加载在线地图
  19. Python生成圣诞树
  20. 全栈工程师需要具备哪些技能

热门文章

  1. IOS-状态栏的简单操作
  2. $(document).ready() 和 window.onload 方法比较
  3. ActionScript 3.0入门:Hello World、文件读写、数据存储(SharedObject)、与JS互调
  4. python a and b_python-尽管Numpy建议a.b,为什么a.dot(b)比a @ b更...
  5. java实体类转map_十五道经典面试题-JAVA基础篇
  6. matlab global(全局变量)
  7. Python 学习笔记 多进程 multiprocessing
  8. java 在线编辑器_最好的Markdown开源在线编辑器,没有之一!
  9. java 中的override overload 比较
  10. AUTOSAR从入门到精通100讲(四十一)-动态架构设计中的时序图