數(shù)據(jù)庫為原名稱為DB_BEIJING,需要修改成DB_SHANGHAI
創(chuàng)新互聯(lián)長期為1000多家客戶提供的網(wǎng)站建設服務,團隊從業(yè)經(jīng)驗10年,關注不同地域、不同群體,并針對不同對象提供差異化的產品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為六安企業(yè)提供專業(yè)的做網(wǎng)站、成都網(wǎng)站設計,六安網(wǎng)站改版等技術服務。擁有10年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。
nzperfect 2012.12.19*/
--判斷是否存在同名的數(shù)據(jù)庫,以防止誤刪除USE masterGOIF EXISTS (SELECT name FROM sys.databases WHERE name = N'DB_BEIJING')BEGINRAISERROR('請注意:數(shù)據(jù)庫已存在!',15,1)RETURN--DROP DATABASE DB_BEIJINGENDGOUSE masterGO--創(chuàng)建測試數(shù)庫
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 : 修改數(shù)據(jù)庫名稱USE masterGOALTER DATABASE DB_BEIJING SET SINGLE_USER WITH ROLLBACK IMMEDIATEGOEXEC master..sp_renamedb 'DB_BEIJING','DB_SHANGHAI'GOALTER DATABASE DB_SHANGHAI SET MULTI_USERGO
--step 2 : 查看修改名稱后的數(shù)據(jù)庫邏輯名及物理文件名USE masterGOSELECT 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ù)庫邏輯文件名稱USE masterGOALTER DATABASE DB_SHANGHAI SET SINGLE_USER WITH ROLLBACK IMMEDIATEGOALTER DATABASE DB_SHANGHAI MODIFY FILE (NAME=N'DB_BEIJING', NEWNAME=N'DB_SHANGHAI')GOALTER DATABASE DB_SHANGHAI MODIFY FILE (NAME=N'DB_BEIJING_log', NEWNAME=N'DB_SHANGHAI_log')GOALTER DATABASE DB_SHANGHAI SET MULTI_USERGO
--step 4 : 修改數(shù)據(jù)庫物理文件名稱之前先打開xp_cmdshell支持USE masterGOsp_configure 'show advanced options',1GORECONFIGURE WITH OVERRIDEGOsp_configure 'xp_cmdshell', 1GORECONFIGURE WITH OVERRIDEGO
--step 5 : 重命名數(shù)據(jù)庫物理文件名稱
USE [master]GOALTER DATABASE DB_SHANGHAI SET OFFLINE WITH ROLLBACK IMMEDIATEGOEXEC xp_cmdshell 'RENAME X:\DATA\DB_BEIJING.mdf, DB_SHANGHAI.mdf'GOEXEC xp_cmdshell 'RENAME W:\Log\DB_BEIJING_log.ldf, DB_SHANGHAI_log.ldf'GO
--step 6 : 將數(shù)據(jù)庫邏輯名稱指向新的物理文件,并將數(shù)據(jù)庫online
USE [master]GOALTER DATABASE DB_SHANGHAI MODIFY FILE (NAME =DB_SHANGHAI, FILENAME = 'X:\DATA\DB_SHANGHAI.mdf')GOALTER DATABASE DB_SHANGHAI MODIFY FILE (NAME =DB_SHANGHAI_log, FILENAME = 'W:\LOG\DB_SHANGHAI_log.ldf')GOALTER DATABASE DB_SHANGHAI SET ONLINE
--step 7 : 查看全部修改完成后的數(shù)據(jù)庫情況USE masterGOSELECT 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
企業(yè)管理器中沒有改數(shù)據(jù)庫名的功能,如果一定要用企業(yè)管理器來實現(xiàn),你可以備份數(shù)據(jù)庫,然后還原,在還原時候可以指定另一個庫名,然后再刪除舊庫就行了。
這里以
SQLServer
20000
為例,舊數(shù)據(jù)庫名字為
Admin10000,
新數(shù)據(jù)庫名字為
jb51.net。
第一步、備份數(shù)據(jù)庫
打開企業(yè)管理器
--
右鍵一個數(shù)據(jù)庫
--
所有任務
--
備份數(shù)據(jù)庫
--
目的--備份到中選擇添加
--
輸入一個備份的文件名(注意,如果原來有文件名,要刪除它)
--
確定
第二步、還原數(shù)據(jù)庫,并指定一個新庫名,并且修改物理文件名。
企業(yè)管理器--右鍵
"數(shù)據(jù)庫
"--所有任務--還原數(shù)據(jù)庫
--
"還原為數(shù)據(jù)庫庫"
中輸入還原后的數(shù)據(jù)庫名
jb51.net
--
還原選擇
"從設備
"--選擇設備--添加--添加你的備份文件--確定,回到數(shù)據(jù)庫還原的界面
--
備份號--選擇內容--選擇你要恢復那次備份的內容
--
選項--將
"移至物理文件名
"中的物理文件名修改為你的數(shù)據(jù)文件要存放的文件名,這里修改為
jb51.net_Data.MDF(數(shù)據(jù)庫文件)
和
jb51.net_Log.LDF(日志文件)
--
如果要還原的數(shù)據(jù)庫已經(jīng)存在,選擇
"在現(xiàn)有數(shù)據(jù)庫上強制還原
"
--
確定
第三步、修改邏輯文件名
如果想修改邏輯文件名,可以查詢分析器里輸入
alter
database
[jb51.net]
modify
file
(
name='Admin10000_Data',
newname='jb51.net_Data')
alter
database
[jb51.net]
modify
file
(
name='Admin10000_log',
newname='jb51.net_log')
第四步、最后刪除舊的數(shù)據(jù)庫 jb51
1、獲得所有數(shù)據(jù)庫名
選擇master數(shù)據(jù)庫,查詢表sysdatabases;
2、獲得所有數(shù)據(jù)表名
選擇你要查詢的數(shù)據(jù)庫,查詢表sysobjects,并且xtype為'U';
3、獲得所有字段名和字段類型
選擇你要查詢的數(shù)據(jù)庫,查詢表syscolumns,語句如下:
select
b.name,?a.name,?c.name
from?syscolumns?a
inner?join?sysobjects?b?on?a.id?=?b.id
inner?join?systypes?c?on?a.xtype?=?c.xtype