曲苑杂坛--修改数据库名和文件组名
生活随笔
收集整理的這篇文章主要介紹了
曲苑杂坛--修改数据库名和文件组名
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
/*
該腳本示例如何完整的修改一個(gè)數(shù)據(jù)庫(kù)的名稱.
數(shù)據(jù)庫(kù)為原名稱為DB_BEIJING,需要修改成DB_SHANGHAI
nzperfect 2012.12.19
*/--判斷是否存在同名的數(shù)據(jù)庫(kù),以防止誤刪除
USE master
GO
IF EXISTS (SELECT name FROM sys.databases WHERE name = N'DB_BEIJING')
BEGINRAISERROR('請(qǐng)注意:數(shù)據(jù)庫(kù)已存在!',15,1)RETURN--DROP DATABASE DB_BEIJING
END
GOUSE master
GO
--創(chuàng)建測(cè)試數(shù)庫(kù)
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--以下為修改過(guò)程--step 1 : 修改數(shù)據(jù)庫(kù)名稱
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 : 查看修改名稱后的數(shù)據(jù)庫(kù)邏輯名及物理文件名
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 : 修改數(shù)據(jù)庫(kù)邏輯文件名稱
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 : 修改數(shù)據(jù)庫(kù)物理文件名稱之前先打開(kāi)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 : 重命名數(shù)據(jù)庫(kù)物理文件名稱
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 : 將數(shù)據(jù)庫(kù)邏輯名稱指向新的物理文件,并將數(shù)據(jù)庫(kù)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 : 查看全部修改完成后的數(shù)據(jù)庫(kù)情況
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 : 關(guān)閉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
?
轉(zhuǎn)載于:https://www.cnblogs.com/TeyGao/p/3524348.html
總結(jié)
以上是生活随笔為你收集整理的曲苑杂坛--修改数据库名和文件组名的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 试管婴儿的弊端?
- 下一篇: 工作经常使用的SQL整理,实战篇(一)