曲苑杂坛--修改数据库名和文件组名
生活随笔
收集整理的這篇文章主要介紹了
曲苑杂坛--修改数据库名和文件组名
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
/*
該腳本示例如何完整的修改一個數據庫的名稱.
數據庫為原名稱為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
總結
以上是生活随笔為你收集整理的曲苑杂坛--修改数据库名和文件组名的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 试管婴儿的弊端?
- 下一篇: 工作经常使用的SQL整理,实战篇(一)